
Redis
文章平均质量分 94
Redis原理及部分场景题积累
来一杯龙舌兰
学识尚浅
展开
-
【Redis】为什么Redis单线程还这么快?通过什么机制进行优化的?
总共有这几个大的方向,保证了单线程的环境下的处理性能:内存、数据结构、非阻塞I/O、多路复用,非CPU密集型、单线程的优势、多线程以及后台线程的处理优化。原创 2025-01-16 18:33:07 · 1040 阅读 · 0 评论 -
Redis-数据淘汰策略(三类八种及LRU详解)
Redis数据过期策略是指在Redis中设置数据的过期时间,并在数据过期时自动从数据库中删除该数据的一种机制。no-eviction:禁止驱逐数据,也就是说当内存不足以容纳新写入数据时,新写入操作会报错。这个应该没人使用吧!原创 2024-05-10 18:23:08 · 924 阅读 · 0 评论 -
Redis-主从同步
主数据库可以进行读写操作,当发生写操作的时候自动将数据同步到从数据库,而从数据库一般是只读的,并接收主数据库同步过来的数据。一个主数据库可以有多个从数据库,而一个从数据库只能有一个主数据库。Redis数据过期策略是指在Redis中设置数据的过期时间,并在数据过期时自动从数据库中删除该数据的一种机制。Redis 的主从同步(replication)机制,允许 Slave 从 Master。主从数据同步主要分二个阶段 : 第一阶段 : 全量复制阶段。那里,通过网络传输拷贝到完整的数据备份,从而达到主从机制。原创 2024-05-10 18:26:22 · 1045 阅读 · 0 评论 -
Redis-分布式锁实现方式
Redis分布式锁主要依靠一个SETNX指令实现的 , 这条命令的含义就是“SET if Not Exists”,即不存在的时候才会设置值。只有在key不存在的情况下,将键key的值设置为value。如果key已经存在,则SETNX命令不做任何操作。原创 2024-05-15 09:25:53 · 1300 阅读 · 0 评论 -
Redis-如何保证与Mysql数据一致性(图解)
Redis 的延迟双删策略通常是指在主节点执行删除操作后,不立即向所有从节点发送删除指令,而是将待删除键的信息放入一个待删除键列表中。在一段时间后,再次检查待删除键列表,如果这些键仍然存在,表示可能有读请求在此期间访问了这些键,那么就执行第二次删除操作,确保从节点的数据与主节点保持一致。MySQL 的延迟双删策略类似于 Redis,主要是指主库在执行删除操作后,并不立即向所有从库发送删除指令,而是将待删除数据的信息先记录到 binlog 中。在一定时间后,再次检查待删除数据,如果依然存在,则执行删除操作。原创 2024-05-15 08:44:57 · 1201 阅读 · 0 评论 -
Redis-分片集群存储及读取数据详解
Redis集群采用的算法是哈希槽分区算法。Redis集群中有16384个哈希槽(槽的范围是 0 -16383,哈希槽),将不同的哈希槽分布在不同的Redis节点上面进行管理,也就是说每个Redis节点只负责一部分的哈希槽。在对数据进行操作的时候,集群会对使用CRC16算法对key进行计算并对16384取模(slot = CRC16(key)%16383),得到的结果就是 Key-Value 所放入的槽,通过这个值,去找到对应的槽所对应的Redis节点,然后直接到这个对应的节点上进行存取操作。原创 2024-05-14 09:53:30 · 747 阅读 · 1 评论 -
Redis-集群方案
Cluster分片集群 : 多主多从 , 解决高并发写的问题, , Cluster 它将数据分片存储到多个节点上,并通过集群间的消息通信(PING命令)来实现数据的自动迁移和故障转移。哨兵(Sentinel)集群 : 主从集群的结构之上 , 加入了哨兵用于监控集群状态 , 主节点出现故障, 执行主从切换 , 解决高可用问题,每个 Sentinel 进程都会监控一组 Redis 实例,并通过投票选举出新的主节点。解决高并发读的问题,主节点负责写操作,从节点复制主节点的数据,并提供读服务。原创 2024-05-14 09:42:32 · 946 阅读 · 1 评论 -
Redis-缓存穿透(布隆过滤器详解)、缓存击穿、缓存雪崩及解决方案
缓存穿透说简单点就是大量请求的 key 根本不存在于缓存中,导致请求直接到了数据库上,根本没有经过缓存这一层。举个例子:某个黑客故意制造我们缓存中不存在的 key 发起大量请求,导致大量请求落到数据库。缓存雪崩是指缓存在同一时间大面积的失效,后面的请求都直接落到了数据库上,造成数据库短时间内承受大量请求。key,在缓存过期的一瞬间,同时有大量的请求打进来,由于此时缓存过期了,所以请求最终都会走到数据库,造成瞬时数据库请求量大、压力骤增,导致数据库存在被打挂的风险。原创 2024-05-09 18:19:33 · 1024 阅读 · 1 评论 -
Redis-数据过期策略
定期删除的扫描并不是遍历所有的键值对,这样的话比较费时且太消耗系统资源。Redis 服务器采用的是随机抽取形式,每次从过期字典中,取出 20 个键进行过期检测,过期字典中存储的是所有设置了过期时间的键值对。如果这批随机检查的数据中有 25% 的比例过期,那么会再抽取 20 个随机键值进行检测和删除,并且会循环执行这个流程,直到抽取的这批数据中过期键值小于 25%,此次检测才算完成。Redis数据过期策略是指在Redis中设置数据的过期时间,并在数据过期时自动从数据库中删除该数据的一种机制。原创 2024-05-09 18:18:42 · 1164 阅读 · 1 评论 -
Redis-数据持久化策略
RDB 持久化(全量):是指在指定的时间间隔内将内存中的数据集快照写入磁盘。AOF持久化(增量):以日志的形式记录服务器所处理的每一个写、删除操作原创 2024-05-08 22:37:05 · 919 阅读 · 1 评论 -
Redis-详解(基础)
什么是Redis?用Redis可以实现哪些功能?Redis的常用数据类型有哪些?Redis的常用框架?原创 2024-05-08 22:25:10 · 1157 阅读 · 1 评论