Redis 是一个使用 C 语言编写的开源、BSD 许可、高级的键值存储,。它也被称为数据结构服务器,因为键可以包含字符串、哈希、列表、集合和有序集合。本教程将介绍使用 Redis 所需的基本概念。
为什么使用 Redis?
Redis 当然并不是唯一可以选择的键值存储。然而,与其他竞争对手相比,它确实有一些优势。例如:
- Redis 比其他大多数键值数据存储支持更多的数据类型。一般情况下,开发人员已经认识大部分数据类型,包括列表、集合、有序集合和哈希。这让解决问题变得容易,因为开发人员往往知道每项工作要使用哪种数据类型才合适。
- Redis 将其数据库全部保存在内存中,仅使用磁盘进行持久化,使它的速度非常快。事实上,它每秒可以执行大约 110,000 个 SET,以及每秒大约 81,000 个 GET!
- Redis 可以将数据复制到任意数量的从服务器。
- Redis 的所有操作都是原子的,这可以确保如果两个客户端同时访问相同的数据,Redis 服务器将收到更新后的值。
- Redis 原生支持发布/订阅,使其非常适合用于收发消息和队列。
- Redis 非常适合管理您应用程序中的任何短暂数据,如 Web 应用程序会话、网页点击计数等。
何时不使用 Redis
当然,Redis 并非没有任何缺陷。如果你需要在停电等情况下将数据损失的风险减至最少,这可能不是你的最佳选择。你可以配置多个保存点,例如每五分钟和/或对数据集进行了 100 次写入操作。然而,如果 Redis 因任何原因在未正常关机的情况下停止工作,你应该做好会丢失最近几分钟数据的准备。
另一个问题是 Redis 通常需要分叉(fork)一个子进程,以将数据永久存放在磁盘。如果数据集很大,这可能会消耗大量系统资源,并可能导致客户端的服务中断,时间从几毫秒到一整秒不等,具体取决于数据集大小和 CPU 功率。
安装 Redis
安装 Redis 的步骤取决于你的操作系统以及是否希望捆绑安装 Redis Stack 和 Redis UI。Redis 官方网站有每个操作系统的安装指南:
- 在 Linux 上安装 Redis
- 在 macOS 上安装 Redis
- 在 Windows 上安装 Redis
- 安装 Redis 以及 Redis Stack 和 RedisInsight
- 由源码安装 Redis(需要 C 编译器和 libc)
安装好并启动运行 Redis 后,可以使用 Navicat for Redis 进行连接,然后继续以下教程。
探索 Redis CLI
Navicat for Redis 有一个命令列界面,能让你直接与数据库实例传达命令:
使用 Navicat 中的 CLI 的一个优点是它提供全方位的 CLI 命令自动完成功能,包括命令名称及其参数:
总结
本教程介绍了开始使用 Redis 所需的基本概念。未来几周将会有更多关于 Redis 的文章,所以一定要经常回来看看呀!