Redis持久化
- RDB
- 间隔性保存数据。
-
自动触发: save 900 1:表示900 秒内如果至少有 1 个 key 的值变化,则保存 save 300 10:表示300 秒内如果至少有 10 个 key 的值变化,则保存 save 60 10000:表示60 秒内如果至少有 10000 个 key 的值变化,则保存
-
手动触发:save:阻塞写入RDB文件, bgsave:异步写入RDB文件
-
紧凑,文件小适合恢复大数据集,适合备份和恢复。宕机后容易丢失数据
-
AOF
-
命令追加,数据持久化实时性,但依然会损失1s左右数据
-
瓶颈在硬盘,容易降低硬盘寿命
-
数据文件大,备份恢复慢
Redis 有架构模式
- 单机版。简单。但无法高可用
- 主从复制。主从数据相同。降低读取数据压力,没有降低写入压力。
- 哨兵模式。主从复制,自动故障转移。没有解决写入压力
- 集群模式。去中心化,数据分布在各节点。节点可扩展
redis分布式锁的实现
https://blog.csdn.net/kongmin_123/article/details/82080962
redlock的加锁方式。适合集群模式,优点:主从切换时也不会导致丢失锁。缺点:redis节点多的时候,开销极大
https://yq.aliyun.com/articles/674394
一致性hash算法
https://www.cnblogs.com/lpfuture/p/5796398.html