redis 共享session 使用redis实现token共享

Redis的使用_springboot中redis的使用spring.redis.host=localhost spring.redis.port=6379 这样以来,最简单的spring boot + redis实现session共享就完成了,下面进行下测试 。
在配置文件中添加了 Redis 的配置信息之后,就可以在 Spring Boot 应用程序中使用 Redis 了 。可以使用 `@Autowired` 注解注入 `RedisTemplate` 或 `StringRedisTemplate` 对象 , 然后使用这些对象操作 Redis 数据库 。
推荐一个客户端软件 Redis Desktop Manager,它是 redis 的客户端界面软件 , 方便面我们学习的时候 清理缓存 使用,生产慎连 。
redis实现session共享的一些细节通过spring boot + redis来实现session的共享非常简单,而且用处也极大,配合nginx进行负载均衡,便能实现分布式的应用了 。
经测试 , springboot项目,使用redis实现session共享,session的有效期默认为2100s,即35分钟,并且 , springboot已经实现了自动续期,每次访问session(getSession或者存取数据),都会把ttl重置为2100s 。
【redis 共享session 使用redis实现token共享】哪里创建: 通过搜索RedisHttpSessionConfiguration发现SessionRepositoryFilter的创建不是在RedisHttpSessionConfiguration,而是在父类SpringHttpSessionConfiguration中创建 。
下面我们使用第一种方式实现一个限制指定IP的过滤器:通过过滤器解析session后,就可以根据session中保存的内容,判断当前登录的用户权限 。
共享Session:对于一些依赖 session 功能的服务来说 , 如果需要从单机变成集群的话,可以选择 redis 来统一管理 session 。
String 字符串 字符串类型是 Redis 最基础的数据结构,首先键都是字符串类型,而且 其他几种数据结构都是在字符串类型基础上构建的,我们常使用的 set key value 命令就是字符串 。
Hash分区常见的哈希分区规则有:节点取余分区、一致性哈希分区和虚拟槽分区 。
HASH分区策略是根据用户定义的表达式的返回值来进行选择的分区,该表达式使用将要插入到表中的这些行的列值进行计算 。这个函数可以包含MySQL中有效的、产生非负整数值的任何表达式 。
范围分区就是将数据表内的记录按照某个属性的取值范围进行分区 。
常规HASH和线性HASH的增加收缩分区的原理是一样的 。增加和收缩分区后原来的数据会根据现有的分区数量重新分布 。

    推荐阅读