spring-session之四:Spring Session下的Redis存储结构
spring-session项目启动后
127.0.0.1:6379> keys *
1) "spring:session:index:org.springframework.session.FindByIndexNameSessionRepository.PRINCIPAL_NAME_INDEX_NAME:user"
运行示例httpsession一次后
查看redis中的值:
127.0.0.1:6379> keys *
1) "spring:session:sessions:expires:fc454e71-c540-4097-8df2-92f88447063f"
2) "spring:session:expirations:1515135000000"
3) "spring:session:index:org.springframework.session.FindByIndexNameSessionRepository.PRINCIPAL_NAME_INDEX_NAME:user"
4) "spring:session:sessions:fc454e71-c540-4097-8df2-92f88447063f"
Redis中的存储说明:
1、spring:session是默认的Redis HttpSession前缀(redis中,我们常用’:’作为分割符)。
2、每一个session都会创建3组数据:
第一组:hash结构,spring-session存储的主要内容
spring:session:sessions:fc454e71-c540-4097-8df2-92f88447063f
hash结构有key和field,如上面的例子:hash的key为"spring:session:sessions"前缀加上fc454e71-c540-4097-8df2-92f88447063f,该key下的field有:
- field=sessionAttr:qwe,value=123
- field=creationTime,value= //创建时间
- field=maxInactiveInterval,value= //
- field=lastAccessedTime,value= //最后访问时间
见截图:

第二组:String结构,用于ttl过期时间记录
spring:session:sessions:expires:fc454e71-c540-4097-8df2-92f88447063f
key为“spring:session:sessions:expires:”前缀+fc454e71-c540-4097-8df2-92f88447063f
value为空

第三组:set结构,过期时间记录
spring:session:expirations:1515135000000
set的key固定为“spring:session:expirations:1515135000000”,set的集合values为:
- expires:c7fc28d7-5ae2-4077-bff2-5b2df6de11d8 //(一个会话一条)
- expires:fc454e71-c540-4097-8df2-92f88447063f //(一个会话一条)
简单提一下:redis清除过期key的行为是一个异步行为且是一个低优先级的行为,用文档中的原话来说便是,可能会导致session不被清除。于是引入了专门的expiresKey,来专门负责session的清除,包括我们自己在使用redis时也需要关注这一点。在开发层面,我们仅仅需要关注第三个key就行了。
spring-session之四:Spring Session下的Redis存储结构的更多相关文章
- 购物车redis存储结构
- Spring Boot 应用使用spring session+redis启用分布式session后,如何在配置文件里设置应用的cookiename、session超时时间、redis存储的namespace
现状 项目在使用Spring Cloud搭建微服务框架,其中分布式session采用spring session+redis 模式 需求 希望可以在配置文件(application.yml)里设置应用 ...
- Spring Boot与Spring Session集成
1. 参考资料 https://docs.spring.io/spring-session/docs/current/reference/html5/guides/boot-redis.html ht ...
- Redis底层结构全了解
第一篇文章,思来想去,写一写Redis吧,最近在深入研究它. 一丶Redis底层结构 1. redis 存储结构 redis的存储结构从外层往内层依次是redisDb.dict.dictht.dict ...
- 仿Redis用来作前端浏览器的数据存储结构
用js写了一个类似redis存储结构的类库,目前只有的存储类型只有hash.set两个, 还没测试过性能,欢迎各位猿友能够帮我指出程序代码的缺陷, 后期有时间会完善其他几个类型的存储结构. /**** ...
- redis存储数据
redis存储结构--5种 RedisTemplate访问Redis数据结构(一)--String https://blog.csdn.net/qq_25135655/article/details/ ...
- Spring boot配合Spring session(redis)遇到的错误
背景:本MUEAS项目,一开始的时候,是没有引入redis的,考虑到后期性能的问题而引入.之前没有引用redis的时候,用户登录是正常的.但是,在加入redis支持后,登录就出错!错误如下: . __ ...
- Spring Boot+redis存储session,满足集群部署、分布式系统的session共享
本文讲述spring-boot工程中使用spring-session机制进行安全认证,并且通过redis存储session,满足集群部署.分布式系统的session共享. 原文链接:https://w ...
- Spring session(redis存储方式)监听导致创建大量redisMessageListenerContailner-X线程
待解决的问题 Spring session(redis存储方式)监听导致创建大量redisMessageListenerContailner-X线程 解决办法 为spring session添加spr ...
随机推荐
- Cscope 安装和使用
CScope 安装和使用 一.安装 1. 软件下载 https://sourceforge.net/projects/cscope/files/ 2. 解压 3. 安装 ./configure --p ...
- Deep Learning深入浅出
作者:Jacky Yang链接:https://www.zhihu.com/question/26006703/answer/129209540来源:知乎著作权归作者所有.商业转载请联系作者获得授权, ...
- TCP的粘包
产生原因: * tcp传输以字节流的方式发送消息,消息之间没有边界 * 发送比接受的速度快,因此不能保证每次都能及时被接收 影响 : 对每次发送的内容是一个独立的意思需要单独识别 如何处理: 1. 每 ...
- Notes on UE4-Blender workflow
In UE4: When you import a rigged model (mesh parents armature) to UE4, it will be converted to a Ske ...
- Codeforces 954H Path Counting 【DP计数】*
Codeforces 954H Path Counting LINK 题目大意:给你一棵n层的树,第i层的每个节点有a[i]个儿子节点,然后问你树上的简单路径中长度在1~n*2-2之间的每个有多少条 ...
- BZOJ3747 POI2015 Kinoman 【线段树】*
BZOJ3747 POI2015 Kinoman Description 共有m部电影,编号为1~m,第i部电影的好看值为w[i]. 在n天之中(从1~n编号)每天会放映一部电影,第i天放映的是第f[ ...
- POJ1733 Parity game 【带权并查集】*
POJ1733 Parity game Description Now and then you play the following game with your friend. Your frie ...
- python发送邮件的实例代码(支持html、图片、附件)
转自http://www.jb51.net/article/34498.htm 第一段代码 #!/usr/bin/python# -*- coding: utf-8 -*- import emaili ...
- 《selenium2 python 自动化测试实战》(12)——跳过验证码登录add_cookie
微信公众号搜索“自动化测试实战”或扫描下方二维码添加关注~~~
- ubuntu换系统下载路径源
ubuntn默认下载路径的源是国外的下载很慢换成国内的下载路径会好很多 在ubuntu应用搜索框(左上脚那个)中输入software 1.software&Updates 应用点击softwa ...