Redis 核心特性与基础详解(结合实例)
Redis(Remote Dictionary Service)是一个开源的内存数据库,以高性能和灵活的数据结构著称。它被广泛用于缓存、消息队列、实时排行榜等场景。下面通过实际案例和操作,深入浅出地解析 Redis 的核心特性。
一、核心特性概览
- 内存存储,超高性能:数据存储在内存中,读写速度达10万+/秒。
- 丰富的数据结构:支持字符串、哈希、列表、集合、有序集合等。
- 持久化:通过 RDB 和 AOF 机制保障数据不丢失(详见之前的持久化详解)。
- 高可用与扩展:支持主从复制、哨兵(Sentinel)、集群(Cluster)。
- 原子操作与事务:支持简单事务和 Lua 脚本,保证操作原子性。
二、核心数据结构与使用场景
1. 字符串(String)
- 本质:最简单的键值对,值可以是文本、数字或二进制数据。
- 常用命令:
SET user:1 "Alice" # 存储用户信息 GET user:1 # 获取用户信息 INCR article:1001:views # 文章阅读量+1(原子操作)
- 场景:
- 缓存:存储用户会话、页面缓存。
- 计数器:文章阅读量、商品库存。
示例:记录商品库存
> SET product:1001:stock 100 # 初始化库存为100
> DECR product:1001:stock # 扣减库存,返回99
2. 哈希(Hash)
- 本质:键值对的集合,适合存储对象。
- 常用命令:
HSET user:1001 name "Bob" age 30 # 存储用户字段 HGET user:1001 name # 获取用户名 HGETALL user:1001 # 获取所有字段
- 场景:
- 用户资料:存储多个字段(姓名、年龄、地址)。
- 商品详情:价格、库存、描述等属性。