学习

查找有助于您使用 Redis 和 Ruby 进行开发的教程、示例和技术文章。

快速入门#

要将 Redis 与 Ruby 结合使用,您需要一个 Ruby Redis 客户端。在以下部分中,我们将演示如何使用 redis-rb(一个 Redis 的 Ruby 客户端库)。其他 Redis 的 Ruby 客户端可以在 Redis 客户端页面的 Ruby 部分找到。

Redis 是一个开源的内存键值数据存储,最常被用作主数据库、缓存、消息代理和队列。Redis 缓存提供亚毫秒级响应时间,从而在游戏、金融科技、广告技术、社交媒体、医疗保健和物联网等行业实现快速而强大的实时应用程序。

步骤 1. 运行 Redis 服务器#

您可以在 Docker 容器中运行 Redis,也可以直接在您的机器上运行。请按照以下命令在 Mac OS 上设置 Redis 服务器。

 brew tap redis-stack/redis-stack
 brew install --cask redis-stack
INFO

Redis Stack 统一并简化了领先的 Redis 模块及其提供的功能的开发者体验。

确保您能够使用以下 Redis 命令连接到 Redis 实例。

 redis-cli
 127.0.0.1:6379>

现在您应该能够使用 Redis 命令执行 CRUD 操作。例如,您可以使用 SET 命令向 Redis 插入数据,并使用 GET 命令获取数据。如果您在 Redis 配置文件中设置了身份验证,上述 Redis 客户端命令可能需要密码。默认情况下,Redis 在端口 6379 上监听。这可以在 Redis 配置文件中修改。

步骤 2. 克隆仓库#

git clone https://github.com/redis-developer/redis-ruby-getting-started

步骤 3. 安装 redis-rb:#

$ gem install redis

步骤 4. 使用 Gemfile#

$cat Gemfile
gem 'redis'

步骤 5. 执行#

$ bundle install
Resolving dependencies...
Using bundler 2.2.6
Using redis 4.2.5
Following files may not be writable, so sudo is needed:
  /Library/Ruby/Gems/2.6.0
  /Library/Ruby/Gems/2.6.0/build_info
  /Library/Ruby/Gems/2.6.0/cache
  /Library/Ruby/Gems/2.6.0/doc
  /Library/Ruby/Gems/2.6.0/extensions
  /Library/Ruby/Gems/2.6.0/gems
  /Library/Ruby/Gems/2.6.0/specifications
Bundle complete! 1 Gemfile dependency, 2 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.

步骤 6. 验证#

bundle info redis
  * redis (4.2.5)
    Summary: A Ruby client library for Redis
    Homepage: https://github.com/redis/redis-rb
    Documentation: https://www.rubydoc.info/gems/redis/4.2.5
    Source Code: https://github.com/redis/redis-rb/tree/v4.2.5
    Changelog: https://github.com/redis/redis-rb/blob/master/CHANGELOG.md
    Bug Tracker: https://github.com/redis/redis-rb/issues
    Path: /Library/Ruby/Gems/2.6.0/gems/redis-4.2.5

步骤 7. 使用 redis-rb 打开 Redis 连接#

以下代码使用 redis-rb 创建 Redis 连接

require 'redis'
redis = Redis.new(host: "localhost", port: 6379, db: 11)
redis.set("mykey", "hello world")
redis.get("mykey")

要将此示例适配到您的代码,请确保将以下值替换为您的数据库的值。

您可以在此目录下找到 connect.rb,可以直接使用它进行测试。

只需执行以下命令

ruby connect.rb

步骤 8. 验证#

127.0.0.1:6379> monitor
OK
1614684665.728109 [0 [::1]:50918] "select" "11"
1614684665.728294 [11 [::1]:50918] "set" "mykey" "hello world"
1614684665.728435 [11 [::1]:50918] "get" "mykey"

Redis Launchpad#

Redis Launchpad 就像一个 Redis 示例应用程序的“App Store”。您可以轻松找到您喜欢的框架和语言的应用程序。请查看下面的一些应用程序,或 点击此处访问完整列表

Ruby on Rails 中的速率限制应用程序

速率限制应用程序 使用 Ruby on Rails 构建

Ruby on Rails 中的排行榜应用程序

进一步参考#