在昨天的文章中我们介绍了Spring boot Web开发的一些基本知识以及Thymeleaf 、Gradle 和WebJars的使用:spring boot简单开发系列——WEB开发示例,方便大家以后快速的使用spring boot开发WEB项目;本篇文章接着上篇内容继续为大家介绍spring boot的其它特性redis的使用。 我们都知道pring boot对常用的数据库支持,其实它对nosql 数据库也进行了封装自动化。下面就让我们一起来看一下。 redis介绍Redis是目前业界使用最广泛的内存数据存储。相比memcached,Redis支持更丰富的数据结构,例如hashes, lists, sets等,同时支持数据持久化。除此之外,Redis还提供一些类数据库的特性,比如事务,HA,主从库。可以说Redis兼具了缓存系统和数据库的一些特性,因此有着丰富的应用场景。本文主要介绍Redis在Spring Boot中两个典型的应用场景。 1、首先我们需要在pom文件中引入 spring-boot-starter-redis 2、在配置文件中添加redis的相关配置 3,下面我们来写一个cache的配置类 4、好了,接下来就可以直接使用了,我们来写一个测试类,调用上面的代码 以上方法,我们是通过手动写配置类的方式来使用spring boot redis,如果想在查找数据库的时候自动使用缓存,我们就要使用注解的方式来实现了,看下面代码:自动根据方法生成缓存 在上面的注解中,其中value的值就是缓存到redis中的key。 共享Session-spring-session-data-redis在分布式系统中,session共享其实有很多种的解决方案,其中托管到缓存中是最常用的方案之一。下面我们就来看看在spring boot中应该如何使用redis实现session共享。 1、在pom文件中引入依赖 2、使用注解的方式进行Session配置: @Configuration @EnableRedisHttpSession(maxInactiveIntervalInSeconds = 86400*30) publicclass SessionConfig {} 在注解中maxInactiveIntervalInSeconds: 用来设置Session失效时间,使用Redis Session之后,原Spring Boot的server.session.timeout属性将不再生效 好了,这样就配置好了,我们来测试一下 3、在测试方法中获取sessionid 登录redis 输入 keys '*sessions*' t<spring:session:sessions:db031986-8ecc-48d6-b471-b137a3ed6bc1 t(spring:session:expirations:1582976480000 其中 1582976480000为失效时间,意思是这个时间后session失效,db031986-8ecc-48d6-b471-b137a3ed6bc1 为sessionId,登录http://localhost:8080/uid 发现会一致,就说明session 已经在redis里面进行有效的管理了。至于如何在两台或者多台中共享session,其实就是按照上面的步骤在另一个项目中再配置一次,启动项目后自动就进行session共享了。 结束语好了,今天关于spring boot ridis的开发就先介绍到这里,大家有什么不懂得可以在下方给我留言;同时也希望大家收藏、转发,关注我的文章。下一篇我们将介绍spring boot 关于多数据源的一些使用知识。谢谢大家! |
|