在 redis 中,是否可以为一个集合设置最大元素数,以便当使用 sadd
时,redis 服务器会阻止该集合拥有超过最大数量的元素?例如像这样的东西:
127.0.0.1:6379> SETSIZE KEY 100
提前致谢。
最佳答案
不,使用普通命令是不可能的,但使用 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;
关于Redis:设置集合的最大元素数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34738765/