Redis的使用--(二)与Spring的整合
主题词:使用Jedis、项目整合Redis
项目中整合jedis和spring框架:
- 设计一个相关接口(把String和Hash类型常用方法进行封装)
- 完成两个相关实现类(jedisPool的实现和jedisCluster的实现:属性注入)
- 完成spring-jedis.xml(将jedisPool的实现和jedisCluster的实现进行注入操作)
- 具体内容参看代码实现
需求:在tt-common工程的src/test/java中完成Jedis的简单使用
- 在tt-common工程引入jedis的依赖
1 | <!--redis客户端--> |
- Jedis的三种使用方法
1 |
|
1 |
|
1 |
|
- 完成上述三种方法的使用后,将三种方法的工具类添加tt-common中
- 在tt-common中添加com.dhc.common.jedis包
- 添加三个工具类
1 | JedisClient.java |
- 需求:Spring项目整合Redis
- 创建spring-jedis.xml文件
1 | <!-- 连接池版本 --> |
- 使用时将类型注入可以选择其中一个版本
单机版的注入时,将spring-jedis.xml中的集群版本注释,注入接口JedisClient.java
集群版本注入时,将spring-jedis.xml中的单机版本注释,注入接口JedisClient.java
作业:完成首页门户的轮播图效果(redis集群)
需求:解决查询缓存问题与同步缓存问题
读数据规则(查询缓存问题):先判断缓存中是否有要的数据
- 若有,则直接加载
- 若无,则去DB加载,并存入缓存中
- 实际代码举例
1 | public List<TbContent> getContentListByCid(Long cid){ |
- 改数据规则(缓存同步问题):
- 直接失效缓存数据,再修改DB内容
- 避免突发情况:避免DB修改成功,但由于网络或者其他问题导致缓存数据没有清理,造成了脏数据
- 实际代码举例
1 | public int addContent(TbContent content){ |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 MiChong的🏡!
评论