redis
文章平均质量分 62
Muscleheng
站在巨人肩上摘星揽月
展开
-
Redisson集成SpringBoot
Redisson集成SpringBoot原创 2024-05-27 22:35:40 · 1267 阅读 · 1 评论 -
Redis设置过期时间
在使用redis作为缓存存储值的时候,一般都是需要设置值的过期时间,否则日积月累的垃圾数据就会占用大量的内存空间;设置过期时间可以分开设置也可以一条语句设置分开设置先设置值再设置过期时间,这种方式极端情况下会出现问题,毕竟是非原子操作。 // 两条命令分别设置值和过期时间 // 时间单位:秒 redis.expire("key",6); // 时间单位:毫秒 //redis.pexpire("key",6000L);合并设置一条命令同时设置值和过期时间,推荐使用此方式。原创 2021-05-18 09:57:42 · 33656 阅读 · 2 评论 -
SpringBoot Redis实现分布式锁(亲测可用)
集群情况下,JDK的锁是很容易出现问题的,这时候就需要用到分布式锁;最近用到了Redis实现分布式锁,这里记录一下。基本原理: 这里使用了Redis的setNX,由于当某个 key 不存在的时候,SETNX 才会设置该 key。且由于 Redis 采用单进程单线程模型,所以,不需要担心并发的问题。那么,就可以利用 SETNX 的特性维护一个 key,存在的时候,即锁被某个线程持...原创 2019-11-13 17:18:00 · 2605 阅读 · 3 评论 -
Redis实现同一账号登录个数限制
场景: 最近接到一个需求,为了方便用户使用,系统的同一个用户账号可以在5个浏览器是登录,第六个登录的把第一个挤掉,而且用户登录后长时间不操作是需要自动过期的,也就是说需要有session过期时间;一、分析 从需求来看,用户被强制下线有两种可能,一个是session过期,二个是被后面登录的挤掉;第6个登录的把第1个登录的挤掉,那么我们就需要统计登录个数以及...原创 2018-08-17 13:30:14 · 8925 阅读 · 22 评论 -
Springboot+Redis实现消息队列(发布订阅模式)
我上找了很多例子,但是都觉得不太明白,自己琢磨了一下,做了个笔记!因为spring对Redis进行了完整的封装,所以实现起来就比较简单。pom文件<!-- 整合redis --> <dependency> <groupId>org.springframework.boot</groupId> ...原创 2018-09-30 11:12:36 · 6026 阅读 · 3 评论 -
根据IP限制指定时间内访问接口的次数
在网上看见有人问一个问题:想限制一下某个接口在一分钟之内只能被同一个ip请求指定次数。方法比较多,这里就用Redis做一个简单的限制。大致逻辑:把请求的ip作为key,请求次数作为value存储在Redis里面,第一次请求value为1,以后每次请求加1,设置过期时间60s,每次请求都重置过期时间,每次请求过来都需要判断value是否大于指定次数即可;springBoot ...原创 2019-06-12 11:34:44 · 7189 阅读 · 7 评论