
Redis
文章平均质量分 90
redis知识理论笔记及实战
微刻时光
人生短暂,惜时进取!微信:wktime520
展开
-
Redis与IO多路复用
IO多路复用是一种处理并发IO请求的技术,它允许单个线程监视多个文件描述符(file descriptors),以确定哪些文件描述符已经准备好进行IO操作。这项技术的核心在于能够在单个线程中高效地处理多个并发连接,而无需为每个连接创建一个线程。定义:IO多路复用模型允许一个线程处理多个输入/输出通道。当某个通道有数据可读或可写时,该线程会被通知,然后执行相应的操作。提高效率:通过IO多路复用,Redis能够使用一个线程来管理多个客户端连接,减少了线程创建和销毁的开销,提高了资源利用率和系统吞吐量。原创 2024-11-14 01:45:00 · 1384 阅读 · 1 评论 -
Redis缓存击穿,缓存穿透,缓存雪崩理论指导
缓存穿透是指对于某个不存在的数据,由于缓存中没有而直接访问数据库,并且每次请求都要到数据库查询,从而给数据库带来不必要的压力的情况。这种情况通常发生在用户查询数据时,使用了错误的或者不存在的关键字,导致数据库层需要处理大量的无效请求。缓存穿透的影响主要体现在两个方面:一是数据库的压力增大,因为每个请求都需要数据库去确认数据是否存在,这会导致数据库处理大量无效的查询,从而影响数据库对有效请求的处理能力;二是系统的整体性能下降,由于无效请求的增多,系统的响应时间增加,用户体验受到影响。原创 2024-10-29 00:15:00 · 733 阅读 · 2 评论 -
Redis基本命令详解
Redis(Remote Dictionary Server)是一个开源的高性能键值对(Key-Value)数据库。它通常用作数据结构服务器,因为除了基本的字符串键值对存储之外,它还支持列表、集合、有序集合、散列、位图、超日志和地理空间索引半径查询等复杂的数据结构。Redis 以其卓越的性能、高可靠性和灵活性而闻名,被广泛用于各种应用场景。笔记记录了redis的常见操作命令,以备以后查用。原创 2024-09-20 20:19:37 · 5189 阅读 · 0 评论 -
Redis缓存双写一致性笔记(上)
redis缓存双写一致性是指在将数据同时写入缓存(如Redis)和数据库(如MySQL)时,确保两者中的数据保持一致性。在分布式系统中,缓存通常用于提高数据读取的速度和减轻数据库的压力。然而,当数据更新时,如果没有适当的机制来同步缓存和数据库,可能会导致用户读到的数据是过时的或不一致的。先更新数据库,再更新缓存;先删除缓存,再更新数据库;延时双删;消息队列;分布式锁;数据库日志监听等原创 2024-09-28 22:08:34 · 1909 阅读 · 5 评论 -
Redis配置文件详解
Redis(Remote Dictionary Server)是一个开源的高性能键值对(Key-Value)数据库。它通常用作数据结构服务器,因为除了基本的字符串键值对存储之外,它还支持列表、集合、有序集合、散列、位图、超日志和地理空间索引半径查询等复杂的数据结构。Redis 以其卓越的性能、高可靠性和灵活性而闻名,被广泛用于各种应用场景。笔记记录了redis的常见操作命令,以备以后查用。原创 2024-09-21 19:31:21 · 1879 阅读 · 0 评论 -
Redis哨兵机制
哨兵,英文名 Sentinel,是一个分布式系统,用于对主从结构中的每一台服务器进行监控,当主节点出现故障后通过投票机制来挑选新的主节点,并且将所有的从节点连接到新的主节点上。Redis Sentinel 包含若干个 Sentinel 节点和 Redis 数据节点,每个 Sentinel 节点会对数据节点和其余 Sentinel 节点进行监控,当它发现节点不可达时,会对节点做下线标识。原创 2024-09-16 21:27:35 · 1278 阅读 · 0 评论 -
Redis集群知识及实战
Redis 集群是一种提供自动数据分片、高可用性和线性扩展性的数据存储解决方案,可以将数据自动分配到多个节点上,这种分布式存储的方式称为分片(sharding)。这样可以使得数据存储的容量和处理能力随着节点的增加而扩展,如果某个节点发生故障,集群可以自动将请求重定向到健康的节点,从而保证服务的连续性和数据的可用性。Redis 集群支持读写分离,Redis 集群提供了自动化的节点管理功能,包括自动故障检测、自动故障转移和自动重新分片等,随着业务的增长,Redis 集群可以通过增加更多的节点来扩展其处理能力和存原创 2024-09-19 20:34:26 · 2346 阅读 · 1 评论 -
Redis中BigKey与MoreKey优化笔记
Redis中的BigKey指的是那些值(value)特别大的键(key),这可能包括大的字符串或者包含大量元素的集合类型(如list、set、hash、zset等)。BigKey的存在可能会导致Redis的性能问题,因为Redis是单线程操作的,处理BigKey时可能会阻塞其他操作,影响整体性能。在Redis中,MoreKey问题通常指的是当数据库中的key数量非常多时,使用如KEYS *这样的命令去检索所有的key,这会导致Redis服务阻塞,影响正常业务。因为Redis是单线程操作的,执行这类命令时会占原创 2024-09-27 21:26:22 · 958 阅读 · 0 评论 -
Redis 主从复制
从节点(slave)内部通过每秒运行的定时任务维护复制相关逻辑,当定时任务发现存在新的主节点后,会尝试与该节点建立网络连接,如果从节点无法建立连接,定时任务会无限重试直到连接成功或者执行 slaveof no one 取消复制,关于连接失败,可以在从节点执行 info replication 查看 master_link_down_since_seconds 指标,它会记录与主节点连接失败的系统时间。redis主从复制,redis主从复制搭建部署原创 2024-09-17 11:06:02 · 2037 阅读 · 0 评论 -
Redis事务总结
Redis 事务是一个用于将多个命令打包在一起执行的功能,它可以确保这些命令按照顺序执行,并且具有原子性。这意味着事务中的命令要么全部执行,要么全部不执行,这有助于保持数据的一致性。Redis 事务本质:一组命令的集合!一个事务中的所有命令都会被序列化,在事务执行过程的中,会按照顺序执行!一次性、顺序性、排他性!执行一些列的命令!Redis事务没有隔离级别的概念!所有的命令在事务中,并没有直接被执行!只有发起执行命令的时候才会执行!ExecRedis单条命令式保存原子性的,但是事务不保证原子性!Redis原创 2024-09-23 20:00:23 · 1139 阅读 · 0 评论 -
Redis面试笔记
Redis(Remote Dictionary Server)是一个开源的高性能键值对(Key-Value)数据库。它通常用作数据结构服务器,因为除了基本的字符串键值对存储之外,它还支持列表、集合、有序集合、散列、位图、超日志和地理空间索引半径查询等复杂的数据结构。Redis 以其卓越的性能、高可靠性和灵活性而闻名,被广泛用于各种应用场景。笔记记录了redis的常见操作命令,以备以后查用。原创 2024-09-24 20:27:45 · 1295 阅读 · 0 评论 -
Redis知识应用索引指南
Redis是一个使用ANSI C语言编写的开源、跨平台的键值存储系统。它支持多种数据结构,如字符串、哈希、列表、集合、有序集合等,因此也被称为数据结构服务器。Redis提供丰富的语言API,可以轻松集成到各种应用程序中。原创 2024-10-16 12:24:40 · 1217 阅读 · 0 评论 -
Redis缓存过期淘汰策略
Redis的过期策略和淘汰策略对于内存管理和系统性能至关重要。通过合理配置这些策略,可以确保Redis在内存使用达到上限时,能够按照预定的规则淘汰部分数据,以释放内存空间。同时,通过合理的过期策略,可以确保过期的键值对能够及时被删除,避免内存的浪费。在实际应用中,建议根据业务需求和数据特点,选择最合适的过期和淘汰策略。原创 2024-09-26 20:50:27 · 1389 阅读 · 0 评论 -
Redis发布和订阅
Redis 发布订阅 (pub/sub) 是一种消息通信模式:发送者 (pub) 发送消息,订阅者(sub) 接收消息 可以实现进程间的消息传递。这种模式非常适用于实时消息传递、事件通知和消息分发等场景Redis可以实现消息中间件MQ的功能,通过发布订阅实现消息的引导和分流。但是目前不推荐使用该功能,专业的事情交给专业的中间件处理,redis就做好分布式缓存功能Redis 客户端可以订阅任意数量的频道原创 2024-09-22 12:33:39 · 959 阅读 · 0 评论 -
Redis缓存双写一致性笔记(下)
Canal是一款开源的数据同步工具,主要用于实现MySQL数据库增量日志的解析,提供增量数据订阅和消费的功能。Canal通过模拟MySQL slave的交互协议,将自己伪装成一个slave,向MySQL master发送dump协议,从而接收并解析master的binary log。产生历史背景:早期阿里巴巴因为杭州和美国双机房部署,存在跨机房数据同步的业务需求,实现方式主要是基于业务trigger (触发器)获取增量变更。原创 2024-09-29 22:58:12 · 1289 阅读 · 1 评论 -
Redis数据持久化总结笔记
Redis数据持久化是确保Redis中数据不因服务器故障而丢失的重要机制。Redis提供了两种主要的数据持久化方法:RDB和AOF,以及它们的混合持久化。RDB持久化是通过创建数据快照的方式,将某一时刻的数据集保存到硬盘上的RDB文件中。AOF持久化则是记录每次写操作命令并追加到AOF文件中。混合持久化是Redis 4.0引入的新特性,它结合了RDB和AOF的优点。在数据恢复时可以先通过RDB文件快速恢复大部分数据,然后通过AOF文件恢复快照之后的数据变更,从而加快了数据恢复速度并减少了数据丢失的风险原创 2024-09-24 01:30:00 · 885 阅读 · 0 评论