Redis 简介

Redis(Remote Dictionary Server)是一个开源的内存键值数据库,数据保存在内存中,读写极快,常用于缓存、消息队列、排行榜等场景。它支持字符串、哈希、列表、集合等多种数据结构,是后端开发与运维必会的工具之一。

核心特性

Redis 相比传统数据库有几大特点:

特性说明
内存存储数据在内存中,单线程处理命令,读写性能极高
多种数据结构String、Hash、List、Set、ZSet 等,直接支持业务模型
持久化可通过 RDB 快照与 AOF 日志把内存数据落盘
高可用主从复制、哨兵、集群可支撑大规模生产部署
原子操作单命令执行原子,配合 Lua 脚本可实现复杂原子逻辑

默认监听 6379 端口,客户端通过 TCP 协议收发命令。

典型应用场景

按用途分类,Redis 常见于以下场景:

  • 缓存:把数据库查询结果、热点数据放入 Redis,降低后端压力。
  • 计数器:文章的阅读数、点赞数用 INCR/DECR 原子增减。
  • 排行榜:有序集合 ZSet 天然支持按分数排序取 TopN。
  • 会话存储:分布式环境下用 Redis 保存登录态,实现多机共享。
  • 消息队列:List 的阻塞弹出、Stream 可搭建轻量队列。

与 Memcached 对比

Memcached 也是经典的内存缓存,但 Redis 功能更丰富:

对比项RedisMemcached
数据结构十余种仅字符串
持久化支持 RDB/AOF不支持
主从/集群完善较弱
典型定位缓存 + 业务存储纯缓存

需要「缓存以外能力」(如排行榜、计数器、持久化)时选 Redis 更合适。

常见误解

  • Redis 只是缓存:实际它是有持久化能力的数据库,可以承担存储职责。
  • 单线程等于慢:单线程省去锁竞争与上下文切换,简单命令吞吐反而很高。
  • 数据丢了没事:未开启持久化时重启确实丢数据,生产要按需配置 RDB/AOF。

小结

Redis 是高性能的内存键值数据库,凭多种数据结构和丰富特性统治缓存领域。后续章节将依次介绍安装启动、配置、命令客户端、数据类型与常用命令。

笔记加载中…