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 搭配使用的一些常见方式:
- Caching: Redis 可以在 Rails 应用中充当 cache store,以减少数据库负载并改善响应时间。
- Background job processing: Redis 常被用作 Sidekiq 和 Resque 等热门 job processing 库的 backend,帮助后台任务更高效、更可靠地运行。
- Real-time features: Redis Pub/Sub 可实现实时功能,例如通知、聊天系统和实时分析,因为它能够在应用组件之间快速传递消息。
Stackhero 提供可直接使用的 Redis cloud 解决方案,并附带多项实用优势:
- 已包含
Redis Commanderweb UI。- 消息大小和传输次数均为 Unlimited。
- 只需一键即可完成简单 updates。
- 由 private and dedicated VM 提供支持,具备强劲的 performance 和可靠的 security。
节省时间,简化部署。只需 5 分钟,即可试用 Stackhero 的 Redis cloud hosting 解决方案。
将 Redis 配置为 Ruby on Rails 的缓存系统
开始之前,您可以先安装 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 官方文档。
配置 Redis 与 Sidekiq 搭配使用
Sidekiq 会自动使用在 REDIS_URL 环境变量中定义的 Redis 服务器。
您可以像这样定义 REDIS_URL,将 <yourPassword> 和 <XXXXXX> 替换为您自己的值:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:6380"
如果您想进一步了解 Sidekiq 和 Redis,可以参考官方文档。
配置 Redis 与 Resque 搭配使用
Resque 会自动使用在 REDIS_URL 环境变量中定义的 Redis 服务器。
您可以像这样定义 REDIS_URL,将 <yourPassword> 和 <XXXXXX> 替换为您自己的值:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:6380"
如果您想进一步了解 Resque 和 Redis,可以参考官方文档。