Redis®*: 快速开始

Redis 快速入门指南

👋 欢迎来到 Stackhero 文档!

Stackhero 提供现成的 Redis 云 解决方案,具有众多优势,包括:

  • 包含 Redis Commander 网页界面
  • 无限消息大小和传输。
  • 只需点击即可轻松更新
  • 专用私有 VM提供的最佳性能和强大安全性

节省时间简化生活:只需 5 分钟即可试用 Stackhero 的 Redis 云托管 解决方案!

Redis 是一个强大且速度极快的内存数据库,可以承担多种角色。您可以将它用作缓存、键值存储、实时数据结构引擎,或发布/订阅与事件系统。

Redis 再次成为开源软件:自 Redis 8(2025 年 5 月)起,它采用 GNU AGPLv3 许可证发布。 如果您更倾向于使用宽松许可(BSD)的 drop-in 替代方案,社区驱动的分支 Valkey 也可在 Stackhero 上使用。

为了帮助您快速上手,我们分享了一些代码示例,展示如何连接到 Redis 实例。您可以在这个 GitHub 仓库中找到它们:https://github.com/stackhero-io/redisGettingStarted

首先,您可以使用以下命令安装 redis gem:

bundle add redis

接下来,您可以打开 config/environments/production.rb 并添加以下这一行:

config.cache_store = :redis_cache_store, { url: ENV["REDIS_URL"] }

然后,您可以定义 REDIS_URL 环境变量。以下是一个模板,您可以根据自己的信息进行调整:

REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"

默认情况下,缓存仅在生产环境中启用。如果您希望在开发期间测试缓存,也可以更新 config/environments/development.rb。添加与上面相同的配置,并加入 config.action_controller.perform_caching = true 以启用缓存。确认缓存是否正常工作的一个简单方法,是使用 bin/rails console 启动 Rails 控制台,然后尝试执行 Rails.cache.write("foo", "bar")

有关在 Ruby on Rails 中将 Redis 用作缓存存储的更多详细信息,您可以查阅 Rails 官方文档

Sidekiq 会自动使用 REDIS_URL 环境变量中定义的 Redis 服务器。

您可以像下面这样使用自己的连接信息设置 REDIS_URL

REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"

有关将 Sidekiq 与 Redis 一起使用的更多详细信息,您可以参考 Sidekiq 官方文档

与 Sidekiq 一样,Resque 使用 REDIS_URL 环境变量中定义的 Redis 服务器。

您可以像下面这样使用自己的信息设置 REDIS_URL

REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"

有关将 Resque 与 Redis 一起使用的更多信息,您可以查阅 Resque 官方文档

如果您希望将 PHP session 存储在 Stackhero for Redis 上,可以使用以下示例:

<?php

// 解析 Redis URL
$redis_url = parse_url("rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>")

// 配置 session 处理器
ini_set("session.save_handler", "redis")
ini_set("session.save_path", "tls://{$redis_url["host"]}:{$redis_url["port"]}?auth={$redis_url["pass"]}&timeout=5")

// 启动 session
session_start()

?>

确保您的 Redis 实例安全非常重要,而一些简单的措施就能带来显著效果。

默认情况下,Redis 不会加密网络流量。在 Stackhero 上,TLS 加密默认已启用。

为了利用这一点,您可以将 Redis 客户端配置为使用 TLS,并通过 <PORT_TLS> 端口进行连接。最好仅在适合未加密流量的特定场景下使用 <PORT_CLEAR>,而 <PORT_TLS> 则提供加密通信。

好消息是,服务端无需额外配置任何内容。这部分我们已经为您处理好了。

您的 Redis 实例受密码保护,Stackhero 默认会自动生成一个高强度密码。如果您决定修改它,最好选择一个非常长且复杂的密码。

Redis 速度极快,能够处理非常大量的身份验证尝试。实际上,这意味着攻击者理论上每秒最多可能尝试 150,000 种密码组合。

为了加强保护,我们强制要求密码最少为 16 个字符,这大约对应 4.5231285e+74 种可能的组合。默认情况下,Stackhero 使用 64 个字符的密码,这大约对应 9.61963e+111 种可能的组合。

为了获得更强的保护,您还可以在 Firewall 选项卡中配置 Stackhero 防火墙规则,仅允许来自您自己 IP 地址的连接。这是提升整体安全态势最有效的方法之一。