redis总结-(一)单点登录
来源:互联网 发布:大智慧如何导出数据 编辑:程序博客网 时间:2024/06/06 14:14
redis单点登录
最近用redis+springboot做一个SSO单点登录系统,总结一下。
为满足多个子系统的统一登录认证管理。
用户SSO模块登录,先验证你的用户名和密码是否正确,如果正确。
会产生一个唯一票据,我们这里叫他userAccesstoken,把这个userAccesstoken放到redis中,存放方式是如下。
处理流程
#登录,如果已经登录,直接返回,否则执行登录stringRedisTemplate.opsForValue().set(userName, userAccesstoken,3600*24*31, TimeUnit.SECONDS);#授权认证,单独认证是否登录。stringRedisTemplate.opsForValue().get(userName);#退出登录,先检查,在删除。stringRedisTemplate.hasKey(userName);stringRedisTemplate.delete(userName);
StringRedisTemplate常用操作
#向redis里存入数据和设置缓存时间stringRedisTemplate.opsForValue().set("userName", "100",60*10,TimeUnit.SECONDS);# val做-1操作 stringRedisTemplate.boundValueOps("userName").increment(-1);#根据key获取缓存中的valstringRedisTemplate.opsForValue().get("userName") #val +1 stringRedisTemplate.boundValueOps("userName").increment(1);#根据key获取过期时间stringRedisTemplate.getExpire("userName"); #根据key获取过期时间并换算成指定单位stringRedisTemplate.getExpire("userName",TimeUnit.SECONDS);#根据key删除缓存 stringRedisTemplate.delete("userName");#检查key是否存在,返回boolean值 stringRedisTemplate.hasKey("userName");#向指定key中存放set集合stringRedisTemplate.opsForSet().add("userName", "1","2","3");#设置过期时间 stringRedisTemplate.expire("userName",1000 , TimeUnit.MILLISECONDS);#根据key查看集合中是否存在指定数据 stringRedisTemplate.opsForSet().isMember("userName", "1")#根据key获取set集合 stringRedisTemplate.opsForSet().members("userName");
redis优点特点:
(1)速度快,因为数据存在内存中。
(2)支持丰富数据类型,支持string,list,set,sorted set,hash。
(3)支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行。
(4) 丰富的特性:可用于缓存,消息,按key设置过期时间,过期后将会自动删除。
(5)redis是单进程单线程:redis利用队列技术将并发访问变为串行访问,消除了传统数据库串行控制的开销。
redis的回收策略:
volatile-lru:从已设置过期时间的数据集(server.db[i].expires)中挑选最近最少使用的数据淘汰。
volatile-ttl:从已设置过期时间的数据集(server.db[i].expires)中挑选将要过期的数据淘汰。
volatile-random:从已设置过期时间的数据集(server.db[i].expires)中任意选择数据淘汰。
allkeys-lru:从数据集(server.db[i].dict)中挑选最近最少使用的数据淘汰。
allkeys-random:从数据集(server.db[i].dict)中任意选择数据淘汰。
no-enviction(驱逐):禁止驱逐数据。
- redis总结-(一)单点登录
- sso(单点登录一)
- 用Redis做单点登录(理论)
- Redis实现单点登录
- 系统整合之单点登录(一)
- 单点登录(一):原理分析
- 单点登录(一):原理分析
- 单点登录(一):原理分析
- CAS单点登录-简介(一)
- 单点登录一
- 单点登录技术总结
- redis实现单点登录系统
- 单点登录实现(spring session+redis完成session共享)
- 单点登录实现(spring session+redis完成session共享)
- 单点登录实现(spring session+redis完成session共享)
- SSO单点登录学习总结(1)——单点登录(SSO)原理解析
- SSO单点登录学习总结(2)——基于Cookie+fliter单点登录实例
- SSO单点登录学习总结(3)—— 基于CAS实现单点登录实例
- dfadfadf
- 军队线程 *模拟作战双方的行为
- JAVA锁机制
- mysql数据库主从复制和读写分离
- a=a++,a=++a
- redis总结-(一)单点登录
- 如何高效地阅读技术类书籍与博客
- 嵌入式web&sqlite3
- Android 经常用到的开源框架
- 这条语句一共创建了多少个对象 String s = "a"+"b"+"c"+"d";
- dot1q
- map
- C#多线程编程
- Innodb Cluster 入门(4) Paxos算法