Redis®*: 入门指南
Redis 快速入门指南
👋 欢迎来到 Stackhero 文档!
Stackhero 提供即用型 Redis 云 解决方案,带来众多优势,包括:
- 包含
Redis Commander网页界面。- 无限消息大小和传输。
- 只需点击即可轻松更新。
- 由私有和专用 VM提供的最佳性能和强大安全性。
节省时间,简化生活:只需 5 分钟即可试用 Stackhero 的 Redis 云托管 解决方案!
Redis 是一个功能强大且速度极快的内存数据库,具有多种用途。它可以用作缓存系统、键值存储、实时数据排序工具,并作为发布-订阅队列和事件系统。
警告 Redis 已更改其许可证,不再是开源的。 社区、开发者和公司创建了一个名为 Valkey 的 Redis 分支,它是 Redis 的直接替代品。 我们建议使用 Valkey 替代 Redis。
为了帮助您入门,我们分享了一些代码示例,演示如何连接到 Redis 实例。您可以在以下 GitHub 仓库中找到这些示例:https://github.com/stackhero-io/redisGettingStarted。
在 Ruby 和 Ruby on Rails 中使用 Redis
将 Redis 配置为 Ruby on Rails 的缓存系统
首先,您可能需要安装 "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以启用缓存。验证缓存是否工作的简单方法是启动 Rails 控制台(使用bin/rails console)并通过写入Rails.cache.write("foo", "bar")进行测试。
有关将 Redis 配置为 Ruby on Rails 缓存系统的更多详细信息,请查看官方 Rails 文档。
为 Sidekiq 配置 Redis
Sidekiq 将自动使用 REDIS_URL 环境变量中指定的 Redis 服务器。
您可以使用以下方式定义 REDIS_URL 环境变量:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
有关使用 Redis 的更多信息,请参阅官方 Sidekiq 文档。
为 Resque 配置 Redis
Resque 与 Sidekiq 类似,将使用 REDIS_URL 环境变量中定义的 Redis 服务器。
按如下方式设置 REDIS_URL:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
有关使用 Resque 的更多信息,请访问官方 Resque 文档。
使用 Redis 处理 PHP 会话
您可以使用以下代码在 Stackhero for Redis 上存储 PHP 会话:
<?php
// 解析 Redis URL
$redis_url = parse_url('rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>');
// 配置会话处理器
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_start();
?>
增强 Redis 安全性
为了确保您的 Redis 实例安全,实施某些安全措施至关重要。
使用 Redis 加密通信 (TLS)
默认情况下,Redis 不加密通信。然而,在 Stackhero 上,我们默认集成了 TLS 加密。
要利用这一点,请配置您的 Redis 客户端以使用 TLS 加密,并通过 <PORT_TLS> 端口连接到您的实例。避免使用 <PORT_CLEAR>,因为它不加密数据。
最好的部分是,您无需在您的端进行其他操作,我们已经处理了复杂的设置。
保护 Redis 免受暴力攻击
您的 Redis 实例通过密码保护,Stackhero 自动将其设置为高度安全的默认值。如果您选择更改它,请确保选择一个极其复杂的密码。
Redis 非常高效,但缺乏内置的暴力攻击保护,允许攻击者每秒测试多达 150,000 个密码组合。
为了应对这一风险,我们强制要求密码长度至少为 16 个字符(约 4.5231285e+74 种组合)。默认情况下,我们使用 64 个字符的密码(约 9.61963e+111 种组合)。
为了提高安全性并显著降低暴力攻击的风险,强烈建议配置 Stackhero 的防火墙设置(在“Firewall”选项卡下找到),以严格限制连接到您的 IP 地址。这一步对于增强您的安全态势至关重要。