欢迎光临国标麻将

SpringBoot整合Redis,用起来真简单

地方 2020-06-06 22:414418国标麻将app国标麻将app

Redis是目前业界使用最广泛的内存数据存储。相比Memcached,Redis支持更丰富的数据结构,例如hashes,lists,sets等,同时支持数据持久化。除此之外,Redis还提供一些类数据库的特性,比如事务,HA,主从库。可以说Redis兼具了缓存系统和数据库的一些特性,因此有着丰富的应用场景。本文介绍Redis在SpringB@AnsonA@SEO@oot中两个典型的应用场景。

如何使用

1、引入依赖包

SpringBoot提供了对Redis集成的组件包:spring-boot-starter-data-redis,spring-boot-starter-data-redis依赖于spring-data-redis和lettuce。SpringBoot1.0默认使用的是Jedis客户端,2.0替换成Lettuce,但如果你从SpringBoot1.5.X切换过来,几乎感受不大差异,这是因为spring-boot-starter-data-redis为我们隔离了其中的差异性。

Lettuce是一个可伸@AnsonC@SEO@缩线程安全的Redis客户端,多个线程可以共享同一个RedisConnection,它利用优秀nettyNIO框架来高效地管理多个连接。

2、添加配置文件

3、添加cache的配置类

注意我们使用了注解:@Enab@AnsonA@SEO@leCaching来开启缓存。

4、好了,接下来就可以直接使用了

以上都是手动使用的方式,如何在查找数据库的时候自动使用缓存呢,看下面;

5、自动根据方法生成缓存

其中value的值就是缓存到Redis中的key

共享Session

分布式系统中,Session共享有很多的解决方案,其中托管到缓存中应该是最常用的方案之一,

SpringSession官方说明

SpringSessionprovidesanAPIandimplementationsformanagingauser’ssessioninformation.

SpringSession提供了一套创建和管理ServletHttpSession的方案。SpringSession提供了集群Session功能,默认采用外置的Redis来存储Session数据,以此来解决Session共享的问题。

如何使用

1、引入依赖

2、Session配置:

maxInactiveIntervalInSeconds:设置Session失效时间,使用RedisSession之后,原SpringBoot的server.session.timeout属性不再生效。

好了,这样就配置好了,我们来测试一下

3、测试

添加测试方法获取sessionid

登录Redis输入keys'sessions'

t

其中1472976480000为失效时间,意思是这个时间后Session失效,db031986-8ecc-48d6-b471-b137a3ed6bc4为sessionId,登录http://localhost:8080/uid发现会一致,就说明Session已经在Redis里面进行有效的管理了。

我自己是一名从事了多年开发的Java老程序员,辞职目前在做自己的Java私人定制课程,今年年初我花了一个月整理了一份最适合2020年学习的Java学习干货,从最基础的JavaSE到Spring各种框架都有整理,送给每一位Java小伙伴,想要获取的可以关注我的头条号并在后台私信我:Java,即可免费获取。

Copyright © 2020 国标麻将 版权所有