持久化-持久化应用场景分析|学习笔记

简介: 快速学习持久化-持久化应用场景分析

开发者学堂课程【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 的比对及使用场景

相关文章
|
7月前
|
存储 弹性计算 缓存
阿里云服务器ECS实例选型与性能监控指南:从场景匹配到优化参考
随着云服务器的普及应用,越来越多的企业和个人用户选择将业务迁移到云端,以享受其带来的灵活性、可扩展性和成本效益。阿里云服务器(Elastic Compute Service,简称ECS)以其丰富的实例规格、卓越的性能和稳定的运行环境,赢得了广大用户的信赖。然而,对于很多初次接触云服务器产品的新手用户来说,面对阿里云多达几十种的云服务器实例规格,往往感到无从下手,不知道如何选择最适合自己业务需求的实例规格。本文旨在通过详细解析阿里云ECS实例规格的选择策略,并介绍如何有效监控云服务器性能,确保业务的高效运行。
464 63
|
关系型数据库 MySQL 应用服务中间件
站库分离技术--反向代理技术-雷池云WAF-给自己搭建一个安全点的网站
站库分离技术--反向代理技术-雷池云WAF-给自己搭建一个安全点的网站
560 3
|
网络协议 Java 关系型数据库
16 Java网络编程(计算机网络+网络模型OSI/TCP/IP+通信协议等)
16 Java网络编程(计算机网络+网络模型OSI/TCP/IP+通信协议等)
280 2
|
机器学习/深度学习 数据采集 数据可视化
使用Python实现深度学习模型:智能植物生长监测与优化
使用Python实现深度学习模型:智能植物生长监测与优化
947 0
|
关系型数据库 数据库 PostgreSQL
在docker上部署postgresSQL主从
通过以上步骤,我们完成了在Docker环境中部署PostgreSQL主从复制的基本配置。请注意,实际生产环境中还需考虑安全性增强(如SSL加密)、监控、自动故障切换等高级配置。此外,根据具体的业务需求和规模,可能还需要考虑使用更专业的解决方案或工具,如Patroni、PgBouncer等,来进一步提升数据库集群的稳定性和效率。
922 0
|
前端开发 C# 开发工具
在winform中使用blazor hybrid构建页面
在winform中使用blazor hybrid构建页面
381 0
|
C# 开发者
全面提升开发效率:详解如何使用Blazor Server与SignalR打造实时Web应用,从零开始构建聊天室示例并掌握实时通信核心技术
【8月更文挑战第31天】提高生产力不仅关乎效率提升,更在于用更少时间完成更多任务。本文将通过具体代码示例,介绍如何结合 Blazor Server 和 SignalR 构建实时 Web 应用。从创建 Blazor 项目到添加 SignalR 支持,再到实现客户端与服务器间的实时通信,每个步骤都详细讲解。通过这一组合,C# 开发者能获得前后端一致的编程体验,轻松打造高效、响应迅速的实时应用。实时通信功能已在社交、协作等多个领域发挥重要作用,本文将助你掌握这一强大技术组合。
625 0
|
人工智能 自然语言处理 算法
AI 应用之成本节约实践
本文探讨了如何避免高成本的模型微调,通过任务拆解和提示词调优实现业务目标。文中提到,当大语言模型不能直接满足需求时,微调涉及大量工作,包括数据准备、模型训练及GPU资源。为降低成本,作者提出了两步方法:1) 任务拆解,将复杂任务分解为简单子任务,利用模型优势处理部分;2) 提示词调优,优化输入以引导模型更高效地响应。虽然这可能不适用于所有情况,但能有效减少对模型微调的依赖。
671 1
|
弹性计算 Java 关系型数据库
ARM架构和避坑指南|开发者分享会
今天分享的内容来自阿里云倚天ECS高级架构师张先国的“ARM架构和避坑指南”。本文内容主要从ARM架构、C和Java如何避坑 、等方面详细讲解。
|
XML SQL Java
今日记录:学习一个Mybatis的技能之choose 和 bind
今日记录:学习一个Mybatis的技能之choose 和 bind
215 1