SpringBoot整合NoSql(一)——Redis本地连接实现Session共享
2.
3.新建并编写
1.新建并编写
2.将项目打包为
3.分别在
发布日期:2021-06-30 22:58:31
浏览次数:3
分类:技术文章
本文共 2324 字,大约阅读时间需要 7 分钟。
seesion共享:
使用Redis实现session共享原理如下,简单来说就是把session存到redis中去!多个服务器都能够通过Redis共享这个Session,因此我们在访问不同的服务器时,虽然不是原来拥有session服务器,但是我们仍然可以通过Redis共享的session进行成功的访问!
为什么引入security?
spring 2.1.5开始,远程连接Redis必须引入Spring security,这里虽然仅仅在本地进行,但是后面远程连接服务器,仍会用到这个示例。
一、Redis安装配置
二、Redis实现数据存储
关于SpringBoot中maven的相关配置推荐阅读:
1.选用依赖:
2.application.properties
配置文件下面配置我们的Redis
spring.redis.host=127.0.0.1 #本地连接spring.redis.port=6379 #Redis默认端口spring.redis.password=123456 #Redis密码spring.redis.database=0 #Redis数据
3.新建并编写TestRedisController
类
@RestControllerpublic class TestRedisController { @Autowired StringRedisTemplate stringRedisTemplate; @GetMapping("/set") public String set() { ValueOperationsops = stringRedisTemplate.opsForValue(); ops.set("name","alvin"); return "set success"; } @GetMapping("/get") public String get() { ValueOperations ops = stringRedisTemplate.opsForValue(); return ops.get("name"); }}
运行代码后,我们在网页分别访问localhost:8080/set``````localhost:8080/get
因为我们引入了SpringSecurity它会让我们登录,用户名默认为user
密码为日志下面的一串随机的密码
三、Redis实现Session共享
1.新建并编写SessionController
类
将原来的TestRedisController
删除,然后新建SessionController
,来测试session共享的实现
import org.springframework.beans.factory.annotation.Value;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RestController;import javax.servlet.http.HttpSession;@Controllerpublic class TestController { @Value("${server.port}") Integer port; @ResponseBody @RequestMapping("/set") public String set(HttpSession session) { session.setAttribute("user", "alvin"); return String.valueOf(port); } @ResponseBody @RequestMapping("/get") public String get(HttpSession session) { return session.getAttribute("user") + ":" + port; }}
2.将项目打包为jar
包
3.分别在8080
和8081
端口执行jar
包
执行之前我们先保证Redis还未缓存数据,所以先清除Redis中的数据
keys * #查看所有缓存数据FLUSHALL #清除所有缓存数据
- 8080
cd targetjava -jar session-0.0.1-SNAPSHOT.jar
- 8081
cd targetjava -jar session-0.0.1-SNAPSHOT.jar server.port=8081此时我们已经执行了两个seesion实例,这样我们可以通过登录来验证他们是否进行了session共享
三、登陆验证
首先测试8080端口
:
8081端口:
不难发现,虽然8080和8081端口密码并不一致,但是此时,8081端口已经无需登录,就可以进入页面,说明已经实现了session共享! 转载地址:https://lukeyalvin.blog.csdn.net/article/details/104074524 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
表示我来过!
[***.240.166.169]2024年04月09日 21时32分39秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
tf dense layer两种创建方式的对比和numpy实现
2019-04-30
tf initializer
2019-04-30
tf keras SimpleRNN源码解析
2019-04-30
tf keras Dense源码解析
2019-04-30
tf rnn输入输出的维度和权重的维度
2019-04-30
检验是否服从同一分布
2019-04-30
keras、tf、numpy实现logloss对比
2019-04-30
MyBatisPlus简单入门(SpringBoot)
2019-04-30
攻防世界web进阶PHP2详解
2019-04-30
攻防世界web进阶区web2详解
2019-04-30
xss-labs详解(上)1-10
2019-04-30
xss-labs详解(下)11-20
2019-04-30
攻防世界web进阶区ics-05详解
2019-04-30
攻防世界web进阶区FlatScience详解
2019-04-30
攻防世界web进阶区ics-04详解
2019-04-30
攻防世界web进阶区bug详解
2019-04-30
攻防世界web进阶区ics-07详解
2019-04-30
攻防世界web进阶区unfinish详解
2019-04-30
攻防世界web进阶区i-got-id-200超详解
2019-04-30
sql注入总结学习
2019-04-30