diff --git a/handler/im.go b/handler/im.go index 11ef926..9398d4e 100644 --- a/handler/im.go +++ b/handler/im.go @@ -169,7 +169,7 @@ func SRMessage(c *gin.Context) { } if msg.Type == "msg" { // 将消息发送到指定用户 - worker.PushRedisList(session+"_"+to_user_id, msg.Msg) //将消息存入redis + worker.PushRedisListWithExpire(session+"_"+to_user_id, msg.Msg, time.Hour*1) //将消息存入redis } } }(ws, res, to_user_id) diff --git a/worker/redis.go b/worker/redis.go index f4e72e9..a05fc21 100644 --- a/worker/redis.go +++ b/worker/redis.go @@ -195,6 +195,21 @@ func PushRedisList(key string, value string) bool { return true } +func PushRedisListWithExpire(key string, value string, expire time.Duration) bool { + ctx := context.Background() + err := redisClient.RPush(ctx, key, value).Err() + if err != nil { + fmt.Println("Error setting key: %v", err) + return false + } + err = redisClient.Expire(ctx, key, expire).Err() + if err != nil { + fmt.Println("Error setting key: %v", err) + return false + } + return true +} + // delete redis key func delRedis(key string) { ctx := context.Background()