
Redis
文章平均质量分 87
菜就多练少说
这个作者很懒,什么都没留下…
展开
-
Redis的IO多路复用机制:高效的网络通信设计
IO多路复用(I/O Multiplexing)是指在单一的线程或进程中同时处理多个I/O操作。通过这种机制,一个进程(或线程)可以监视多个I/O事件,并在事件准备好后再进行处理,而不是每个I/O操作都使用一个独立的线程或进程。这种机制的核心是事件驱动模型,它能够通过监听文件描述符(如socket)上的I/O事件,阻塞等待直到某个事件准备好,然后通过非阻塞方式来处理对应的I/O操作。在Redis中,IO多路复用是处理客户端请求的主要方式,它能帮助Redis在单线程模型下高效地处理成千上万的并发请求。原创 2025-03-16 13:49:23 · 1219 阅读 · 0 评论 -
Redis系列:深入理解缓存穿透、缓存击穿、缓存雪崩及其解决方案
缓存穿透是指客户端请求的数据根本不存在,即缓存中没有,数据库中也没有。这时每次请求都会直接穿过缓存访问数据库,由于数据不存在,数据库始终返回空,导致缓存失效,数据库可能承受巨大压力,甚至影响系统稳定性。缓存击穿是指某个高热数据刚好过期失效的瞬间,有大量请求同时访问该数据,导致缓存未命中,请求直接进入数据库,引发数据库压力瞬间剧增的情况。缓存雪崩是指缓存中大量数据在同一时间集中失效(过期),导致大量请求瞬间进入数据库,造成数据库压力过大,甚至导致数据库宕机的情况。原创 2025-03-16 13:25:55 · 1019 阅读 · 0 评论 -
布隆过滤器:一种简单而高效的集合查询方法
今天,我们来介绍一个非常高效、空间节约的集合查询工具——它是一种概率型数据结构,特别适合用于,并且它的查询速度非常快,且占用的空间非常小。尽管布隆过滤器有可能误判(假阳性),但是它不会漏判(假阴性)。原创 2025-02-24 23:37:27 · 1080 阅读 · 0 评论 -
Redis 缓存雪崩、缓存穿透、缓存击穿详解
在缓存失效的瞬间,为第一个请求的线程加锁,只有获取到锁的线程可以访问数据库并更新缓存,其他线程等待缓存更新后再读取缓存,避免数据库被并发请求打爆。在缓存失效的瞬间,有大量并发请求同时到达这个数据,由于缓存过期,这些请求直接打到数据库,导致数据库负载激增。的数据,直接缓存一个空值,并设置较短的过期时间(如 5 分钟),避免短时间内重复查询这些不存在的数据。对于热点数据,可以设置较长的过期时间,或者让这些数据不过期,定期主动更新缓存,避免过期时产生缓存击穿。如果用户不断请求数据库中不存在的。原创 2024-09-21 18:26:31 · 819 阅读 · 0 评论 -
Redis中的数据结构详解与示例
Redis 是一个开源的内存数据结构存储系统,它可以作为数据库、缓存和消息代理。它支持多种类型的数据结构,包括字符串(String)、哈希(Hash)、列表(List)、集合(Set)、有序集合(ZSet)等。本文将详细介绍 Redis 中这些主要的数据结构,并通过示例展示其用法。字符串是 Redis 中自定义的数据结构。由于Redis是由C语言编写的,所以想要支持String类型的数据结构,必须要重新定义String这个数据结构。原创 2024-09-21 17:02:07 · 1337 阅读 · 0 评论