lua脚本

eval

EVAL script numkeys key [key ...] arg [arg ...]
  script:lua脚本字符串,这段Lua脚本不需要(也不应该)定义函数。
  numkeys:lua脚本中【KEYS数组】的大小
  key [key ...]:KEYS数组中的元素
  arg [arg ...]:ARGV数组中的元素
EVAL "return {KEYS[1],KEYS[2],ARGV[1],ARGV[2]}" 5 8 10 30 40 50 60 70 
-- 输出:8 10 60 70
-- if...then...else...end

EVAL "if KEYS[1] > ARGV[1] then return 1 else return 0 end" 1 10 20
-- 输出:0

EVAL "if KEYS[1] > ARGV[1] then return 1 else return 0 end" 1 20 10
-- 输出:1

执行 redis类库 方法

EVAL "return redis.call('set',KEYS[1],ARGV[1])" 1 name 'xz'

EVAL "return redis.call('get',KEYS[1])" 1 name
-- 输出:xz 
 EVAL "return redis.call('exists', KEYS[1])" 1 name
-- 输出:1 (存在)
 EVAL "return redis.call('exists', KEYS[1])" 1 name2
-- 输出:0 (不存在)

EVAL "if redis.call('exists', KEYS[1]) == 0  then return 'not exist' else return  'exist' end" 1 name
-- 输出:exist

EVAL "if redis.call('exists', KEYS[1]) == 0  then return 'not exist' else return  'exist' end" 1 name2
-- 输出:not exist
posted @ 2024-09-05 13:58  干饭达人GoodLucy  阅读(23)  评论(0编辑  收藏  举报