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 支持多种数据类型,包括字符串(string)、哈希(hash)、列表(list)、集合(set)和有序集合(sorted set)。其在大数据量和实时操作下的卓越性能,尤其适合希望提升应用速度、可扩展性和可靠性的 Ruby 及 Ruby on Rails 开发者。
通过 Redis,您可以实现以下功能:
- 缓存(Caching):在 Rails 中将 Redis 用作缓存存储,减少数据库查询次数,加快响应速度。
- 后台任务处理(Background job processing):结合 Sidekiq、Resque 等库,利用 Redis 作为后端,实现高效可靠的后台任务队列。
- 实时功能(Real-time features):通过 Redis Pub/Sub 构建通知、聊天系统或实时分析等功能,实现组件间的高速消息传递。
Stackhero 提供即开即用的 Redis cloud 云服务,具备多项节省您时间的特性:
- 内置
Redis CommanderWeb UI,便于数据管理。- 消息大小与传输流量无限制。
- 支持一键升级,操作便捷。
- 专属私有基础设施,确保性能稳定与安全性。
您可以快速上手:通过 Stackhero 的 Redis cloud hosting,部署与配置仅需几分钟。
配置 Redis 作为 Ruby on Rails 的缓存系统
要集成 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 官方缓存文档。
配置 Redis 与 Sidekiq 集成
Sidekiq 会自动使用您在 REDIS_URL 环境变量中指定的 Redis 服务器。请按如下方式设置,并更新 <yourPassword> 和 <XXXXXX>:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:6380"
如需深入了解,请访问 Sidekiq 关于 Redis 使用的文档。
配置 Redis 与 Resque 集成
Resque 同样会从 REDIS_URL 环境变量读取 Redis 服务器信息。请按如下方式设置,并替换 <yourPassword> 和 <XXXXXX>:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:6380"
如需进一步了解如何结合 Resque 使用 Redis,请查阅 Resque 官方文档。