淘汰策略
對最外層的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偏移:增加虛擬節點