Redis专题
文章平均质量分 72
Redis专题
Malax
这个作者很懒,什么都没留下…
展开
-
Redis的过期键删除策略和内存淘汰策略
一、过期键删除策略定时删除: 在设置键的过期时间的同时,创建一个定时器(timer),过期时间一到就立即执行对键的删除操作优点:对内存是最友好的,保证尽快删除过期键,并释放过期键所占用的内存缺点: 对CPU是最不友好的,在过期键比较多的情况下,删除过期键会占用cpu的较多时间,会对服务器的响应时间和吞吐量造成影响惰性删除: 在获取键的时候对键进行过期检查,如果键过期的话就进行删除优点:对CPU是最友好的,保证对过期键的删除操作只会在非做不可的情况下进行,并且删除目标仅限于当前键缺点:对内原创 2021-11-29 20:36:33 · 207 阅读 · 0 评论 -
如何保证缓存和数据库的一致性
先删除缓存再更新数据库进行更新操作时,先删除缓存,然后更新数据库,后续的请求再次读取时,会从数据库读取后再将新数据更新到缓存。存在的问题 :从删除缓存数据到数据库更新完成之前的这个时间段内如果有新的读请求过来,就会从数据库中读取旧数据重新写到缓存中,再次造成不一致,并且后续读的都是旧数据。先更新数据库再删除缓存进行更新操作时,先更新MySQL,成功之后,删除缓存,后续读取请求时再将新数据回写缓存。存在的问题:从更新数据库到删除缓存的这段时间内,请求读取的还是缓存的旧数据,不过等数据库更新完成,..原创 2021-11-29 17:26:26 · 650 阅读 · 0 评论 -
Redis的数据类型和数据结构
数据类型底层存储结构底层存储结构应用场景StringSDS简单动态字符串存储字符串信息ListLinkedlist、Ziplist双向链表、压缩列表消息队列或栈的实现HashHashtable、Ziplist哈希表、压缩列表存储键值对信息SetHashtable、Intset哈希表、整数数组存储非重复元素ZsetZiplist、SkipList压缩列表、跳表热搜榜、基于Timeline的排序Geospatial————...原创 2021-11-28 20:31:15 · 1128 阅读 · 0 评论 -
Redis为什么这么快
1. 完全基于内存,绝大部分请求是纯粹的内存操作,非常快速。数据存在内存中,查找和操作的时间复杂度都是O(1);2. 数据结构简单,对数据操作也简单,Redis中的数据结构是专门进行设计的;3. 采用单线程,避免了不必要的上下文切换和竞争条件,也不存在多进程或者多线程导致的切换而消耗 CPU,不用去考虑各种锁的问题,不存在加锁和释放锁操作,不会因为可能出现的死锁而导致性能消耗;4. 使用多路I/O复用模型,非阻塞IO;多路I/O复用模型是利用 select、poll、epoll 可以同时监察多个流原创 2021-09-16 14:46:31 · 150 阅读 · 0 评论 -
缓存穿透、缓存击穿、缓存雪崩
一、缓存穿透1.什么是缓存穿透缓存穿透的概念很简单,例如用户想要查询一个数据,发现redis内存数据库没有,也就是缓存没有命中,于是向持久层数据库查询。发现也没有,于是本次查询失败。当用户很多的时候,缓存都没有命中(秒杀),于是都去请求了持久层数据库。这会给持久层数据库造成很大的压力,这时候就相当于出现了缓存穿透。(缓存查不到数据——>给持久层数据库造成极大压力)2.缓存穿透的解决方案第一种解决方案: 布隆过滤器,它是一种数据结构,以hash形式存储所有可能查询的参数,在控制层先进行校验,不符原创 2021-08-10 15:55:06 · 240 阅读 · 0 评论 -
Redis的主从复制和哨兵模式
一、主从复制主从复制是指将一台Redis服务器的数据,复制到其他Redis服务器。前者称为主节点(master/leader),后者称为从节点(slave/follower),默认情况下所有服务器都是主节点。数据的复制是单向的,只能由主节点到从节点,Master以写为主,Slave 以读为主。一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点。1. 主从复制的作用1、数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式2、服务冗余:当主节点出现问题时,可以由从节原创 2021-08-10 15:03:51 · 575 阅读 · 0 评论