如何管理 Redis

在 2020 年 8 月,我正在研究如何更好的使用 Redis 的时候,看到了 Mark 在 DigitalCoean 上的这 How To Manage a Redis Database,读后觉得对于当时还是小白的我来说,非常有帮助。于是,便发送邮件和 Mark 确认这系列的内容是否可以翻译。得到 Mark 的首肯后,我便着手翻译,奈何期间一直忙于各种事务,近几个月搬家至天津后,才有空余时间来翻译这个系列的教程。虽然时间略晚,但 Mark 写的内容依旧可以帮到你。Mark 也在今年的 6 月份从 Digital Ocean 离开,希望 Mark 以后能够写出更多更好的教程,也希望这个教程能帮到你。
白宦成写于 2022 年 10 月 9 日;

简介

Redis 是一个开源的、运行在内存中的的的键值(Key Value)数据库。作为一个 NoSQL 数据库,Redis 不使用结构化查询语言(SQL,Structured Query Language)。相反,Redis 有自己的一套用于管理和访问数据的命令。

本系列教程涵盖了广泛的 Redis 命令,但它们通常侧重于连接到 Redis 数据库,管理各种数据类型,以及故障排除和调试问题,还有一些其他更具体的功能。它们是以小抄(Cheat Sheet)的形式写的,有对应的例子。我们鼓励你直接跳转到和你要完成的任务相关的章节进行阅读。

目录

如何连接到一个 Redis 数据库

无论你是在本地安装了 Redis 还是在使用一个远程实例,你都需要连接到它来执行某些操作。在本教程中,我们将介绍如何从命令行连接到 Redis、如何验证和测试你的连接以及如何关闭 Redis 连接。

如何管理 Redis 数据库以及 Keys

Redis 是一个键值(Key-Value)数据库,一种 NoSQL 数据库,其中键作为其相关值的唯一标识符。任何给定的 Redis 实例都包括一些数据库,每个数据库都可以持有各种数据类型的许多不同键。在本教程中,我们将介绍如何选择数据库、在数据库之间移动键以及管理和删除键。

如何管理 Redis 的副本和客户端

Redis 最受欢迎的功能之一是它对副本的支持:任何 Redis 服务器都可以将其数据复制到任何数量的副本中,从而实现高读取扩展性和强大的数据冗余。此外,Redis 被设计成允许多个客户端(默认情况下多达 10000 个)同时连接并进行数据交互,这个特性使得它成为多用户访问统一数据集下的好选择。本教程将介绍用于管理 Redis 客户端和副本的命令。

如何管理 Redis 中的字符串

在 Redis 中,字符串是你能创建和管理的最基本的值的类型。本教程概述了如何创建和检索字符串,以及如何操作字符串键所持有的值。

如何管理 Redis 中的列表

在 Redis 中,除非显式指明,否则列表是类似于链接列表(linked list)按插入顺序排序的字符串的集合。本教程详细介绍了如何创建列表以及从列表中检索和删除元素。

如何管理 Redis 中的哈希散列(Hash)

Redis 哈希散列是一种数据类型,它表示一个字符串字段和一个字符串值之间的映射。一个哈希可以容纳许多键值对,并且被设计成不占用太多空间,使其成为代表数据对象的理想选择。例如,一个哈希值可能代表一个客户,并包括 "姓名"、"地址"、"电子邮件 "或 "客户 ID "等字段。本教程将介绍如何在 Redis 中管理哈希,包括创建哈希、检索和删除哈希中的数据。

如何管理 Redis 中的 Sets 集合

Redis 中的 Sets 集合是存储在一个给定键上的字符串的集合。当存储在一个集合中时,一个单独的记录值被称为一个成员。与列表不同,集合是不允许重复值的无序结果。本教程解释了如何创建集合,检索和删除成员,以及比较不同集合的成员。

如何管理 Redis 中的 Sorted Sets 有序集合

在 Redis 中,有序集合是一种与集合类似的数据类型,都是不重复的字符串组。不同的是,排序集的每个成员都与一个分数相关,允许它们从最小的分数到最大的分数进行排序或排名。本教程解释了如何创建排序集,检索和删除其成员,以及基于现有的排序集创建新的排序集。

如何在 Redis 中管理事务

Redis 允许你设计一连串的命令,并一个接一个地运行它们,这种程序被称为事务。客户端不可能在事务块执行时运行命令,这确保了事务被视为一个单独的隔离操作。本教程介绍了如何执行和取消事务,还包括一些通常与事务有关的陷阱的信息。

如何让 Redis 中的键过期

Redis 是一个开源的内存键值数据存储。根据你的应用程序的需要,可能会出现这样的情况:你已经设置了一个键,但你知道在一定的时间过后你会想删除它。本教程解释了如何设置键的过期,检查一个键还有多长时间过期,以及取消一个键的过期设置。

如何在 Redis 中排查问题

Redis 带有几个可以帮助排除故障和调试问题的命令。由于其作为内存键值存储的性质,这些命令中有许多侧重于内存管理,但也有一些命令对于提供 Redis 服务器状态的概述很有价值。本教程将详细介绍如何使用其中一些命令来帮助诊断和解决你在使用 Redis 时可能遇到的问题。

如何在命令行中修改 Redis 的配置

有些时候,你可能想临时改变你的 Redis 实例的行为。Redis 有几个命令,允许你直接从 redis-cli 界面对 Redis 服务器的配置设置进行修改。本教程将介绍其中一些命令,并解释如何使这些配置永久化。

作者介绍

Mark Drake(@mdrake),Developer Education + Documentation at Chainguard。

译者介绍

白宦成 (@bestony),Linux 中国技术社区技术负责人,开发者生态顾问,资深技术专家。曾就职于腾讯开发者关系部门,是多个开源软件项目的作者或管理者。

联系方式

如果你对于本系列教程有任何疑问,可以通过以下方式联系我:

授权说明

知识共享许可协议
本作品采用知识共享署名-非商业性使用 - 相同方式共享 4.0 国际许可协议进行许可。