Ruby: Redis

如何将 Ruby 连接到 Redis

👋 欢迎来到 Stackhero 文档!

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

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

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

Redis,即 Remote Dictionary Server,是一种以内存为基础的数据库,以其卓越的性能而闻名。

Redis 采用 GNU AGPLv3 许可证。如果您正在寻找采用宽松许可证的替代方案,Valkey 是 Redis 一个很受欢迎、由社区维护并采用 BSD 许可证的分支。它已获得许多知名公司的广泛认可,也可在 Stackhero 上使用。

Redis 常被归类为 NoSQL 数据库,支持多种数据结构,包括 strings、hashes、lists、sets 和 sorted sets。由于它在处理大规模数据时速度快且效率高,Redis 是 caching、实时分析、消息传递等场景中的热门选择。

当您希望提升性能、scalability 和灵活性时,Redis 与 Ruby 及 Ruby on Rails 配合得非常好。借助 Redis,Ruby 开发者可以添加 caching、session 管理、实时数据处理以及后台 job 处理等功能。

以下是 Redis 与 Ruby 及 Ruby on Rails 搭配使用的一些常见方式:

  1. Caching: Redis 可以在 Rails 应用中充当 cache store,以减少数据库负载并改善响应时间。
  2. Background job processing: Redis 常被用作 Sidekiq 和 Resque 等热门 job processing 库的 backend,帮助后台任务更高效、更可靠地运行。
  3. Real-time features: Redis Pub/Sub 可实现实时功能,例如通知、聊天系统和实时分析,因为它能够在应用组件之间快速传递消息。

Stackhero 提供可直接使用的 Redis cloud 解决方案,并附带多项实用优势:

  • 已包含 Redis Commander web UI
  • 消息大小和传输次数均为 Unlimited
  • 只需一键即可完成简单 updates
  • private and dedicated VM 提供支持,具备强劲的 performance 和可靠的 security

节省时间,简化部署。只需 5 分钟,即可试用 Stackhero 的 Redis cloud hosting 解决方案。

开始之前,您可以先安装 redis gem:

bundle add redis

接下来,您可以在 config/environments/production.rb 文件中更新这一行:

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

之后,您可以定义 REDIS_URL 环境变量。以下示例展示了应使用的格式。只需将 <yourPassword><XXXXXX> 替换为您自己的值:

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

如果您想进一步了解如何在 Ruby on Rails 中将 Redis 用作缓存系统,可以参考 Rails 官方文档

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

您可以像这样定义 REDIS_URL,将 <yourPassword><XXXXXX> 替换为您自己的值:

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

如果您想进一步了解 Sidekiq 和 Redis,可以参考官方文档

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

您可以像这样定义 REDIS_URL,将 <yourPassword><XXXXXX> 替换为您自己的值:

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

如果您想进一步了解 Resque 和 Redis,可以参考官方文档