SSM 整合 redis

本贴最后更新于 2690 天前,其中的信息可能已经物是人非

项目结构,配置完成 ssm 框架

项目结构是 ssm 框架的 但其实缓存是用的 ibatis 中的 cache 接口来是实现的,所以本质上还是走的 mybatis 的缓存

那我介绍下我的项目结构吧
84d5762211e441e68f29371ca568754a-QQ20170815092652.png

常规的 maven 项目,参考了 最优雅的配置 ssm 项目的实例 ,

Redis 整合

整合 redis 来实现缓存还是不费劲的, 需要两个工具类跟实现一个 org.apache.ibatis.cache.Cache 接口
RedisUtil,serializeUtil 如你所见,就是实现缓存需要的工具类了
RedisUtil 无非就是为了获取 redisClient 连接呗,实现 cache 这个接口,一些操作
方法都是 object,序列化与反序列化能更方便的获取整个对象
代码就不一一贴了 后面会放代码连接

需要做些什么

1.实现 cache 接口,引用这两个 util 类 根据自己的实际需要更改参数
2.在 mappr 中,需要使用的方法中添加 useCache="true" 属性 注意看代码中的 mapper

<mapper namespace="com.initial.dao.BookDao">

 <cache type="com.initial.util.RedisCache" />

3.在 mybatis-config.xml 中增加,demo 里有注释,这上面不显示了注释。。。


<settings>
     
 <setting name="useGeneratedKeys" value="true"/>

   
 <setting name="useColumnLabel" value="true"/>

   
 <setting name="mapUnderscoreToCamelCase" value="true"/>

   
 <setting name="cacheEnabled" value="true"/>
   <setting name="lazyLoadingEnabled" value="false"/>
   <setting name="aggressiveLazyLoading" value="true"/>
 <settings>

4.注意自己需要序列化的参数是否是 list,list本身并不能被序列化,得实现 Serializable 接口并重写 toString 方法

项目地址

https://github.com/moucmou/ssm-redis

  • SSM

    SpringMVC, Spring, MyBatis

    12 引用 • 35 回帖
  • Redis

    Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。从 2010 年 3 月 15 日起,Redis 的开发工作由 VMware 主持。从 2013 年 5 月开始,Redis 的开发由 Pivotal 赞助。

    286 引用 • 248 回帖 • 45 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...