摘要: Redisson是一个在Redis的基础上实现的Java驻内存数据网格(In-Memory Data Grid)。它不仅提供了一系列的分布式的Java常用对象,还提供了许多分布式服务。其中包括(BitSet, Set, Multimap, SortedSet, Map, List, Queue, B 阅读全文
posted @ 2021-03-04 16:56 巧克力曲奇 阅读(497) 评论(0) 推荐(0) 编辑
摘要: 本地缓存问题:每个微服务都要有缓存服务、数据更新时只更新自己的缓存,造成缓存数据不一致 解决方案:分布式缓存,微服务共用 缓存中间件 分布式锁分布式项目时,但本地锁只能锁住当前服务,需要分布式锁 redis分布式锁的原理:setnx,同一时刻只能设置成功一个 前提,锁的key是一定的,value可以 阅读全文
posted @ 2021-03-04 15:22 巧克力曲奇 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 缓存穿透 缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求,如发起为id为“-1”的数据或id为特别大不存在的数据。这时的用户很可能是攻击者,攻击会导致数据库压力过大。 解决:缓存空对象、布隆过滤器、mvc拦截器 缓存雪崩 缓存雪崩是指在我们设置缓存时key采用了相同的过期时间,导致缓存在 阅读全文
posted @ 2021-03-04 14:23 巧克力曲奇 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 当进行压力测试时后期后出现堆外内存溢出OutOfDirectMemoryError 产生原因: 1)、springboot2.0以后默认使用lettuce作为操作redis的客户端,它使用netty进行网络通信 2)、lettuce的bug导致netty堆外内存溢出。netty如果没有指定堆外内存, 阅读全文
posted @ 2021-03-04 14:04 巧克力曲奇 阅读(903) 评论(0) 推荐(0) 编辑