redis
Csea_
这个作者很懒,什么都没留下…
展开
-
Mysql、Redis、Redisson分布式锁
Mysql代码ProductEntity selectLock(@Param("title") String title);<select id="selectLock" resultType="com.csea.lock.pojo.ProductEntity"> select * from product where title = #{title} for update</select> @RequestMapping("mysql/singleLock")原创 2020-07-15 15:45:11 · 274 阅读 · 0 评论 -
Redis的穿透、雪崩
穿透穿透是指在缓存中没有的数据,有人恶意请求数据,导致跳过了redis,直接去请求数据库的数据,导致数据库压力过大宕机。比如请求id为8888的信息,但是没有8888的信息,这时候恶意请求会一直去数据库中查询数据。预防常用的方式是直接将为空的数据也存到缓存总,比如id为8888的在数据库中不存在,那也照样存入到缓存中,这样就会去请求缓存中的数据。布隆过滤器他是以一个二进制数组的形式存在...原创 2020-04-11 14:57:11 · 115 阅读 · 0 评论 -
Redis缓存过期处理、内存淘汰机制
Redis内部有两种缓存过期处理:设置了expire的缓存过期之后,还是会占用内存,这是基于redis的两种删除缓存策略:1. (主动)定期删除定时检查redis中过期的key,如果过期了就可以删除,可以在conf中配置每秒检查的次数。2. (被动)惰性删除如果客户端来访问一个已经过期的key,redis会检查这个key是否过期,如果过期了就会返回nil。这个方式不会有太多的损耗,但是内...原创 2020-04-09 21:41:19 · 306 阅读 · 0 评论 -
Redis主从架构、以及无磁盘化的主从复制
Redis主从架构主从架构也成为 水平横向扩展,读写分离架构主(master)从(slave)读的操作都丢给slave,写丢给master1.slave会先去Ping master ,告诉master,我已经连接上了,你可以给我分派任务了2.master这时候就会把数据给到slave,让他去做处理(数据复制,这是全量的复制)3.这个数据就是RDB,他会把最新的数据从内存中拿出来,把最...原创 2020-04-07 21:39:37 · 179 阅读 · 0 评论