Valkey: 使用 Ruby

如何将 Valkey 与 Ruby 连接

👋 欢迎来到 Stackhero 文档!

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

  • 包含 Redis Commander web 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 常见的使用方式:

  1. 缓存:Valkey 可以作为 Rails 应用程序中的缓存层,加快响应时间并减少数据库负载。

  2. 后台任务处理:Valkey 可以作为流行的后台任务处理库如 Sidekiq 和 Resque 的后端,提高 Rails 应用程序中后台任务的性能和可靠性。

  3. 实时功能:Valkey 的 Pub/Sub 功能使 Rails 应用程序能够提供实时功能,如通知、聊天系统和实时分析,通过在应用程序组件之间快速高效地传递消息。

Stackhero 提供了一个即用型 Ruby 云 解决方案,具有多种优势,包括:

  • 通过简单的 git push 在几秒钟内 部署您的应用程序。
  • 使用您自己的域名,并享受 自动配置 HTTPS 证书以增强安全性。
  • 享受 自动备份一键更新以及简单、透明和可预测的定价带来的安心。
  • 通过 私有和专用的 VM 获得最佳的性能和强大的安全性

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

要将 Valkey 配置为 Ruby on Rails 的缓存系统,请按照以下步骤操作:

  1. 安装 redis gem:
bundle add redis
  1. 编辑 config/environments/production.rb 文件并添加以下配置:
config.cache_store = :redis_cache_store, { url: ENV['VALKEY_URL'] }
  1. 定义 VALKEY_URL 环境变量。使用以下格式的 URL,替换 <yourPassword><XXXXXX> 为您的凭据:
VALKEY_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"

有关将 Valkey 配置为 Ruby on Rails 缓存系统的更多详细信息,您可以查阅 Rails 官方文档

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 一起使用,请按如下方式设置环境变量 REDIS_URL,替换 <yourPassword><XXXXXX> 为您的凭据:

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

Resque 将自动使用 REDIS_URL 环境变量中指定的 Valkey 服务器。

有关使用 Resque 和 Valkey 的更多信息,您可以参考 Resque 文档