淘汰策略
对最外层的key进行淘汰
expire(秒)/pexpire(毫秒)
ttl
maxmemory:最大内存的一半(持久化fork()子进程) 数据迁移需要额外的空间
maxmemory-policy 提供淘汰机制 默认不会淘汰 lru 最近最少使用 lfu最近最少频次 voltaile 对由expire的进行淘汰
持久化:
fork:写时复制原理
aof顺序增加
no每次调用fflush刷到pagecach中
aof-rerwrite 用fork子进程 aof根据内存生成aof文件
大key 数据结构中的数据较多
主从复制:(解决单点故障问题)
实现高可用 同步和异步复制(最终是一致的 或者 半数一致)
全量 和 分量 同步 拉取环形缓冲区的偏移如果不在则需要全量同步
主数据库宕机(可用性):主从切换(以秒为单位)
哨兵模式:多个哨兵 监听主数据库的变更 缺点不能横向的扩展
redis cluster 集群:
动态扩展:
分布式hash:解决分布式缓存中的扩容问题 hash(key)%n 固定算法 解决缓存失效 将取余的数固定 2^32 改变映射关系 查找节点的映射关系 将节点地址hash到圆环 发生节点加入时 需要进行hash迁移 hash偏移:增加虚拟节点