![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
redis
xuxizhou1994
厚积薄发
展开
-
缓存穿透、缓存雪崩和缓存击穿是什么?
redis缓存穿透理解重在穿透吧,也就是访问透过redis直接经过mysql,通常是一个不存在的key,在数据库查询为null。每次请求落在数据库、并且高并发。数据库扛不住会挂掉。解决方案可以将查到的null设成该key的缓存对象。 当然,也可以根据明显错误的key在逻辑层就就行验证。 同时,你也可以分析用户行为,是否为故意请求或者爬虫、攻击者。针对用户访问做限制。 其他等等,比如用布隆过滤器(超大型hashmap)先过滤。redis缓存雪崩理解雪崩,就是某东西蜂拥而至的意思,原创 2020-11-10 15:31:38 · 82 阅读 · 0 评论 -
解决redis连接错误:MISCONF Redis is configured to save RDB snapshots, but it is currently not able to...
究其原因是因为强制把redis快照关闭了导致不能持久化的问题,在网上查了一些相关解决方案,通过stop-writes-on-bgsave-error值设置为no即可避免这种问题。有两种修改方法,一种是通过redis命令行修改,另一种是直接修改redis.conf配置文件命令行修改方式示例:127.0.0.1:6379> config set stop-writes-on-bgsave-error no修改redis.conf文件:vi打开redis-server配置的redis.con原创 2020-08-14 17:49:43 · 310 阅读 · 0 评论 -
SpringBoot整合redisson分布式锁
1、分布式锁的实现方式大概有三种:1.基于关系型数据库,2.基于缓存,3基于zookeeper大部分网站使用的是基于缓存的,有更好的性能,而缓存一般是以集群方式部署,保证了高可用性总体来说,支持redis单实例、redis哨兵、redis cluster、redis master-slave等各种部署架构,都可以给你完美实现。2.基于缓存redis,使用开源 redisson 实现分布式锁3、关于redisson 锁的几点说明,1、通过阅读redission锁的API可以得知,其获取锁原创 2020-08-10 14:36:45 · 1513 阅读 · 0 评论 -
Redis分布式锁解决电商订单库存并发问题
在电商分布式项目中,需要考虑提交订单时,因为并发的原因导致库存异常的情况。其中一个解决方案是:使用redis锁,因为Redis是单线程的,即线程安全的;在提交订单的时候,先通过Redis锁进行库存判断,如果库存校验通过,则正常提交顶顶那,否则返回失败。具体逻辑如下: 1- 用户请求提交订单接口,接口内先通过Redis锁进行库存校验(如果第一次获取锁失败,则会继续请求锁,但不超过5次)...原创 2020-04-11 16:40:44 · 1240 阅读 · 0 评论 -
redis 常见场景
String应用场景单值缓存set key valueget key对象缓存1setuser:1 value(json格式)2 mset user:1:name zhuge user:1:balance 2000 mget user:1:name user:1:balance分布式锁setnx product:1001 true //返回1...原创 2020-04-01 15:24:11 · 90 阅读 · 0 评论