Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
H
hilo-socketCenter
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
hujiebin
hilo-socketCenter
Commits
1f06749b
Commit
1f06749b
authored
Sep 02, 2023
by
JiebinHu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
redis cluster
parent
b4f77b8a
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
27 additions
and
100 deletions
+27
-100
config.go
common/config/config.go
+4
-2
mysql.go
common/mysql/mysql.go
+1
-1
redis.go
common/redisCli/redis.go
+10
-35
util.go
common/redisCli/util.go
+0
-56
debug.ini
debug.ini
+2
-0
local.ini
local.ini
+2
-0
main.go
main.go
+6
-6
release.ini
release.ini
+2
-0
No files found.
common/config/config.go
View file @
1f06749b
...
@@ -28,6 +28,8 @@ type MysqlCodeConfig struct {
...
@@ -28,6 +28,8 @@ type MysqlCodeConfig struct {
type
RedisConfig
struct
{
type
RedisConfig
struct
{
REDIS_HOST
string
REDIS_HOST
string
REDIS_PASSWORD
string
REDIS_PASSWORD
string
REDIS_CLUSTER_HOST
string
REDIS_CLUSTER_PASSWORD
string
}
}
//jwt
//jwt
...
...
common/mysql/mysql.go
View file @
1f06749b
...
@@ -23,7 +23,7 @@ func init() {
...
@@ -23,7 +23,7 @@ func init() {
options
:=
"?charset=utf8mb4&parseTime=True&loc=Local&time_zone="
+
url
.
QueryEscape
(
"'+8:00'"
)
options
:=
"?charset=utf8mb4&parseTime=True&loc=Local&time_zone="
+
url
.
QueryEscape
(
"'+8:00'"
)
dsn
:=
""
+
mysqlConfigData
.
MYSQL_USERNAME
+
":"
+
mysqlConfigData
.
MYSQL_PASSWORD
+
"@("
+
mysqlConfigData
.
MYSQL_HOST
+
")/"
+
mysqlConfigData
.
MYSQL_DB
+
options
dsn
:=
""
+
mysqlConfigData
.
MYSQL_USERNAME
+
":"
+
mysqlConfigData
.
MYSQL_PASSWORD
+
"@("
+
mysqlConfigData
.
MYSQL_HOST
+
")/"
+
mysqlConfigData
.
MYSQL_DB
+
options
sqlLogger
:=
logger
.
Default
.
LogMode
(
logger
.
Info
)
sqlLogger
:=
logger
.
Default
.
LogMode
(
logger
.
Error
)
// 这个服务不需要
if
file
:=
mylogrus
.
GetSqlLog
();
file
!=
nil
{
if
file
:=
mylogrus
.
GetSqlLog
();
file
!=
nil
{
//sqlLogger = logger.New(log.New(file, "\r\n", log.Ldate|log.Lmicroseconds), logger.Config{
//sqlLogger = logger.New(log.New(file, "\r\n", log.Ldate|log.Lmicroseconds), logger.Config{
sqlLogger
=
MyNew
(
log
.
New
(
file
,
""
,
log
.
Ldate
|
log
.
Lmicroseconds
),
logger
.
Config
{
sqlLogger
=
MyNew
(
log
.
New
(
file
,
""
,
log
.
Ldate
|
log
.
Lmicroseconds
),
logger
.
Config
{
...
...
common/redisCli/redis.go
View file @
1f06749b
...
@@ -8,52 +8,27 @@ import (
...
@@ -8,52 +8,27 @@ import (
"log"
"log"
)
)
var
RedisClient
*
redis
.
Client
var
RedisCluster
*
redis
.
Client
var
RedisClient1
*
redis
.
Client
func
init
()
{
func
init
()
{
RedisCl
ient
=
redis
.
NewClient
(
&
redis
.
Options
{
RedisCl
uster
=
redis
.
NewClient
(
&
redis
.
Options
{
Addr
:
config
.
GetConfigRedis
()
.
REDIS_HOST
,
Addr
:
config
.
GetConfigRedis
()
.
REDIS_
CLUSTER_
HOST
,
Password
:
config
.
GetConfigRedis
()
.
REDIS_PASSWORD
,
// no password set
Password
:
config
.
GetConfigRedis
()
.
REDIS_
CLUSTER_
PASSWORD
,
// no password set
DB
:
0
,
// use default DB
DB
:
0
,
// use default DB
PoolSize
:
2000
,
MinIdleConns
:
200
,
})
mylogrus
.
MyLog
.
Infoln
(
config
.
GetConfigRedis
()
.
REDIS_HOST
)
mylogrus
.
MyLog
.
Infoln
(
config
.
GetConfigRedis
()
.
REDIS_PASSWORD
)
pong
,
err
:=
RedisClient
.
Ping
(
context
.
Background
())
.
Result
()
if
err
!=
nil
{
mylogrus
.
MyLog
.
Warn
(
err
)
mylogrus
.
MyLog
.
Fatal
(
"redis db0 connect fail"
)
}
else
{
mylogrus
.
MyLog
.
Info
(
"redis db0 connection success - "
,
pong
)
}
RedisClient1
=
redis
.
NewClient
(
&
redis
.
Options
{
Addr
:
config
.
GetConfigRedis
()
.
REDIS_HOST
,
Password
:
config
.
GetConfigRedis
()
.
REDIS_PASSWORD
,
// no password set
DB
:
1
,
// use default DB
PoolSize
:
200
,
PoolSize
:
200
,
MinIdleConns
:
20
,
MinIdleConns
:
20
,
})
})
mylogrus
.
MyLog
.
Infoln
(
config
.
GetConfigRedis
()
.
REDIS_HOST
)
pong
,
err
:=
RedisCluster
.
Ping
(
context
.
Background
())
.
Result
()
mylogrus
.
MyLog
.
Infoln
(
config
.
GetConfigRedis
()
.
REDIS_PASSWORD
)
pong
,
err
=
RedisClient1
.
Ping
(
context
.
Background
())
.
Result
()
if
err
!=
nil
{
if
err
!=
nil
{
mylogrus
.
MyLog
.
Warn
(
err
)
mylogrus
.
MyLog
.
Warn
(
err
)
mylogrus
.
MyLog
.
Fatal
(
"redis db
1
connect fail"
)
mylogrus
.
MyLog
.
Fatal
(
"redis db
0
connect fail"
)
}
else
{
}
else
{
log
.
Println
(
"redis db
1
connection success - "
+
pong
)
log
.
Println
(
"redis db
0
connection success - "
+
pong
)
}
}
// log hook
// log hook
//RedisClient.AddHook(redisHook{})
//RedisClient.AddHook(redisHook{})
}
}
func
GetRedis
()
*
redis
.
Client
{
func
GetRedisCluster
()
*
redis
.
Client
{
return
RedisClient
return
RedisCluster
}
func
GetRedis1
()
*
redis
.
Client
{
return
RedisClient1
}
}
common/redisCli/util.go
deleted
100644 → 0
View file @
b4f77b8a
package
redisCli
import
(
"context"
"hilo-socketCenter/common/mylogrus"
"strconv"
"time"
)
//这个用户避免多个服务器并发问题。
func
SetNX
(
key
string
,
value
interface
{},
expiration
time
.
Duration
,
callBack
func
())
{
flag
,
err
:=
RedisClient
.
SetNX
(
context
.
Background
(),
key
,
value
,
expiration
)
.
Result
()
if
err
!=
nil
{
mylogrus
.
MyLog
.
Errorf
(
"key:%v lock start setNx err: %v"
,
key
,
err
)
}
if
!
flag
{
mylogrus
.
MyLog
.
Infof
(
"key:%v lock setNx has lock"
,
key
)
return
}
mylogrus
.
MyLog
.
Infof
(
"key:%v lock setNx begin"
,
key
)
callBack
()
//执行结束之后,移除key
//RedisClient.Del(context.Background(), key)
mylogrus
.
MyLog
.
Infof
(
"key:%v lock setNx end"
,
key
)
}
//setNx没有,结束后,没有移除
/*func SetNxNoDel(key string, value interface{}, expiration time.Duration, callBack func()) {
flag, err := RedisClient.SetNX(context.Background(), key, value, expiration).Result()
if err != nil {
mylogrus.MyLog.Errorf("key:%v lock start setNx err: %v", key, err)
}
if !flag {
mylogrus.MyLog.Infof("key:%v lock setNx has lock", key)
return
}
mylogrus.MyLog.Infof("key:%v lock setNx begin", key)
callBack()
mylogrus.MyLog.Infof("key:%v lock setNx end", key)
}*/
func
ClearExpired
(
key
string
,
expireSec
int64
)
error
{
return
GetRedis
()
.
ZRemRangeByScore
(
context
.
Background
(),
key
,
"0"
,
strconv
.
FormatInt
(
time
.
Now
()
.
Unix
()
-
expireSec
,
10
))
.
Err
()
}
func
Lock
(
key
string
,
expiration
time
.
Duration
)
bool
{
flag
,
err
:=
RedisClient
.
SetNX
(
context
.
Background
(),
key
,
1
,
expiration
)
.
Result
()
if
err
!=
nil
{
return
false
}
if
!
flag
{
return
false
}
return
true
}
debug.ini
View file @
1f06749b
...
@@ -11,6 +11,8 @@ MYSQL_DB=hilo_code
...
@@ -11,6 +11,8 @@ MYSQL_DB=hilo_code
[REDIS]
[REDIS]
REDIS_HOST
=
47.244.34.27:6379
REDIS_HOST
=
47.244.34.27:6379
REDIS_PASSWORD
=
8QZ9JD1zLvPR3yHf
REDIS_PASSWORD
=
8QZ9JD1zLvPR3yHf
REDIS_CLUSTER_HOST
=
47.244.34.27:6379
REDIS_CLUSTER_PASSWORD
=
8QZ9JD1zLvPR3yHf
[JWT]
[JWT]
SECRET
=
hilo1632
SECRET
=
hilo1632
ISSUER_API
=
hiloApi
ISSUER_API
=
hiloApi
...
...
local.ini
View file @
1f06749b
...
@@ -11,6 +11,8 @@ MYSQL_DB=hilo_code
...
@@ -11,6 +11,8 @@ MYSQL_DB=hilo_code
[REDIS]
[REDIS]
REDIS_HOST
=
47.244.34.27:6379
REDIS_HOST
=
47.244.34.27:6379
REDIS_PASSWORD
=
8QZ9JD1zLvPR3yHf
REDIS_PASSWORD
=
8QZ9JD1zLvPR3yHf
REDIS_CLUSTER_HOST
=
47.244.34.27:6379
REDIS_CLUSTER_PASSWORD
=
8QZ9JD1zLvPR3yHf
[JWT]
[JWT]
SECRET
=
hilo1632
SECRET
=
hilo1632
ISSUER_API
=
hiloApi
ISSUER_API
=
hiloApi
...
...
main.go
View file @
1f06749b
...
@@ -112,7 +112,7 @@ func check() {
...
@@ -112,7 +112,7 @@ func check() {
for
{
for
{
select
{
select
{
case
<-
tick
.
C
:
case
<-
tick
.
C
:
l
,
err
:=
redisCli
.
GetRedis
()
.
LLen
(
context
.
Background
(),
SocketQueueSendGift
)
.
Result
()
l
,
err
:=
redisCli
.
GetRedis
Cluster
()
.
LLen
(
context
.
Background
(),
SocketQueueSendGift
)
.
Result
()
if
err
!=
nil
{
if
err
!=
nil
{
mylogrus
.
MyLog
.
Infof
(
"cron sendGiftChan msg error,left %v-%v"
,
l
,
err
)
mylogrus
.
MyLog
.
Infof
(
"cron sendGiftChan msg error,left %v-%v"
,
l
,
err
)
}
}
...
@@ -122,7 +122,7 @@ func check() {
...
@@ -122,7 +122,7 @@ func check() {
mylogrus
.
MyLog
.
Errorf
(
"dingding msg fail:%v"
,
sErr
)
mylogrus
.
MyLog
.
Errorf
(
"dingding msg fail:%v"
,
sErr
)
}
}
}()
}()
n
,
err
:=
redisCli
.
GetRedis
()
.
Del
(
context
.
Background
(),
SocketQueueSendGift
)
.
Result
()
n
,
err
:=
redisCli
.
GetRedis
Cluster
()
.
Del
(
context
.
Background
(),
SocketQueueSendGift
)
.
Result
()
mylogrus
.
MyLog
.
Infof
(
"del sendGiftChan msg queue:%v,n:%v,err:%v"
,
SocketQueueSendGift
,
n
,
err
)
mylogrus
.
MyLog
.
Infof
(
"del sendGiftChan msg queue:%v,n:%v,err:%v"
,
SocketQueueSendGift
,
n
,
err
)
}
}
if
l
>
0
{
if
l
>
0
{
...
@@ -136,7 +136,7 @@ func deal() {
...
@@ -136,7 +136,7 @@ func deal() {
for
true
{
for
true
{
//不需要加锁,注意,阻塞。
//不需要加锁,注意,阻塞。
// 后进先出
// 后进先出
strs
,
err
:=
redisCli
.
GetRedis
()
.
BRPop
(
context
.
Background
(),
time
.
Second
,
SocketQueueSendGift
)
.
Result
()
strs
,
err
:=
redisCli
.
GetRedis
Cluster
()
.
BRPop
(
context
.
Background
(),
time
.
Second
,
SocketQueueSendGift
)
.
Result
()
if
err
!=
nil
{
if
err
!=
nil
{
if
err
!=
redis
.
Nil
{
if
err
!=
redis
.
Nil
{
mylogrus
.
MyLog
.
Errorf
(
"cron sendGiftChan redisCli.GetRedis().BLPop err:+%v"
,
err
)
mylogrus
.
MyLog
.
Errorf
(
"cron sendGiftChan redisCli.GetRedis().BLPop err:+%v"
,
err
)
...
@@ -144,7 +144,7 @@ func deal() {
...
@@ -144,7 +144,7 @@ func deal() {
}
}
if
len
(
strs
)
>=
2
{
if
len
(
strs
)
>=
2
{
content
:=
strs
[
1
]
content
:=
strs
[
1
]
mylogrus
.
MyLog
.
Infof
(
"cron sendGiftChan content:%v"
,
content
)
//
mylogrus.MyLog.Infof("cron sendGiftChan content:%v", content)
msg
:=
new
(
SendGiftMsg
)
msg
:=
new
(
SendGiftMsg
)
if
err
:=
json
.
Unmarshal
([]
byte
(
content
),
msg
);
err
!=
nil
{
if
err
:=
json
.
Unmarshal
([]
byte
(
content
),
msg
);
err
!=
nil
{
mylogrus
.
MyLog
.
Errorf
(
"cron sendGiftChan Unmarshal err:%+v, content:%v"
,
err
,
content
)
mylogrus
.
MyLog
.
Errorf
(
"cron sendGiftChan Unmarshal err:%+v, content:%v"
,
err
,
content
)
...
@@ -179,7 +179,7 @@ func SendToUserCenter(sendUserId uint64, msg *userProxy.GlobalGiftBanner) {
...
@@ -179,7 +179,7 @@ func SendToUserCenter(sendUserId uint64, msg *userProxy.GlobalGiftBanner) {
if
err
!=
nil
{
if
err
!=
nil
{
mylogrus
.
MyLog
.
Errorf
(
"grpc GlobalGiftBanner send fail"
)
mylogrus
.
MyLog
.
Errorf
(
"grpc GlobalGiftBanner send fail"
)
}
else
{
}
else
{
mylogrus
.
MyLog
.
Info
(
"grpc GlobalGiftBanner send success"
)
//
mylogrus.MyLog.Info("grpc GlobalGiftBanner send success")
}
}
}
else
{
}
else
{
}
}
...
@@ -197,7 +197,7 @@ func broadcast(msgType uint32, data []byte) ([]uint64, error) {
...
@@ -197,7 +197,7 @@ func broadcast(msgType uint32, data []byte) ([]uint64, error) {
mylogrus
.
MyLog
.
Errorf
(
"broadcast message failed %s"
,
err
.
Error
())
mylogrus
.
MyLog
.
Errorf
(
"broadcast message failed %s"
,
err
.
Error
())
}
}
if
rsp
!=
nil
{
if
rsp
!=
nil
{
mylogrus
.
MyLog
.
Infof
(
"broadcast message res:%v"
,
rsp
)
//
mylogrus.MyLog.Infof("broadcast message res:%v", rsp)
return
rsp
.
FailedUids
,
err
return
rsp
.
FailedUids
,
err
}
else
{
}
else
{
return
[]
uint64
{},
err
return
[]
uint64
{},
err
...
...
release.ini
View file @
1f06749b
...
@@ -11,6 +11,8 @@ MYSQL_DB=hilo_code
...
@@ -11,6 +11,8 @@ MYSQL_DB=hilo_code
[REDIS]
[REDIS]
REDIS_HOST
=
r-eb3btxn8vfdsuwdbuf.redis.dubai.rds.aliyuncs.com:6379
REDIS_HOST
=
r-eb3btxn8vfdsuwdbuf.redis.dubai.rds.aliyuncs.com:6379
REDIS_PASSWORD
=
REDIS_PASSWORD
=
REDIS_CLUSTER_HOST
=
r-eb3yt6k8zgxs62kjjs.redis.dubai.rds.aliyuncs.com:6379
REDIS_CLUSTER_PASSWORD
=
[JWT]
[JWT]
SECRET
=
hilo1504
SECRET
=
hilo1504
ISSUER_API
=
hiloApi
ISSUER_API
=
hiloApi
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment