hincrby_multiple.lua 640 B

123456789101112131415161718192021222324252627282930313233
  1. --- redis一次性HINCRBY多个字段
  2. local key = KEYS[1]
  3. local jsonData = ARGV[1]
  4. local fields = cjson.decode(jsonData)
  5. local result = {}
  6. result['error'] = 0
  7. result['errorMsg'] = ''
  8. local currIndex = 1
  9. local nums = {}
  10. for k, v in pairs(fields) do
  11. local numKey = v['numKey']
  12. local numField = v['numField']
  13. local incrNum = v['incrNum']
  14. local afterNum = redis.call("HINCRBY", numKey, numField, incrNum)
  15. nums[currIndex] = {}
  16. nums[currIndex]['numField'] = numField
  17. nums[currIndex]['afterNum'] = afterNum
  18. currIndex = currIndex + 1
  19. end
  20. result['numList'] = nums
  21. local re = cjson.encode(result);
  22. return re