Redis
文章平均质量分 89
使读者深入理解 Redis 的基本原理、数据结构、核心特性及相关概念,全面掌握 Redis 的知识体系,包括内存管理、持久化、事务、集群等方面的知识。
敖云岚
嘿!我是敖云岚,一个在代码江湖里横冲直撞的 “野生程序员”。敲得了 Java 代码,玩转得了 C++ 世界,偶尔还能在 MySQL、Redis 和 RabbitMQ 的地盘里 “撒点野”。写代码时,我是严谨的 “逻辑怪”;生活中,我是行走的 “段子手”。别问我为啥这么爱编程,问就是代码里藏着星辰大海,而我,誓要做那个 “代码捕手”! 快来和我一起,在技术的世界里快乐摸鱼、疯狂成长!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【AI-安装指南】Redis Stack 的安装与使用
传统的 Redis 服务是不能存储向量的,因此我们需要首先安装 Redis Stack,而 Windows 电脑安 装 Redis Stack,官方只提供了 Docker 的安装方式,因此我们需要先按照 Docker,再在 Docker 上安装 Redis Stack。Redis Stack 是一个由 Redis 官方提供的软件套件,旨在简化开发人员对 Redis 模块的使用体验, 并增强 Redis 的功能。Redis Stack 不是 Redis 的替代品,而是扩展其能力的工具。原创 2025-05-30 22:42:49 · 1775 阅读 · 0 评论 -
【安装指南】Redis 的多种安装方式汇总
本文介绍了在CentOS7环境下安装和配置Redis服务的多种方法。主要内容包括:1)本地安装Redis的详细步骤,涵盖SCL源安装、符号链接创建、解压安装包及服务启停;2)使用Docker部署Redis镜像的流程,包括镜像拉取和配置文件挂载;3)通过systemctl管理系统服务的操作方法;4)Redis核心配置详解,涉及访问密码设置、危险命令禁用、远程连接、持久化(RDB/AOF)及集群配置等关键参数。文章提供了两种安装方式的完整指导,并重点解析了生产环境中常用的安全配置和性能优化选项。原创 2025-06-18 09:30:00 · 2022 阅读 · 0 评论 -
【Redis】常见问题解决方案:缓存预热与冷启动
在 Spring Boot 启动之后,可以通过以下手段实现缓存预热:1. 使用启动监听事件实现缓存预热。2. 使用 @PostConstruct 注解实现缓存预热。3. 使用 CommandLineRunner 或 ApplicationRunner 实现缓存预热。4. 通过实现 InitializingBean 接口,并重写 afterPropertiesSet 方法实现缓存预热。原创 2025-06-18 09:00:00 · 1123 阅读 · 0 评论 -
【Redis】缓存三件套:缓存雪崩+缓存穿透+缓存击穿
也就是说缓存穿透是因为数据库查询无数据,出于容错考虑,不会将结果保存到缓存中,因此每次请求都会去查询数据库,这种情况就叫做缓存穿透。:对于某些热点缓存,我们可以设置永不过期,这样就能保证缓存的稳定性,但需要注意在数据更改之后,要及时更新此热点缓存,不然就会造成查询结果的误差。,导致大量的请求直接查询数据库,从而对数据库造成了巨大的压力,严重情况下可能会导致数据库宕机的情况叫做缓存雪崩。:在缓存即将过期之前,提前异步加载缓存,避免在缓存失效时大量请求直接打到数据库或者后端服务。原创 2025-06-17 16:30:09 · 1412 阅读 · 0 评论 -
【Redis】Redis 关于 BigKey 的实践规约
一个 String 类型的 Key,它的值为 5 MB。一个 ZSET 类型的 Key,它的成员数量为10,000个。一个Hash类型的Key,它的成员数量虽然只有1,000个但这些成员的Value(值)总大小为100 MB。单个key的value小于10KB对于集合类型的key,建议元素数量小于1000。原创 2025-06-17 16:01:24 · 916 阅读 · 0 评论 -
【安装指南】Canal 环境的安装与使用
因为 Canal 配置文件(example/instance.properties)默认是 canal/canal,如果不设置本步骤,需要修改 instance.properties 配置文件即可(可以设置为 Root 用户)。 实现的增量数据订阅与消费服务,其核心是通过模拟 MySQL Slave 的行为,从 Master 获取 binlog 事件并解析后投递到消息队列(如 RabbitMQ/Kafka)。缺点:会产生大量的日志,特别是在表中有大量数据更新时,binlog 体积较大。原创 2025-05-23 22:50:00 · 1950 阅读 · 0 评论 -
【Redis】分布式锁的介绍与演进之路
在一个分布式的系统中, 也会涉及到多个节点访问同一个公共资源的情况. 此时就需要通过 锁 来做互斥控制, 避免出现类似于 "线程安全" 的问题。而 java 的 synchronized 或者 C++ 的 std::mutex, 这样的锁都是只能在当前进程中生效, 在分布式的这种多个进程多个主机的场景下就无能为力了。本质上就是使用一个公共的服务器, 来记录 加锁状态。这个公共的服务器可以是 Redis, 也可以是其他组件(比如 MySQL 或者 ZooKeeper 等), 还可以是我们自己写的一个服务。原创 2025-06-06 10:28:06 · 1402 阅读 · 3 评论 -
【Redis】Redis 的持久化策略
Linux中主进程实现对数据的读写操作都是操作物理内存,但是所有的主进程都无法直接操作物理内存,而是由操作系统给每个主进程分配一个虚拟内存,操作系统会维护一个虚拟内存与物理内存之间的映射关系表,这个表叫做页表(映射到物理内存的数据地址)。Redis 生成的 rdb 文件是存放在 Redis 的工作目录中的,也是在Redis配置文件中,进行设置的。当这个快照生成完毕之后,再删除之前的RDB文件,把新的生成的RBD文件名字改成刚才的dump.rdb,从而保证rdb文件的唯一性。原创 2025-06-06 10:17:02 · 1324 阅读 · 0 评论 -
【Redis】Redis 的常见客户端汇总
1. 自定义序列化器super();@Override@Override2. 配置序列化器@Bean// 使用StringRedisSerializer来序列化和反序列化redis的key值// Hash的key也采用StringRedisSerializer的序列化方式。原创 2025-06-05 18:44:51 · 1870 阅读 · 0 评论 -
【面试真题】王者荣耀亿级排行榜,如何设计?
在处理大规模数据时,数据库排序和Redis有序集合(zset)的应用及其面临的挑战。在数据量较小的情况下,数据库的orderby功能是有效的排序方法,但在处理亿级数据时,可能会遇到性能瓶颈。相比之下,Redis的zset因其基于内存的快速排序和良好的扩展性,更适合处理大规模且需要频繁更新的数据。原创 2025-05-12 17:48:00 · 827 阅读 · 0 评论 -
【并发编程】Redisson 的分布式锁
Redisson 是一个开源的用于操作 Redis 的 Java 框架。与 Jedis 和 Lettuce 等轻量级的 Redis 框架不同,它提供了更高级且功能丰富的 Redis 客户端。它提供了许多简化 Redis 操作的高级 API,并支持分布式对象、分布式锁、分布式集合等特性。Redisson 可以设置分布式锁的过期时间,从而避免锁一直被占用而导致的死锁问题。原创 2025-05-11 15:54:28 · 1594 阅读 · 0 评论 -
【并发编程】基于 Redis 手写分布式锁
在集群的情况下,如果客户端发送请求到主服务器获取锁,此时主服务器还没来得及向从服务器同步获取锁的状态,主服务器就发生了宕机。此时客户端再次请求服务器到主服务器(由从服务器选主升级为主服务器),由于之前没有同步锁的状态,获取到另一把全新的锁,导致锁的失效,引发超卖现象。:如果一个线程已经持有了锁,在执行过程中又尝试再次获取该锁(例如递归调用场景下),由于默认的分布式锁实现通常是不支持重入的,第二次获取锁时会失败,进而可能导致死锁(比如线程在持有锁的情况下递归调用自身,每次调用都尝试获取锁但获取不到)原创 2025-05-10 22:52:05 · 1552 阅读 · 0 评论 -
【Redis】Redis 8.0 正式发布!
专为 AI 应用设计,用于存储和查询高维向量嵌入 (Vector Embeddings),极大地增强了 Redis 在向量相似性搜索 (VSS)、语义搜索、推荐系统等场景下的能力。它补充了 Redis 查询引擎中已有的向量搜索能力这意味着直接在 Redis 中存储和操作 JSON 文档。Redis 提供了基于 JSONPath 语法的命令,可以高效地访问和修改 JSON 文档中的特定元素。概率数据结构用较小的内存和计算开销来解决大数据流或大数据集中的常见问题(以牺牲绝对精度为代价)。在原有的。原创 2025-05-07 23:58:34 · 807 阅读 · 0 评论 -
【Redis】Redis 常用命令理解与汇总(超全超详细+持续更新)
1. 查看所有键:keys * (生产环境禁用)2. 查看键总数:dbsizedbsize命令在计算键总数时不会遍历所有键,而是直接获取Redis内置的键总数变量,所以dbsize命令的时间复杂度是O(1)。而 keys 命令会遍历所有键,所以它的时间复杂度是O(n),当Redis保存了大量键时,线上环境禁止使用。exists key。返回键存在的个数,如果 k1,k2 都存在则返回 2;如果 k1 存在,k2 不存在,则返回 1;如果都不存在,返回 0。4. 删除键:del key [...]。原创 2025-05-03 14:45:52 · 3609 阅读 · 0 评论 -
【Redis】Another Redis Desktop Manager 安装指南
国人开发的更快、更好、更稳定的 Redis 桌面客户端工具,功能强大,支持集群、哨兵、SSL 认证、 树状视图、自定义格式化脚本等功能。不要认为这只是 Redis Desktop Manager 的简单升级。基于 Electron 实现,跨平台,界面美观。原创 2025-05-01 13:59:08 · 4952 阅读 · 0 评论
分享