Valkey: 使用 Ruby
如何将 Valkey 与 Ruby 连接
👋 欢迎来到 Stackhero 文档!
Stackhero 提供现成的 Valkey 云 解决方案,具有众多优势,包括:
- 包含
Redis Commanderweb UI。- 无限的消息大小和传输。
- 只需点击即可轻松完成更新。
- 由私有和专用 VM提供的最佳性能和强大安全性。
节省时间并简化您的生活:只需 5 分钟即可试用 Stackhero 的 Valkey 云托管 解决方案!
Valkey 是一个开源的内存数据库,旨在提供卓越的性能和灵活性。它从 Redis 分支而来,因为后者采用了更为限制性的许可证,Valkey 提供了一个完全开源的替代方案。它与 Redis 库无缝兼容,是之前依赖 Redis 项目的理想替代品。
Valkey 通常被称为 NoSQL 数据库,支持多种数据结构,如字符串、哈希、列表、集合和排序集合等。凭借其高速操作和处理大量数据的能力,Valkey 已成为缓存、实时分析、消息传递等用例的热门选择。
Valkey 可以轻松集成到 Ruby 和 Ruby on Rails 中,提升性能、可扩展性和灵活性。Ruby 开发者可以利用 Valkey 实现缓存、会话管理、实时数据处理和后台任务处理等功能。
以下是 Valkey 与 Ruby 和 Ruby on Rails 常见的使用方式:
-
缓存:Valkey 可以作为 Rails 应用程序中的缓存层,加快响应时间并减少数据库负载。
-
后台任务处理:Valkey 可以作为流行的后台任务处理库如 Sidekiq 和 Resque 的后端,提高 Rails 应用程序中后台任务的性能和可靠性。
-
实时功能:Valkey 的 Pub/Sub 功能使 Rails 应用程序能够提供实时功能,如通知、聊天系统和实时分析,通过在应用程序组件之间快速高效地传递消息。
Stackhero 提供了一个即用型 Ruby 云 解决方案,具有多种优势,包括:
- 通过简单的
git push在几秒钟内 部署您的应用程序。- 使用您自己的域名,并享受 自动配置 HTTPS 证书以增强安全性。
- 享受 自动备份、一键更新以及简单、透明和可预测的定价带来的安心。
- 通过 私有和专用的 VM 获得最佳的性能和强大的安全性。
节省时间并简化生活:只需 5 分钟即可试用 Stackhero 的 Ruby 云托管 解决方案!
将 Valkey 配置为 Ruby on Rails 的缓存系统
要将 Valkey 配置为 Ruby on Rails 的缓存系统,请按照以下步骤操作:
- 安装
redisgem:
bundle add redis
- 编辑
config/environments/production.rb文件并添加以下配置:
config.cache_store = :redis_cache_store, { url: ENV['VALKEY_URL'] }
- 定义
VALKEY_URL环境变量。使用以下格式的 URL,替换<yourPassword>和<XXXXXX>为您的凭据:
VALKEY_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
有关将 Valkey 配置为 Ruby on Rails 缓存系统的更多详细信息,您可以查阅 Rails 官方文档。
配置 Valkey 与 Sidekiq
Sidekiq 将自动使用由环境变量 REDIS_URL 定义的 Valkey 服务器。
您可以这样设置环境变量 REDIS_URL,只需替换 <password> 和 <XXXXXX> 为您的信息:
REDIS_URL="rediss://default:<password>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
默认情况下,Sidekiq 的配置不容忍任何网络中断。为改善这一点,我们建议修改 config/initializers/sidekiq.rb 中的 Sidekiq 客户端配置以增强稳定性:
# 文件 config/initializers/sidekiq.rb
Sidekiq.configure_client do |config|
config.redis = {
network_timeout: 5, # 设置超时时间为 5 秒
pool_timeout: 5, # 设置超时时间为 5 秒
reconnect_attempts: Array.new(240, 0.5) # 尝试重新连接 240 次,每 0.5 秒一次(总共 120 秒/2 分钟)然后触发错误
}
end
此配置确保如果您的 Valkey 服务器不可用,客户端将在 2 分钟内尝试重试,然后报告错误。这为 Valkey 服务器提供了重启的时间。例如,您可以根据 Sidekiq 的使用情况调整此设置以更好地满足您的特定需求。
有关 Sidekiq 和 Valkey 的更多信息,您可以查阅 官方文档。
配置 Valkey 与 Resque
要将 Valkey 与 Resque 一起使用,请按如下方式设置环境变量 REDIS_URL,替换 <yourPassword> 和 <XXXXXX> 为您的凭据:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Resque 将自动使用 REDIS_URL 环境变量中指定的 Valkey 服务器。
有关使用 Resque 和 Valkey 的更多信息,您可以参考 Resque 文档。