收集
- zset的插入过程:https://mp.weixin.qq.com/s/l4-JHioxOWSrreo577s2fA
-
疑问
redlock,每个实例使用相同的key和value进行申请。但是集群不是分片的吗,固定的key计算之后会被重定向到同一个节点上的固定分片吧?
为什么数据类型存在两种底层数据结构
在数据量少的时候,通常使用压缩列表,可以利用数组下标索引快速查找,同时节省空间。
当数据量大的时候,使用特定的数据结构进行优化数据淘汰策略如何选择
allkeys-lru:如果我们的应用对缓存的访问符合幂律分布,也就是存在相对热点数据,或者我们不太清楚我们应用的缓存访问分布状况,我们可以选择allkeys-lru策略。
allkeys-random:如果我们的应用对于缓存key的访问概率相等,则可以使用这个策略。
volatile-ttl:这种策略使得我们可以向Redis提示哪些key更适合被eviction。
另外,volatile-lru策略和volatile-random策略适合我们将一个Redis实例既应用于缓存和又应用于持久化存储的时候,然而我们也可以通过使用两个Redis实例来达到相同的效果,值得一提的是将key设置过期时间实际上会消耗更多的内存,因此我们建议使用allkeys-lru策略从而更有效率的使用内存。
