Ruby: Redis

如何将 Ruby 连接到 Redis

👋 欢迎来到 Stackhero 文档!

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

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

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

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

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

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

当您希望提升性能、可扩展性和灵活性时,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 处理库的 backend,帮助后台任务更高效、更可靠地运行。
  3. Real-time features: Redis Pub/Sub 可实现通知、聊天系统和实时分析等实时功能,通过在应用组件之间快速传递消息来完成。

Stackhero 提供开箱即用的 Redis cloud 解决方案,并具备多项实用优势:

  • 包含 Redis Commander web UI
  • 消息大小和传输均为 无限制
  • 只需一键即可轻松完成 updates
  • 私有专用 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,可以查看官方文档