
Redis
文章平均质量分 71
辞暮尔尔-烟火年年
活到老,学到老
展开
-
Redis 的缓存过期策略
Redis 的缓存过期策略是指当数据存储在 Redis 中时,如何处理到达特定生命周期末端的数据。Redis 主要使用两种策略来管理键的过期:惰性过期(Lazy Expiration)和定期删除(Periodic Deletion)。原创 2024-03-03 11:17:39 · 552 阅读 · 0 评论 -
Redis内存淘汰策略
Redis的内存淘汰策略决定了当内存达到限制时,Redis将如何选择删除键来释放空间。noeviction。原创 2024-02-26 10:29:39 · 588 阅读 · 0 评论 -
Redis主从复制
Redis 主从复制功能允许用户创建一个或多个只读的副本服务器,这些副本服务器的数据与主服务器保持同步。主从复制功能主要用于数据冗余、高可用性、读写分离和数据备份等场景。原创 2024-02-25 10:27:30 · 660 阅读 · 0 评论 -
Redis 常见数据结构应用场景
Redis支持多种数据结构,它们各有特点和适用场景。这里详细介绍8种常见数据结构的应用场景、源码解析和Java代码示例。原创 2024-02-24 09:46:59 · 804 阅读 · 0 评论 -
Redis缓存一致性
Redis缓存一致性问题通常发生在缓存(Cache)层与数据存储(例如数据库DB)层数据更新时的同步问题上。为了保证一致性,我们需要确保数据在被修改时,缓存与数据库中的相应数据能够保持同步。原创 2024-02-22 11:23:08 · 813 阅读 · 0 评论 -
Redis 缓存持久化
Redis 缓存持久化是指将内存中的数据保存到磁盘中,以防服务器故障导致数据丢失。Redis 提供了两种主要的持久化方式:RDB 快照和 AOF 日志。原创 2024-02-21 11:45:54 · 648 阅读 · 0 评论 -
Redis Sentinel工作原理
Redis Sentinel是Redis的高可用性解决方案。它主要用来监控Redis master和slave服务器的运行状态,并在master宕机时自动进行故障转移,即从slave节点中选举出新的master节点,并让其余的slave节点指向新的master节点。原创 2024-02-16 05:25:37 · 1698 阅读 · 0 评论 -
Redis缓存雪崩
Redis缓存雪崩指的是在我们设置缓存时,大量的key设置了相同的过期时间,这样会导致在这个时间点到达时,同时大量的key失效,所有对这些key的请求都落到了数据库上,导致数据库压力剧增,甚至会导致数据库崩溃。原创 2024-02-15 03:04:08 · 797 阅读 · 0 评论 -
Redis分布式锁
为了解决这些高级问题,可以考虑使用成熟的Redis客户端库,如RedLock算法的实现,或者使用诸如ZooKeeper等其他分布式协调服务。在生产环境中,直接使用简单的Redis实现而不考虑这些问题是不安全的。Lua脚本在Redis服务器端执行,检查锁是否为当前请求标识符所持有,如果是,则删除该锁。在Redis中实现分布式锁主要依赖于几个关键的操作原子性。在使用Redis实现分布式锁时,通常关注的是命令的原子性,以及如何确保锁的安全性和可靠性。方法尝试获取一个分布式锁,它将锁的名称(),以及锁的过期时间(原创 2024-02-13 01:22:01 · 624 阅读 · 0 评论 -
Redis缓存击穿
Redis缓存击穿是指一个热点key(高并发访问的key)在缓存中失效的瞬间,导致大量请求直接落到数据库上,从而给数据库服务器带来巨大压力的情况。原创 2024-02-12 02:53:51 · 655 阅读 · 0 评论 -
Redis 事务
Redis 事务允许将多个命令打包,然后一次性、按顺序地执行。MULTIEXECDISCARD和WATCH。原创 2024-02-09 03:26:26 · 1001 阅读 · 0 评论 -
Redisson分布式锁
Redisson是一个基于Java的Redis客户端,提供了许多分布式数据结构和同步工具,其中包括实现分布式锁的RLock接口。原创 2024-02-03 11:45:18 · 612 阅读 · 0 评论 -
Redis是单线程还是多线程?
Redis最初是设计为单线程的服务器,其核心处理命令请求的逻辑是单线程的,这使得Redis非常简单而高效。核心单线程的设计意味着它使用非阻塞I/O,并且按顺序处理所有操作,从而避免了锁和多线程的竞争条件。然而,在最近的Redis版本中(例如,从5.0版本开始),引入了一些多线程处理,尤其是在I/O操作和某些背景任务中。例如,Redis使用多个线程来处理慢查询日志、进行AOF和RDB的持久化操作,以及进行网络I/O的读写分离。原创 2024-02-02 10:17:38 · 808 阅读 · 0 评论 -
Redis相关问题及答案
选择哪种集群方式取决于具体的应用需求,包括需要支持的数据量大小、读写操作的比例、可用性和一致性的要求等。对于需要自动数据分片和高可用性的情况,官方的 Redis 集群模式通常是首选。而如果对稳定性和简单性的要求更高,可能会选择哨兵模式,尤其是当不需要水平扩展写操作能力时。主从复制模式适用于数据冗余和读扩展。在实际部署时,这些模式有时会根据需求进行混合以达到最优的架构设计。9、Redis的键有哪些过期策略?原创 2023-12-16 18:35:23 · 1302 阅读 · 0 评论 -
Redis Cluster
Redis Cluster提供了一种进行数据分片的方法,并在节点之间提供了自动分区。在Redis Cluster中,数据被分散到不同的节点,在这些节点之间保持平衡,并在节点故障时提供自动故障转移。原创 2024-01-31 11:21:28 · 571 阅读 · 0 评论 -
Redis 为什么快?
Redis为不同类型的操作提供了专门优化的数据结构,例如字符串、列表、集合、哈希表等。: Redis使用单线程来处理命令,消除了多线程环境中的上下文切换和竞态条件等开销。: Redis的通信协议(RESP: REdis Serialization Protocol)简单高效,使得客户端和服务器之间的数据交换最小化。Redis中的哈希表使用了"SipHash"算法来计算键的哈希值,以及"渐进式rehash"机制来避免长时间的锁。: Redis的源码包含了大量针对性能的优化,例如避免内存分配、循环展开等。原创 2024-01-27 11:22:55 · 648 阅读 · 0 评论 -
Redis缓存穿透
Redis缓存穿透是指当客户端请求的数据在缓存中不存在,而且在数据库中也不存在的情况。这种情况下,客户端的每次请求都会穿过缓存直接查询数据库,如果大量此类请求发生,会对数据库造成很大压力,可能导致数据库服务瓦解。原创 2024-01-25 12:21:20 · 648 阅读 · 0 评论