Redis:设置一组元素的最大数量

时间:2016-01-12 08:28:56

标签: redis

在redis中,是否可以将一个元素的最大数量设置为一个集合,这样当一个人使用sadd时,redis服务器会阻止该集合拥有更多的元素?例如类似的东西:

127.0.0.1:6379> SETSIZE KEY 100

提前致谢。

1 个答案:

答案 0 :(得分:4)

不,使用常规命令是不可能的,但可以使用LUA脚本:

local size = redis.call('SCARD', KEYS[1]);
if size < tonumber(ARGV[1], 10) then 
    return redis.call('SADD', KEYS[1], ARGV[2]);
end  
return -1;