【发布时间】:2016-01-12 08:28:56
【问题描述】:
在 redis 中,是否可以将最大数量的元素设置为一个集合,因此当使用 sadd 时,redis 服务器会阻止该集合包含超过最大数量的元素?例如类似:
127.0.0.1:6379> SETSIZE KEY 100
提前致谢。
【问题讨论】:
标签: redis
在 redis 中,是否可以将最大数量的元素设置为一个集合,因此当使用 sadd 时,redis 服务器会阻止该集合包含超过最大数量的元素?例如类似:
127.0.0.1:6379> SETSIZE KEY 100
提前致谢。
【问题讨论】:
标签: redis
不,通常的命令无法实现,但 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;
【讨论】: