
Redis
文章平均质量分 65
深入理解Redis性能优化
Thecoastlines
努力是为了让自己不再平庸
展开
-
【Redis系列】深入浅出缓存击穿,缓存穿透,缓存雪崩
一、缓存击穿1.什么是缓存击穿在某个高并发场景下,某个或多个热点key过期,导致海量请求在缓存中查询不到结果,进而打到了DB上,给DB造成了很大的压力。2.解决方案(1)将key设置为永不过期,然后在存储的对象中加入一个属性-过期标识时间。每次获取数据时进行校验,如果发现过期,则异步发起一个线程更新缓存中的数据。(这种方法存在一个问题,在某一刻可能会导致大量请求拿到的是过期数据)(2)使用时Redis分布式锁当请求到来时,看是否能够命中缓存,如果能命中直接返回数据即可;如果不能命中,尝试原创 2022-02-25 00:19:41 · 623 阅读 · 0 评论 -
【Redis系列】面试官:Redis中的数据已经过期,为什么还占用这内存?
如果有面试官问Redis中的数据已经过期为什么还占用这内存?它是因为Redis本身的过期策略和缓存淘汰机制所导致的。说说Redis的过期策略和缓存淘汰机制先来说说Redis的过期策略,Redis的过期策略其实分为两种:被动方式和主动方式被动方式:当请求访问某个过期key时,该key会主动删除。这也有一个问题有些过期key可能永远也不会被访问。主动方式:定期随机抽取一些key,然后删除过期的部分,如果发现过期部分大于1/4,则继续随机抽取进行删除。接着是缓存淘汰机制由于定期删除+惰性.原创 2022-02-24 18:55:26 · 864 阅读 · 0 评论 -
【Redis系列】深入浅出Redis主从复制之哨兵模式【实践】
接上文:深入浅出Redis主从复制之读写分离【一篇搞懂Redis复制】在上文简单的主从复制中,有一个这样的问题,一旦master宕机,就无法在客户端完成写操作。而哨兵模式刚好解决了这个问题。1.修改sentinel.conf文件拷贝一份到指定目录下:cp sentinel.conf /opt/redis/conf/重命名:mv sentinel.conf sentinel-common.conftouch sentinel-26379.conftouch sentinel-26380.c.原创 2022-02-24 08:19:24 · 221 阅读 · 1 评论 -
【Redis系列】深入浅出Redis主从复制之读写分离【一篇搞懂Redis复制】
Redis默认采用异步复制的持久化方案(RDB),具备低延迟、高性能的特点。这是大多数Redis的自然复制模式。主从复制(master-replica)-读写分离这是基于RDB持久化方案的全量数据复制模式。1.主从复制-读写分离原理为了解决高并发场景下Redis的性能问题,需要对单例Redis进行横向扩展;我们都知道在缓存中读的并发量要远远大于写的并发量。所以就产生了一种读写分离的方法:将读和写分开,master节点可以进行读写操作,而slave节点只能进行读操作(conf文件可以修改),因此读.原创 2022-02-23 18:25:53 · 4810 阅读 · 0 评论 -
Springboot集成cache的key生成策略
代码接上文:深度理解springboot集成redis缓存之源码解析## 1.使用SpEL表达式 @Cacheable(cacheNames = "emp",key = "#root.methodName+'['+#id+']'") public Employee getEmp(Integer id) { System.out.println("查询"+id+"号员工"); Employee emp = employeeMapper.getEmpById(id原创 2021-01-15 21:21:48 · 1340 阅读 · 0 评论 -
深度理解springboot集成cache缓存之源码解析
一、案例准备1.创建数据表(employee表)2.创建Employee实体类封装数据库中的数据@AllArgsConstructor@NoArgsConstructor@Data@ToStringpublic class Employee { private Integer id; private String lastName; private String email; private Integer gender; //1.男 2.女原创 2021-01-14 22:50:40 · 496 阅读 · 0 评论 -
redis的基础命令操作
文章目录前言一、字符串类型二、哈希类型三、列表类型四、集合类型五、有序集合类型六、通过命令前言redis的数据结构redis存储的是key,value格式的数据,其中的key是字符串,value有5种不同的数据结构value的数据结构1.字符串类型 string2.哈希类型 hash3.列表类型 list4.集合类型 set5.有序集合类型 sortedset提示:本博客仅为了记录自我的学习过程,理清技术思路一、字符串类型1.存储:set key value2.获取:get.原创 2020-12-30 19:51:09 · 199 阅读 · 0 评论