![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Redis
Lamborrt
学吧,学无止境
展开
-
[面试题]缓存穿透,缓存击穿和缓存雪崩,以及布隆过滤器
缓存穿透: 当某一时刻大量请求数据库中不存在的数据时,由于按常规缓存逻辑,不存在的数据不会存入缓存,因此这些请求会直接落到数据库,给数据库造成巨大压力,通常是非正常用户对服务器的攻击行为 应对策略: 1,对不存在的数据设置约定值,如果数据库数据不存在,依然设置缓存,并对其设置一个过期时间,防止redis服务因过多的"不存在"键值压力过大 2,用户端/服务端做好校验,对非常规查询进行拦截 缓存击穿: 大量请求同时查询缓存中不存在的值,通常是[某一]缓存过期,刚好大量请求同事查询这个数据,会造成瞬间数据库高并发原创 2021-02-21 15:19:42 · 139 阅读 · 0 评论 -
记录踩过的redisTemplate的一个坑
领导让紧急开发新项目,小程序端商品有一个浏览次数的字段,就用缓存实现,但用redisTemplate一取就报错,报错信息也没看出什么端倪,打开工具一看存的value有80多M,直到第二天点开方法看了下源码,感觉有点不对劲: 到网上一查发现这里的第三个参数是指定value大小的,而我传进去的数据是时间(246060),并且漏了单位,就成了这样,真正应该调的方法是这个: 真是这世界本来没什么坑...原创 2020-04-08 10:10:31 · 425 阅读 · 0 评论 -
redis根据key模糊匹配批量删除
公司正服redis由于测试产生了一批垃圾数据,想要批量删除之,网上找了一大堆答案,均不能解决问题,因为我们的辣鸡数据在db2,而大部分都是默认db0,遂无奈找了又找,最终一位老哥向我伸出了救命稻草,不墨迹了,上干货: redis-cli -h DB_port -a DB_pwd -n DB_idx keys “key_prefix*” | xargs redis-cli -h DB_port -a...原创 2019-07-03 18:14:30 · 5733 阅读 · 1 评论 -
通过redis分布式锁实现多台服务器定时任务唯一执行
当服务部署在负载均衡下的多台服务器上时,无法通过在代码里面添加同步阻止比如定时器重复执行,用户重复提交等问题发生,这时可以使用分布式锁 当然,这只是个简单的demo,而且没有实现原子性,如果是定时任务,可以获取下次任务执行时间并设置过期时间 参考: https://blog.csdn.net/m0_37179470/article/details/81449213 ...原创 2019-08-05 16:57:27 · 1079 阅读 · 0 评论