Просмотр исходного кода

🔧 fix(redis): only set expiration if greater than 0 in RedisHSetObj

RedwindA 8 месяцев назад
Родитель
Сommit
a7d87475af
1 измененных файлов с 5 добавлено и 1 удалено
  1. 5 1
      common/redis.go

+ 5 - 1
common/redis.go

@@ -141,7 +141,11 @@ func RedisHSetObj(key string, obj interface{}, expiration time.Duration) error {
 
 	txn := RDB.TxPipeline()
 	txn.HSet(ctx, key, data)
-	txn.Expire(ctx, key, expiration)
+
+	// 只有在 expiration 大于 0 时才设置过期时间
+	if expiration > 0 {
+		txn.Expire(ctx, key, expiration)
+	}
 
 	_, err := txn.Exec(ctx)
 	if err != nil {