Ruby: Redis

将 Ruby 和 Ruby on Rails 与 Redis 连接,实现高速缓存和后台任务处理

👋 欢迎查阅 Stackhero 文档!

Stackhero 提供即开即用的 Ruby cloud 解决方案,带来诸多优势,包括:

  • 只需一次简单的 git push,即可在几秒钟内部署您的应用。
  • 支持自定义域名,并自动配置 HTTPS 证书,提升安全性。
  • 享受自动备份一键更新,以及简单、透明、可预测的定价
  • 依托专属私有基础设施,实现卓越的性能与强大的安全性

节省时间,简化流程:仅需5分钟即可体验 Stackhero 的 Ruby cloud hosting 解决方案!

Redis(Remote Dictionary Server)是一款内存型数据库,专为大规模场景下的高速度和高效率而设计。其核心优势包括:高吞吐量、低延迟以及多样化的数据结构,使其成为缓存、实时分析、消息传递等场景的首选工具。

Redis 采用 GNU AGPLv3 许可证分发。如果您需要更宽松许可的替代方案,Valkey 是一个由社区驱动、基于 BSD 许可证的 Redis 分支。它已被众多大型组织广泛采用,并且在 Stackhero 上同样可用。

Redis 支持多种数据类型,包括字符串、哈希、列表、集合和有序集合。其在大数据量和实时操作下的卓越性能,使其对希望提升应用速度、可扩展性和可靠性的 Ruby 及 Ruby on Rails 开发者尤为有价值。

通过 Redis,您可以实现如下功能:

  1. 缓存:在 Rails 中将 Redis 用作缓存存储,减少数据库查询次数,加快响应速度。
  2. 后台任务处理:结合 Sidekiq、Resque 等库,利用 Redis 作为后端,可靠高效地执行后台任务队列。
  3. 实时功能:借助 Redis Pub/Sub 构建通知、聊天系统或实时分析等功能,实现组件间的高速消息传递。

Stackhero 提供即开即用的 Redis 云服务,具备多项为您节省时间的特性:

  • 内置 Redis Commander Web UI,便于数据管理。
  • 消息大小和传输流量无限制。
  • 支持一键升级,操作便捷。
  • 专属私有基础设施,确保性能稳定安全性

您可以快速上手:通过 Stackhero 的 Redis 云主机,部署和配置仅需几分钟。

要集成 Redis 缓存,您可以在项目中添加 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"

如需更多细节和高级选项,请参阅 Rails 官方缓存文档

Sidekiq 会自动使用您在 REDIS_URL 环境变量中指定的 Redis 服务器。请按如下方式设置,并更新 <yourPassword><XXXXXX>

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

如需深入了解,请访问 Sidekiq 关于 Redis 使用的文档

Resque 同样会从 REDIS_URL 环境变量读取 Redis 服务器地址。请按如下方式设置,并替换 <yourPassword><XXXXXX>

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

关于如何结合 Resque 使用 Redis 的更多信息,请参阅 Resque 官方文档