Introduction to Redis Hello Redis Example
Redis 简介
Hello Redis 示例
对于高流量的 Web 服务来说,利用某种缓存机制至关重要。缓存是一种将计算数据存储在内存中的方式,以便可以立即处理未来的请求。如果策略得当,缓存还可以避免往返数据层和应用程序端的计算。Redis 和 Memcached 是两种最流行的基于内存的存储系统。在本文中,我们将探讨 Redis 的一些关键概念并学习一些基本命令。除了缓存之外,Redis 还可用于其他需要快速频繁访问数据的应用程序。
Redis

Redis 是一个内存数据结构存储,支持多种数据类型,如字符串、哈希、集合、有序集合等。本质上,它是一个键值存储。
Redis 中每种类型的值都存储在一个二进制安全的键中,键可以是从空字符串到长哈希字符串的任何值。每个应用程序都应遵循预先确定的 Redis 键命名模式,以避免任何命名冲突。
设置Redis
与所有数据库一样,Redis 包含一个用于在内存中存储数据的服务器,以及一些用于向服务器执行命令的客户端。
在本地计算机上搭建服务器时,我建议使用 Docker,因为它易于上手。如果您的计算机上运行着 Docker 守护进程,请运行以下命令:
docker run --rm -it --name local-redis -p 6379:6379 redis
这将在您的本地主机上使用端口 6379 运行一个名为 local-redis 的 Docker 容器。它使用官方 Redis docker 镜像来运行该容器。
对于客户端,我们可以使用 redis-cli 从 Redis 服务器上的控制台执行命令。打开一个新选项卡,并执行以下命令以启动连接到本地 docker Redis 服务器实例的 redis-cli 会话:
docker run -it --link local-redis:redis --rm redis redis-cli -h redis -p 6379
现在我们可以开始执行一些基本的 Redis 命令。
命令
-
设置值:
语法:SET <key> <value>
示例:SET firstname Albert
-
检索值:
语法:GET <key>
示例:GET firstname
-
检查键是否存在:
句法:EXISTS <key>
-
删除一个键:
可以使用以下方法删除密钥及其关联的内存:
DEL <key>
这是一个同步阻塞操作。
删除键的更好方法是取消链接,其相关内存稍后可以由垃圾收集器收集。
UNLINK <key>
-
设置密钥的过期时间:
EXPIRE <key> <seconds>
PEXPIRE <key> <milliseconds>
-
一次性设置一个密钥并检查其存在性和到期性:
句法:SET <key> <value> <EX seconds>|<PX milliseconds> NX|XX
NX - 仅在密钥不存在时设置。XX
- 仅在密钥已存在时设置。EX
- 设置密钥的过期时间(以秒为单位)。PX
- 设置密钥的过期时间(以毫秒为单位)。
例子:
SET firstname Albert EX 10 NX
仅当键不存在时,这将设置键 firstname 的字符串值“Albert”,并且有效时间为 10 秒。
-
增加或减少一个整数值:
Redis 提供了一种方便的方法来增加或减少可用作计数器的整数值。
句法:
INCR <key>
DECR <key>
INCRBY <key> <increment value>
DECRBY <key> <decrement value>
例子:
SET counter 4
INCRBY counter 6
counter 键最初将保存值 4,在第二个命令之后,它将增加到 10。
以上所有命令仅处理字符串或整数值的存储和操作。还有其他数据结构值,例如哈希值、集合、位数组等,可用于解决复杂问题。
现实世界的例子
在实际应用程序中,您可以使用各种编程语言特定的redis 客户端从应用程序代码与您的 Redis 服务器进行交互。
我们将编写一个简单的基于 Node 的应用程序,它公开一个端点,用于根据用户 ID 获取用户信息。为了尽可能简化操作,我们将使用一个 JSON 文件作为数据存储。
npm init
首先,通过运行并安装express和redis作为依赖项来初始化 NPM 存储库。
-
现在,创建一个 redis 辅助文件,用于构建连接到 Redis 服务器的 redis 客户端实例。我们还将在这里为路由处理程序编写一些缓存辅助方法。

-
在主应用文件中,编写一个路由处理程序,该处理程序接受一个用户 ID,用于检索用户信息。接下来,使用该用户 ID 生成一个唯一的 Redis 键。对于给定用户 ID 的每个请求,此键始终相同。检查 Redis 缓存中是否存在此键,如果找到,则返回响应。

-
否则,我们将从数据源查询数据并将响应数据设置为 Redis 缓存,然后将其作为响应发送回去。
要查看完整代码并进行修改,您可以克隆以下存储库:
使用 Redis 缓存数据的 Express 应用程序
Hello Redis 示例
一个快速应用程序,演示了如何利用 redis 缓存数据,以便立即满足重复请求。
要求
设置和运行
- 克隆这个 repo。
- 使用 安装所有节点依赖项
npm install
。
- 确保你的本地 Redis 服务器实例已在 上运行
localhost:6379
。如果没有,并且你的机器上正在运行 docker daemon,则可以通过运行以下命令轻松启动一个。
docker run --rm -it --name local-redis -p 6379:6379 redis
恭喜!您现在已经了解了 Redis 的基础知识。如果您想深入了解,请查看官方Redis 文档。
感谢您的关注,希望这篇文章对您有所帮助。
欢迎关注我的推特,获取更多相关主题的更新。
文章来源:https://dev.to/divyanshutomar/introduction-to-redis-3m2a