Redis安装及应用 | 青训营

86 阅读3分钟

Redis安装及应用

1. 简介

Redis(Remote Dictionary Server)是一种快速、开源的键值存储数据库管理系统,通常被称为缓存服务器。它支持多种数据结构,如字符串、哈希、列表、集合、有序集合等,适用于各种场景,包括缓存、消息队列、实时统计等。本篇笔记将介绍 Redis 的使用方法及一些常见应用场景。

2. 安装和配置

Redis 的安装相对简单,通常在官方网站下载对应的二进制文件,并解压即可。Linux 下也可以使用包管理器进行安装。安装完成后,可以通过修改配置文件来调整 Redis 的行为,如更改端口号、设置密码、配置持久化等。

3. 连接和基本操作

连接 Redis 可以使用命令行客户端或者编程语言提供的 Redis 客户端库。以下是一些基本操作示例:

3.1 字符串操作

# 设置键值对
SET mykey "Hello Redis"

# 获取值
GET mykey

# 自增
INCR counter

3.2 哈希操作

# 设置哈希值
HSET user:id1 name "Alice"
HSET user:id1 age 30

# 获取单个字段值
HGET user:id1 name

# 获取所有字段和值
HGETALL user:id1

3.3 列表操作

# 列表尾部添加元素
RPUSH mylist "item1"
RPUSH mylist "item2"

# 获取列表元素范围
LRANGE mylist 0 -1

3.4 集合操作

# 添加元素
SADD myset "member1"
SADD myset "member2"

# 获取集合所有元素
SMEMBERS myset

4. 数据持久化

Redis 支持两种方式的数据持久化:RDB 和 AOF。

4.1 RDB 持久化

RDB 是将 Redis 在某个时间点的数据快照保存到磁盘上。可以通过设置 save 指令来指定保存的触发条件,也可以手动执行 SAVEBGSAVE 命令来触发快照保存。

# 设置保存条件,表示900秒内至少有1个 key 被修改则保存快照,300秒内至少有10个 key 被修改则保存快照
save 900 1
save 300 10

# 手动保存快照
SAVE

# 在后台异步保存快照
BGSAVE

4.2 AOF 持久化

AOF(Append Only File)持久化是将 Redis 的写命令追加到文件末尾,以保证数据的完整性。可以通过设置 appendonly 参数来开启 AOF 持久化。

# 开启 AOF 持久化
appendonly yes

5. 缓存应用

Redis 最常见的应用场景之一是缓存。通过将经常访问的数据存储在 Redis 中,可以大大提高访问速度。例如,在 web 应用中,可以将数据库查询结果缓存在 Redis 中,当下次需要相同数据时,先从 Redis 获取,若不存在再从数据库读取,并将结果缓存到 Redis 中,以便下次使用。

6. 发布/订阅

Redis 支持发布/订阅模式,通过发布/订阅可以实现消息的实时传递,广播等场景。一个客户端可以订阅一个或多个频道,而其他客户端可以向频道发布消息。

# 客户端1 订阅频道 channel1
SUBSCRIBE channel1

# 客户端2 向频道 channel1 发布消息
PUBLISH channel1 "Hello, subscribers!"

7. 总结

Redis 是一个功能强大且易于使用的键值存储数据库,提供了丰富的数据结构和灵活的配置选项。在实际应用中,可以将 Redis 用作缓存、消息队列、计数器等,发挥其高性能和低延迟的优势。但也需要注意数据持久化和高可用性的设置,确保数据的安全性和可靠性。