This commit is contained in:
2026-09-15 16:02:45 +08:00
parent 112c5f8e46
commit ade2453083
70 changed files with 1441 additions and 707 deletions
-23
View File
@@ -22,15 +22,6 @@ end
return v
`)
// notificationUnreadDecrScript 未读数 -1,保证结果不低于 0
var notificationUnreadDecrScript = redis.NewScript(`
local v = redis.call('GET', KEYS[1])
if v and tonumber(v) > 0 then
return redis.call('DECRBY', KEYS[1], 1)
end
return 0
`)
// NotificationUnreadIncr 用户未读消息数 +1,返回最新值
func NotificationUnreadIncr(ctx context.Context, userID int64) (int64, error) {
ctx, span := global.Tracer.Start(ctx, "redisdao.NotificationUnreadIncr")
@@ -45,20 +36,6 @@ func NotificationUnreadIncr(ctx context.Context, userID int64) (int64, error) {
return val, nil
}
// NotificationUnreadDecr 用户未读消息数 -1,返回扣减后的值(不低于 0)
func NotificationUnreadDecr(ctx context.Context, userID int64) (int64, error) {
ctx, span := global.Tracer.Start(ctx, "redisdao.NotificationUnreadDecr")
defer span.End()
key := fmt.Sprintf(redismodel.KeyNotificationUnread, userID)
val, err := notificationUnreadDecrScript.Run(ctx, global.RedisEngine, []string{key}).Int64()
if err != nil {
span.RecordError(err)
return 0, err
}
return val, nil
}
// NotificationUnreadGet 获取用户未读消息数,不存在时返回 0
func NotificationUnreadGet(ctx context.Context, userID int64) (int64, error) {
ctx, span := global.Tracer.Start(ctx, "redisdao.NotificationUnreadGet")