springboot中redis的使用和分布式session共享问题

本文旨在解决分布式系统的session如何共享问题,大致思路:session放入redis。其他解决方案:持久化、放cache等都可以,但是自从有了redis,这完全可以变的简简单单。

本文大致分两步:1、springboot中如何使用redis。2、redis如何解决session共享

1、pom依赖

2添加redis配置类

该配置类同样可以配置缓存失效时间等。

3配置redis服务

因为我连的是本地的(windows)测试机,密码默认为空,根据自己的情况配置即可。

4单元测试

1、set值(字符串)

往redis放一个key为test001、value为test001的值,然后查看redis

2、set值(object)

往redis分别放key为user1和user2的对象,user2设置5秒失效,线程等待6秒再完成,期望结果:redis中有user1,没有user2,bingo!!!

5解决session共享

使用spring-session-data-redis实现session共享,pom中引入该依赖(上文已添加),添加SessionConfig配置类

对,没看错,只需要这个就够了。最长有效时间根据自己情况随意配置即可。

6测试

写一个简单Controller,如下

这里可以看到sessionId:

看redis中

可以看到失效时间,sessionId等

7共享session

另外找一个机器,照着这个配置再来一遍,自动启用session共享,因为sessionId都存在了同一个redis中。奏是这么简单。挽起袖子开始干吧。

原文发布于微信公众号 - 陌与尘埃(grq100296)

原文发表时间:2017-11-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏静晴轩

详解 Cookie 纪要

从事 Web 开发已有近17个月;在学以致用的工作学习里,对于不怎么使用的部分,多少有些雾里探花的窘迫感~差不多是了解一二,然而又非真切的明晰;这就使得再用的时...

3509
来自专栏Java架构沉思录

OAuth 2.0是什么?看这篇文章就够了。

OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版。

943
来自专栏帅小子的日常

cookie和session

3565
来自专栏Java学习网

理解OAuth 2.0

  OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版。   本文对OAuth 2.0的设计思路和...

3884
来自专栏Python

cookie详解

今天看到一篇cookie的文章,写的特别详细,感谢 晚晴幽草轩 的分享,原文链接http://mp.weixin.qq.com/s/NXrH7R8y2Dqxs9...

4283
来自专栏Linyb极客之路

OAuth 2.0入门

OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版。本文对OAuth 2.0的设计思路和运行流程,...

1323
来自专栏PHP在线

Session原理简述

Session存在的意义,估计每个做web开发的人都是了解的,就为了解决HTTP是无状态协议所带来的问题,不多说了。这里主要想说的是服务端与客户端是如何利用se...

3566
来自专栏开源优测

HTTP协议报文结构及抓包报文分析示例

前言 从事性能测试必不可绕过的就是协议,对基本知识的了解,还是深入掌握协议的机制,都能让你在从事性能测试实施时显得更加顺手。 下面我们就HTTP协议及性能测试过...

3605
来自专栏同步博客

Session攻击(会话劫持+固定)与防御

  Session对于Web应用无疑是最重要的,也是最复杂的。对于web应用程序来说,加强安全性的第一条原则就是 – 不要信任来自客户端的数据,一定要进行数据验...

2072
来自专栏烂笔头

Python爬虫代理IP池

目录[-] 在公司做分布式深网爬虫,搭建了一套稳定的代理池服务,为上千个爬虫提供有效的代理,保证各个爬虫拿到的都是对应网站有效的代理IP,从而保证爬虫快速...

7926

扫码关注云+社区

领取腾讯云代金券