我将为此功能使用lua脚本。
接受一个键(列表名称),两个参数
new_element_name和的LUA
max_size。返回值可以是返回值,也可以是列表已满时的
LPUSH值
-1。
这是执行此操作的脚本:
if tonumber(ARGV[2]) > redis.call('LLEN', KEYS[1]) then return redis.call('LPUSH', KEYS[1], ARGV[1]) end return -1您应该使用script LOAD加载一次:
cat blpush.lua | redis-cli -x script load
并与evalSHA一起使用
evalsha 96d1fb35d6173758facda9dbc108296fd4a1512d 1 <myList> <new_element_name> <max_size>



