Spring集成Redis缓存 (2)

put-string

@Test public void redisGetTest() { //获取 String str = (String) redisUtil.get("name", String.class); System.out.println(str); }

测试结果如下:

get-string

然后是复杂类型java.util.List测试:

@Test public void redisPutListTest() { List<String> stringList = new ArrayList<>(); stringList.add("github"); stringList.add("13"); stringList.add("cnblog"); stringList.add("perfect-ssm"); //添加 redisUtil.put("stringList", stringList); }

put-list

@Test public void redisGetListTest() { //获取 List<String> stringList = (List<String>) redisUtil.get("stringList", List.class); if (stringList.size() > 0) { for (String string : stringList ) { System.out.println(string); } } }

测试结果如下:

get-list

最后是项目中自定义的JavaBean的测试:

要缓存的JavaBean必须实现Serializable接口,因为Spring会将对象先序列化再存入 Redis,如测试用例中的com.ssm.promotion.core.entity.Article类,如果不实现 Serializable的话将会报出如下异常:

org.springframework.data.redis.serializer.SerializationException: Cannot serialize; nested exception is org.springframework.core.serializer.support.SerializationFailedException: Failed to serialize object using DefaultSerializer; nested exception is java.io.NotSerializableException: com.ssm.promotion.core.entity.Article

exception

@Test public void redisPutListArticleTest() { List<Article> articles = new ArrayList<>(); Article article1 = new Article(); article1.setId("1"); article1.setArticleContent("article1"); Article article2 = new Article(); article2.setId("2"); article2.setArticleContent("article2"); articles.add(article1); articles.add(article2); //添加 redisUtil.put("articles", articles); }

put-article

@Test public void redisGetArticleListTest() { //获取 List<Article> articles = (List<Article>) redisUtil.get("articles", List.class); if (articles.size() > 0) { for (Article article : articles ) { System.out.println(article); } } }

测试结果如下:

get-article

总结

配置文件中的密码、端口、ip地址要改成你自己的配置,不要直接用这里的配置,如果是这个原因导致项目报错就很尴尬了。

每周抽出一些时间做点事情,虽然感觉很压抑,但是看到结果的时候心里真的是乐开了花。

首发于我的个人博客,新的项目演示地址:perfect-ssm,登录账号:admin,密码:123456

Spring集成Redis缓存


如果有问题或者有一些好的创意,欢迎给我留言,也感谢向我指出项目中存在问题的朋友。

如果你想继续了解该项目可以查看整个系列文章Spring+SpringMVC+MyBatis+easyUI整合系列文章,也可以到我的GitHub仓库或者开源中国代码仓库中查看源码及项目文档。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyywjd.html