开发者学堂课程【Redis 入门到精通(进阶篇):持久化-持久化应用场景分析】学习笔记与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/765/detail/13429
持久化-持久化应用场景分析
内容介绍
一、 持久化应用场景
二、 总结持久化
一、持久化应用场景
1、redis 用于空中数据库表主键 id,为数据库表主键提供生成策略,保障数据库表的主键唯一性。
数据库表主键是否要持久化?假如计算机停下来工作,下一次启动时会期待数据是从 redis 中读取的,若 id用到18,下一次从18恢复大概率是有问题的,因为断的部分会导致 id 不连续。解决方法为从数据库中找出最大的 id+1;redis 这种情况不建议持久化。
2、redis 应用于各种结构型和非结构型高热度数据访问加速
缓存的数据要持久化吗?缓存的数据从数据库加载来,即热度数据的提高加速进行访问;这种情况没必要持久化。
3、redis 应用于购物车数据存储设计
若把购物车数据进行存储,下一次走数据库,数据库不可能不存,redis 和数据库中的内容一样,没必要持久化。
4、redis 应用于抢购,限购类、限量发放优惠卷、激活码等业务的数据存储设计
若这些东西是抢购的,速度非常快在几秒钟完成,如果在这过程中出现问题,数据库可能是没有持久化的,但数据库也可能记录持久过程。建议快速存储,快速消失的数据放在持久化数据库中,下一次直接加载。恢复这个后台就不用大规模成交统计,建议做持久化存储。
5、redis 应用于具有操作先后顺序的数据控制
临时任务,对应的消息存储量不是很大,建议用 redis 进行存储,下一次直接加载上一次没有完成的工作。
6、redis 应用于最新消息提示
与第5个相同
7、redis 应用于同类信息的关联搜索,二度关联搜索,善妒关联搜索
不需要进行 redis 存储,关系网很庞大,加载一次耗时高,这种数据可直接读库,更新数据全,不用担心 redis 数据丢失。
8、redis 应用于基于黑名单与白名单设定的服务控制
若黑名单做的是长期策略,数据库一定要存;若黑名单是临时的,建议储存持久化,会更加科学。而白名单通常不用持久化,白名单一般授权才可以应用,也有存储的。
9、redis 应用于计数器自核排序功能对应的排名
排名功能建议做持久化。
10、redis 应用于即时任务/消息队列执行管理
此项有各种各样的解决方案,例如各种 SQ。
11、redis 应用于按次结算的服务控制
应对于前面对应的场景不建议进行持久化存储。
注:应根据自己的业务,考虑做不做持久化。
二、总结持久化
1、什么是持久化,即保存数据。
2、两种持节化,分别是 RDB 和 AOF;RDB 中有三种启动方式,save 指令、bgsave 指令以及配置的形式,其中配置用的是 bgsave 并推荐用 bgsave;AOF 共三种持久化策略,基于 AOF 策略存储文件非常大,可优化策略即 AOF 的重写。
3、RDB 与 AOF 的比对及使用场景