Redis:设置集合的最大元素数

标签 redis

在 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/

相关文章:

amazon-web-services - 我们需要在 IAM 用户策略中允许哪些操作才能在 Elasticache 上执行 Get/Set 操作?

spring - spring boot - redis键分隔符

ruby-on-rails - Rails 缓存不返回对象,而是字符串

node.js - ioredis-Node JS中的Ping命令

django - ResponseError 'zunionstore' 命令的参数数量错误

hibernate - Redis作为Hibernate二级缓存

redis - 是否可以使用 'restore' 命令来恢复 rdb 文件?

amazon-web-services - 使用 RedissonClient 在 AWS redis 中缓存 java POJO

c# - 在 Azure VM 中使用 Booksleeve Redis 客户端时出现 Redis 连接错误

ruby-on-rails - 使用 Redis 和 Unicorn 连接池的好处