redis pubsub 채널 이름에 디비 인덱스 추가

This commit is contained in:
2023-07-18 17:38:04 +09:00
parent 8df248fa54
commit d724cc84fa
3 changed files with 6 additions and 3 deletions

View File

@ -30,7 +30,7 @@ type Authinfo struct {
}
const (
sessionSyncChannelName = "session-sync-channel2"
sessionSyncChannelNamePrefix = "session-sync-channel2"
)
type AuthinfoCell interface {
@ -99,6 +99,8 @@ func (ac *redisAuthCell) ToBytes() []byte {
func newAuthCollectionWithRedis(redisClient *redis.Client, subctx context.Context, maingateURL string, apiToken string) *AuthCollection {
sessionTTL := int64(3600)
ac := MakeAuthCollection(time.Duration(sessionTTL * int64(time.Second)))
sessionSyncChannelName := fmt.Sprintf("%s-%d", sessionSyncChannelNamePrefix, redisClient.Options().DB)
pubsub := redisClient.Subscribe(subctx, sessionSyncChannelName)
ctx, cancel := context.WithCancel(context.TODO())
go func(ctx context.Context, sub *redis.PubSub, authCache *AuthCollection) {

View File

@ -68,6 +68,7 @@ func Start(ctx context.Context, redisClient *redis.Client) {
hash.Write([]byte(inName))
}
}
hash.Write([]byte(fmt.Sprintf("%d", redisClient.Options().DB)))
}
pubsubName := hex.EncodeToString(hash.Sum(nil))[:16]

View File

@ -177,8 +177,8 @@ func NewWebsocketHandler() (*WebsocketHandler, error) {
}()
sh := &subhandler{
redisMsgChanName: fmt.Sprintf("_wsh_msg_%s", region),
redisCmdChanName: fmt.Sprintf("_wsh_cmd_%s", region),
redisMsgChanName: fmt.Sprintf("_wsh_msg_%s_%d", region, redisSync.Options().DB),
redisCmdChanName: fmt.Sprintf("_wsh_cmd_%s_%d", region, redisSync.Options().DB),
redisSync: redisSync,
connInOutChan: make(chan *wsconn),
deliveryChan: make(chan any, 1000),