e3商城_day06
1.redis持久化方案
2.redis集群的原理
当写入一个key/value时,对该key进行特定算法得出一个对应的哈希槽,根据值找到包含该槽的redis服务器,并将该key/value存储在该服务器上(并不是将key存储在槽上,槽只是为了均匀得把Key放在不同的服务器上)
3.redis集群的搭建
》要搭建redis集群要把如下常量值修改为yes
》在redis的源码包下的src里有一个rb文件用于搭建redis集群并建立连接通信,需要运行该rb文件
》安装第三方库
》运行rb文件
》连接redis集群任意节点(可以连接备份机)
4.jedis操作redis集群
》导操作redis相关的jar包,一般放在common下,以便所有用到缓存的service调用(直接调缓存的并不是dao,而是service)
》jedisCluster是操作redis集群的一个对象
5.使用jedisClient连接单机版和集群版
》为了方便我们能在不同的环境在jedispool和jediscluster间切换,封装两个实现类:jedisClientPool(用于单机版)和jedisClinetCluster(用于集群版),让这两个类实现同一个接口jedisClient,使用该接口即可不需要修改源代码,在配置文件中修改实现类的完成单机和集群的切换
》类和接口可以在common下以便所有service使用
》两个实现类交给spring管理即可
6.向业务逻辑中添加缓存
》在代码上注意的是:查询缓存或者向缓存中存储数据得保证即使抛异常也不会对原有的查询数据库代码产生影响,所以必须使用try-catch进行处理
7.缓存同步
》当mysql库中数据发生了更新,而redis缓存中还是保持着旧的数据,所以在数据库发送增删改后,对应的缓存也应该进行同步。我们可以在增删改操作后立即删除掉缓存中旧的数据,当下次获取时旧不再走缓存了,可获得数据库中最新的数据并重新缓存
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~