Redis®*: 快速开始
Redis 快速入门指南
👋 欢迎来到 Stackhero 文档!
Stackhero 提供即用型 Redis 云 解决方案,带来众多优势,包括:
- 包含
Redis Commander网页界面。- 无限消息大小和传输。
- 只需点击即可轻松更新。
- 由私有和专用 VM提供的最佳性能和强大安全性。
节省时间,简化生活:只需 5 分钟即可试用 Stackhero 的 Redis 云托管 解决方案!
Redis 是一个强大且速度极快的内存数据库,可以承担多种角色。您可以把它用作 cache、key-value store、实时数据结构引擎,或 publish/subscribe 和事件系统。
Redis 再次成为 open source:从 Redis 8(2025 年 5 月)开始,它采用 GNU AGPLv3 许可证发布。 如果您更偏好采用宽松许可证(BSD)的 drop-in 替代方案,社区驱动的分支 Valkey 也可在 Stackhero 上使用。
为了帮助您快速上手,我们分享了一些代码示例,展示如何连接到 Redis 实例。您可以在这个 GitHub 仓库中找到它们:https://github.com/stackhero-io/redisGettingStarted。
在 Ruby 和 Ruby on Rails 中使用 Redis
将 Redis 配置为 Ruby on Rails 的 cache 系统
开始之前,您可以使用以下命令安装 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>"
默认情况下,cache 仅在 production 环境中启用。如果您想在开发期间测试 cache,也可以更新
config/environments/development.rb。添加与上面相同的配置,并加入config.action_controller.perform_caching = true来启用 cache。一个简单的确认方式是使用bin/rails console启动 Rails console,然后尝试执行Rails.cache.write("foo", "bar")。
如需了解更多关于在 Ruby on Rails 中将 Redis 用作 cache store 的细节,您可以参考 Rails 官方文档。
为 Sidekiq 配置 Redis
Sidekiq 会自动使用 REDIS_URL 环境变量中定义的 Redis 服务器。
您可以像下面这样,用您自己的连接信息设置 REDIS_URL:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
如需了解更多关于 Sidekiq 搭配 Redis 使用的细节,您可以参考 Sidekiq 官方文档。
为 Resque 配置 Redis
与 Sidekiq 一样,Resque 使用 REDIS_URL 环境变量中定义的 Redis 服务器。
您可以像下面这样,用您自己的信息设置 REDIS_URL:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
如需了解更多关于 Resque 搭配 Redis 使用的信息,您可以参考 Resque 官方文档。
使用 Redis 处理 PHP sessions
如果您想将 PHP sessions 存储在 Stackhero for Redis 上,可以使用以下示例:
<?php
// 解析 Redis URL
$redis_url = parse_url("rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>")
// 配置 session handler
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 实例安全非常重要,而一些简单的措施就能带来很大的改善。
加密与 Redis 的通信(TLS)
默认情况下,Redis 不会加密网络流量。在 Stackhero 上,TLS 加密默认已启用。
要利用这一点,您可以将 Redis client 配置为使用 TLS,并通过 <PORT_TLS> 端口连接。最好仅在确实适合使用未加密流量的特定场景下使用 <PORT_CLEAR>,而 <PORT_TLS> 则提供加密通信。
好消息是,服务器端无需额外配置任何内容。这部分我们已经为您处理好了。
保护 Redis 免受 brute force attacks
您的 Redis 实例受密码保护,Stackhero 默认会自动生成一个高强度密码。如果您决定修改它,最好选择一个非常长且复杂的密码。
Redis 的速度极快,能够处理非常大量的身份验证尝试。实际上,这意味着攻击者理论上每秒最多可能尝试 150,000 种密码组合。
为了加强保护,我们强制要求密码最少为 16 个字符,这大约代表 4.5231285e+74 种可能的组合。默认情况下,Stackhero 使用 64 个字符的密码,这大约代表 9.61963e+111 种可能的组合。
如果您希望获得更强的保护,也可以在 Firewall 标签页中配置 Stackhero firewall rules,仅允许来自您自己 IP 地址的连接。这是提升整体安全态势最有效的方法之一。