Explorar o código

修复Redis hash结构数字自增/减返回值异常问题

woody hai 8 meses
pai
achega
098223d8d0

+ 4 - 3
framework-redis/src/main/java/com/chelvc/framework/redis/context/RedisHashHolder.java

@@ -34,9 +34,10 @@ public final class RedisHashHolder {
     /**
      * Redis带过期时间HINCRBY脚本
      */
-    private static final String HINCRBY_DURATION_SCRIPT = "if redis.call('HINCRBY', KEYS[1], ARGV[1], ARGV[2]) then " +
-            "if redis.call('TTL', KEYS[1]) < tonumber(ARGV[3]) then redis.call('EXPIRE', KEYS[1], ARGV[3]) end " +
-            "return 1 end return 0";
+    private static final String HINCRBY_DURATION_SCRIPT =
+            "local value = redis.call('HINCRBY', KEYS[1], ARGV[1], ARGV[2]) " +
+                    "if redis.call('TTL', KEYS[1]) < tonumber(ARGV[3]) then " +
+                    "redis.call('EXPIRE', KEYS[1], ARGV[3]) end return value";
 
     /**
      * Redis带过期时间HMSET脚本SHA