
redis
文章平均质量分 94
zzzgd816
这个作者很懒,什么都没留下…
展开
-
【看源码】@Cacheable和@CacheEvict的原理, 批量key过期失效的原因分析
最近发现自己搭的一个项目返回的数据不太准确, 第一时间想到了是缓存的问题, 缓存代码如下}有个困扰我很久的问题就是allroom的evict是否生效.类似上面这个场景, 我们经常有list()方法没指定key缓存了全部数据, 以及指定了key是id缓存了单个数据, 最后我们在方法想evict过期上面两种缓存众所周知 @Cacheable 和 @CacheEvict 的使用要求其中之一就是value和key一样, 以及方法参数要一样. 因此单个的evict肯定没问题, 问题是所有的如何过期呢。原创 2022-12-19 18:46:43 · 2341 阅读 · 0 评论 -
Jedis工具类,使用后释放连接
Jedis工具类,使用后释放连接代码为什么要释放连接代码import com.alibaba.fastjson.JSON;import com.google.common.collect.ImmutableList;import lombok.extern.slf4j.Slf4j;import org.apache.commons.lang3.StringUtils;import ...原创 2019-12-26 15:45:21 · 2947 阅读 · 1 评论 -
Jboot通过redis实现每日登录失败次数限制的问题
1. 思路通过redis记录登录失败的次数,以用户的username为key每次收到登录的请求时,都去redis查询登录次数是否已经大于等于我们设置的限制次数, 是的话直接返回2. 代码前台登录和后台查询数据库的代码省略2.1 controller我这里使用的Jboot, 获取redisTemplate的方式是Jboot.me().getRedis(), spring的话...原创 2018-05-28 17:20:15 · 8789 阅读 · 6 评论 -
笔记-关于Redis集群和Redis持久化
一. redis1.1 redis的哈希槽在redis集群中,怎么确定新增的数据添加到哪个实例中去呢?这个时候就涉及到哈希槽的概念。1.1.1 集群中的哈希槽分配redis默认初始化了16384(2的14次方)个哈希槽。在新增一个key-value的时候,redis会计算key的哈希值(crc16),然后对16384取余数,得到这个key所对应的哈希槽,然后按照范围分配到相应的redis...原创 2019-06-17 20:22:23 · 867 阅读 · 0 评论 -
从数据安全的角度解决高并发下秒杀问题(以及redis连接池并发下问题)
从数据安全的角度解决高并发下秒杀问题这个是博主自己闲的无聊的时候想写个demo玩玩,并不算最好的解决方案,当然也是阉割了很多东西的简化版,现实业务肯定比这个复杂这里的话不考虑高并发带来的性能问题,什么负载均衡,限流,分发请求等。就考虑如何保证商品的库存不会超卖。一、思路秒杀下的数据安全,无非是两个角度,一是商品库存,不能超卖;二是用户秒杀,一般来说都不会允许同一个用户秒杀两次先简单说说思...原创 2019-07-30 19:28:08 · 2372 阅读 · 0 评论