答:Sorted Set 的每个成员有一个分数,成员唯一,按分数排序。分数相同时按成员的字节序区分,同一成员可更新分数。
答:MULTI 后命令先排队,EXEC 时顺序执行,执行期间其他客户端命令不会插入。事务不会像关系库一样把已经执行的命令统一回滚。
答:用 WATCH 盯住要参与判断的键,读出当前值,再 MULTI 排队写命令,最后 EXEC。DISCARD 放弃已排队命令,UNWATCH 取消监视。
答:Jedis 提供贴近 Redis 命令的 Java API,适合常规读写、管道与事务。Redisson 提供分布式对象和锁等较高层的抽象,可减少自定义协调代码。
答:先看键值实际大小、结构编码、TTL、重复数据和内存组成。缩短不必要的键,限制超大集合,给可重建数据设合理过期时间。
答:键到期会被过期机制处理,超过内存限制时可能触发淘汰。客户端也可删除键。实际释放对象内存是否延后,受命令及 lazyfree 等设置影响。
答:达到 maxmemory 后,服务器根据策略淘汰候选键,或在无法淘汰时拒绝会增加内存的写命令。能读到什么仍由现存数据和命令决定。
答:Redis 官方 FAQ 提到单实例最多可处理约 2³² 个键。实际容量通常先受内存、键值结构、负载、持久化与恢复时长约束。
答:Redis 7.4 有八种。noeviction,allkeys-lru、allkeys-lfu、allkeys-random,以及 volatile-lru、volatile-lfu、volatile-random、volatile-ttl。Redis 8.6 增加按最近修改时间淘汰的 allkeys-lrm 和 volatile-lrm。
答:集群把键映射到 16384 个槽,主节点拥有一部分槽。客户端按槽路由,副本接收主节点复制数据,符合条件时可接管槽。