1、redis的使用场景
- 热点数据的缓存
- 限时任务的操作。比如短信验证码
- 完成session共享的问题
- 完成分布式锁
- 商品的销售量
2、redis的持久化
2.1什么是持久化
把内存的数据存储到磁盘的过程,同时也可以把磁盘中的数据加载到内存中
2.2redis实现持久化的方式
redis实现持久化的方式提供了两种:
第一种:RDB
第二种:AOF
2.2.1什么是RDB
RDB(redis database):快照模式。每隔一段时间对内存中的数据进行块照存储。默认启动改模式
2.2.2什么时候会触发RDB模式
1、手动触发
save 会造成线程阻塞 在执行save命令期间,redis不能处理其它命令,直到RDB过程完成
bgsave 不会造成线程阻塞【redis唯一使用多线程的地方】在执行bgsave命令之后会创建一个fork的线程,该线程单独执行RDB持久化 操作,而不影响其它客户对redis服务的操作
save和bgsave属于手动触发rdb,保存的名称为dump.rdb
2、自动触发
修改redis.conf配置文件
2.2.3 什么是AOF
AOF[append only file]:日志【每执行一个写操作】追加模式,默认redis没有开启该模式。需要手动开启。默认的文件名appendonly.aof
手动开启需要修改redis.conf文件
开启AOF只需要将appendonly yes即可
当启动redis服务器,会把日志文件中的命令从上到下执行一下
2.2.4RDB和AOF的区别
RDB快照模式,数据备份和恢复速度快。缺点:数据完整性差。缺点:数据完整性差。数据可能丢失的多。
AOF日志追加:数据完整性高。缺点:数据备份恢复速度慢
3、redis的集群环境
redis提供了三种集群模式:
- 主从模式 redis3以下
- 哨兵模式 redis5以下
- 去中心化模式
4、为什么要使用redis集群
提高并发量和可用性