public static final String |
HASH_LIMIT |
"local key = KEYS[1]\nlocal field = KEYS[2]\nlocal limit = ARGV[1]\nlocal cur = redis.call(\'hget\', key, field)\nif cur then\n if tonumber(limit) <= tonumber(cur) then\n return 1\n end\nend\nredis.call(\'hincrBy\', key, field, 1)\nreturn -1\n" |
public static final String |
HSET_IF_EXIST |
"local key = KEYS[1]\nlocal field = KEYS[2]\nlocal newVal = ARGV[1]\nlocal oldVal = redis.call(\'hget\',key,field)\nif oldVal then\n redis.call(\'hset\',key,field,newVal)\n return 1\nelse\n return 0\nend\n" |
public static final String |
RPOP_BATCH |
"local key = KEYS[1]\nlocal maxnum = ARGV[1]\nlocal count = redis.call(\'llen\',key)\nif tonumber(count) == 0 then\n return nil\nend\nif tonumber(count) < tonumber(maxnum) then\n maxnum = tonumber(count)\nend\nlocal result = {}\nfor i = 1,tonumber(maxnum) do\n local val = redis.call(\'rpop\',key)\n if val == nil then\n return result\n else\n result[i] = val\n end\nend\nreturn result" |