Skip to content

Commit 072280f

Browse files
committed
♻️ refactor: updated codebase #6 #8
1 parent b147590 commit 072280f

File tree

3 files changed

+17
-8
lines changed

3 files changed

+17
-8
lines changed

example/redisconn_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,8 @@ func TestPublish(t *testing.T) {
8080

8181
func TestConsume(t *testing.T) {
8282
r, _ := createConn()
83-
svc := redisconn.NewRedisPubSub(r.GetConn())
84-
subs, err := svc.Subscribe("channel_1")
83+
svc := redisconn.NewRedisService(r.GetConn())
84+
subs, err := svc.SyncPubSub().Subscribe("channel_1")
8585
if err != nil {
8686
logger.Errorf("Subscribing message on redis got an error", err)
8787
return
@@ -102,12 +102,12 @@ func TestConsume(t *testing.T) {
102102
}()
103103

104104
// Unsubscribe from multiple channels and close the connection
105-
err = svc.Unsubscribe("channel_1")
105+
err = svc.SyncPubSub().Unsubscribe("channel_1")
106106
if err != nil {
107107
logger.Errorf("Unsubscribing message on redis got an error", err)
108108
return
109109
}
110-
err = svc.Close()
110+
err = svc.SyncPubSub().Close()
111111
if err != nil {
112112
logger.Errorf("Closing message on redis got an error", err)
113113
return

redisconn_model.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ import (
99
)
1010

1111
type RedisPubSubClient struct {
12-
redisConn *redis.Client `json:"-"`
13-
subscriptionMap map[string]*redis.PubSub `json:"-"`
12+
redisConn *redis.Client
13+
subscriptionMap map[string]*redis.PubSub
1414
}
1515

1616
type RedisMutex struct {

redisconn_service.go

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,21 +21,26 @@ type RedisService interface {
2121
Lock(key string, value interface{}, expiration time.Duration) error
2222
Unlock(key string, value interface{}) error
2323
Handler() *redis.Client
24+
25+
// sync pubsub hook
26+
SyncPubSub() RedisPubSubService
2427
}
2528

2629
type redisServiceImpl struct {
2730
redisConn *redis.Client
2831
mutex *RedisMutex
32+
pubsub RedisPubSubService
2933
}
3034

31-
func NewRedisMutex() *RedisMutex {
35+
func newRedisMutex() *RedisMutex {
3236
return &RedisMutex{make(map[string]*sync.Mutex)}
3337
}
3438

3539
func NewRedisService(redisConn *redis.Client) RedisService {
3640
s := &redisServiceImpl{
3741
redisConn: redisConn,
38-
mutex: NewRedisMutex(),
42+
mutex: newRedisMutex(),
43+
pubsub: NewRedisPubSub(redisConn),
3944
}
4045
return s
4146
}
@@ -212,3 +217,7 @@ func (r *redisServiceImpl) Unlock(key string, value interface{}) error {
212217
func (r *redisServiceImpl) Handler() *redis.Client {
213218
return r.redisConn
214219
}
220+
221+
func (r *redisServiceImpl) SyncPubSub() RedisPubSubService {
222+
return r.pubsub
223+
}

0 commit comments

Comments
 (0)