`
shaorui23
  • 浏览: 22238 次
  • 性别: Icon_minigender_1
  • 来自: 惠州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Redis and Ruby

 
阅读更多

原文地址:http://www.programmersparadox.com/2009/06/02/redis-and-ruby/


在五月份的一次raleigh.rb聚会中,Kevin Smith进行了一次关于多形式数据库的演讲,其中包括著名的CouchDBRedis

这一次的演讲让我确信Redis将会是支持getencouraged(一个小型的类似twitter的项目)最好的数据库系统了。

Redis是一种加速的key-value数据库,特别适合这种只需要保存tweets的小型twitter项目。

作为Ruby世界的新鲜事物,我之前没有遇到过这样的阻碍让我如此沮丧,而这些问题同样也会摆在其他人面前。其中一个障碍是我对ruby中gem的系统机制理解不够深入,而且找不到一个关于Redis的gem能够让我轻松的gem install去使用。这意味着我必须知道如何用代码从github上安装Redis ruby的客户端开发包到本地。想到读者们也许也会像我这样对它们犯迷糊,我在这里列举出使用redis-rb客户端开发包来安装Redis和redis gem到本地系统的步骤。

第一步,从github上下载redis-rb客户端开发包,地址如下:

http://github.com/ezmobius/redis-rb/tree/master


网上也有其他的Redis Ruby客户端开发包,但由于我之前用过redis-rb,所以我推荐使用它。为什么不直接从Redis开始,而是从一个Redis的客户端开始呢?因为redis-rb提供了rake任务已经可以帮你安装Redis了。当然你也可以不用rake任务来安装Redis。

一旦你下载了redis-rb,把它解压好了,然后在你的终端上键入cd 进入目录。如果你的系统还未安装rspec gem,请安装它:



现在执行rake的命令安装Redis:

执行上面的命令会将Redis安装到/usr/bin目录。Redis的配置文件redis.conf位于/etc目录。你能够通过执行 /usr/bin/redis-server 来启动Redis服务器。因为Redis会提供默认的配置文件,所以通常情况下不需要设置它;不过推荐去打开这个文件看看,它里面有许多值得探究的地方。

接下来,redis-rb需要你安装dtach,执行下面命令:



键入以上命令将dtach安装到 /usr/bin/目录下。除此之外你不必关心dtach了,只需要保证它已经在系统里面,以便redis-rb能够找到它。

最后一个步骤是安装redis-rb gem,让它能在你的代码中使用。这一步很简单:


这个命令目的是把redis-rb gem打包放在当前文件夹下面。如果你已经进入了这个打包后的目录,你就可以安装这个gem了:



注意:虽然在github的repo上是叫做redis-rb,但repo创建的gem叫做redis。

这样,你不仅把Redis安装到你的系统,而且也能够通过redis gem利用ruby代码连接Redis了。这里有几个例子帮你把程序跑起来(这里的例子是基于github上的redis-rb repo的,你也可以在这个项目里找到更多的例子):



把代码保存到文件里面,然后在你的机子上开启Redis(/usr/bin/redis-server),执行代码,见证它的魔术戏法吧。希望能够帮助你开启Redis之旅,Enjoy!


分享到:
评论

相关推荐

    Redis Essentials

    Understand how to use Node.js, PHP, Python, and Ruby clients for Redis Avoid common pitfalls when designing your next solution In Detail Redis is the most popular in-memory key-value data store. It's ...

    Redis-Essentials.pdf

    use Redis with PHP, Python, and Ruby. This chapter highlights the features that vary more frequently with clients in different languages: blocking commands, transactions, pipelines, and scripting. ...

    redis-3.0.0.zip

    在搭建Redis集群时,我们通常会采用Ruby语言来编写配置和管理脚本,因此了解如何使用Ruby与Redis交互是至关重要的。 首先,让我们深入了解一下Redis集群的基本概念。Redis集群是通过分布式方式提供服务,它可以将...

    redis 5.0 rc1 windows

    集群管理器从 Ruby(redis-trib.rb) 移植到 C 代码 —— 在 redis-cli 中。通过`redis-cli --cluster help`以了解更多信息 新的 sorted set 命令:ZPOPMIN / MAX 和阻塞变量 主动碎片整理 V2 增强 HyperLogLog ...

    redis-5.0.0.zip

    4. The cluster manager was ported from Ruby (redis-trib.rb) to C code inside redis-cli. Check `redis-cli --cluster help` for more info. 5. New sorted set commands: ZPOPMIN/MAX and blocking variants. ...

    Redis Essentials(PACKT,2015)

    After this, major differences between client implementations in PHP, Python, and Ruby are presented. Next, you will learn how to extend Redis with Lua, get to know security techniques such as basic ...

    Redis集群资料包,Redis3.2和Rubby

    Ruby是Redis常用的一种客户端语言,Ruby的Redis驱动库提供了方便的API来与Redis集群交互。例如,`redis-namespace` gem可以帮助管理键空间,`redis-cluster` gem则专门用于集群操作,提供了连接集群、执行命令、处理...

    suo:使用Memcached或Redis的分布式锁(互斥和信号灯)

    o :locked: 在Ruby中使用Memcached或Redis的分布式信号量。 Suo使用Memcached中的Compare-And-Set( CAS )命令以及Redis中的WATCH/MULTI提供了一种非常高性能的分布式锁解决方案。 它允许锁定单个排除(例如互斥体-...

    finist:基于Redis的有限状态机

    菲尼斯特基于Redis的有限状态机。描述Finist 是一个在定义和持久化的有限状态机。社区在 IRC 上与我们见面:#... require "finist"# Initialize with a Redis client, the name of the machine and the# initial state.

    Dash for Mac 2.0.2 文档查看神器 破解版

    X CodeIgniter CoffeeScript ColdFusion Common Lisp Compass Cordova ...Redis Ruby Ruby on Rails Rust Sass Scala Sencha Touch Smarty Sparrow Spring Framework SproutCore SQLite Stylus SVG Symfony Tcl Twig ...

    docker-serverspec-redis-example:一个使用Redis服务器的简单DockerServerspec示例

    运行测试运行测试$ cd docker-serverspec-redis-example$ bundle install$ bundle exec rspec spec/Dockerfile_spec.rbDockerfile Dockerfile#config should expose the redis port File "/etc/centos-release" ...

    rubygems-update-3.1.3.gem

    A package (also known as a library) contains a set of functionality that can be invoked by a Ruby program, such as reading and parsing an XML file. We call these packages 'gems' and RubyGems is a tool...

    值得推荐的::+1 ::-1:一个推荐引擎,在您的Ruby应用中使用Likes and Dislikes

    值得推荐Recommendable是一颗宝石,它使您可以使用我的,将喜欢和不喜欢的推荐引擎快速添加到Ruby应用程序。要求Ruby> = 1.9.3 ActiveRecord,Sequel,DataMapper,Mongoid或MongoMapper(您的模型必须具有id字段) ...

    firehose:构建实时的Ruby Web应用程序。 由Poll Everywhere的优秀人士创建

    Build realtime web applications in Ruby and JS 什么是Firehose? Firehose既是Rack应用程序又是JavaScript库,这使得构建实时Web应用程序成为可能。 入门 首先,您需要 。 需要2.6版本,因为Firehose使用进行...

    ion:[不推荐使用] RubyRedis搜索引擎

    离子一个用Ruby编写并使用Redis的搜索引擎。 离子处于无情的重构状态,直到达到可用的功能集-使用后果自负:)用法离子需要Redis。 require 'ion'Ion . connect url : 'redis://127.0.0.1:6379/0' 任何ORM都可以。 ...

    server端源程序

    关系型数据库如MySQL、PostgreSQL和非关系型数据库如MongoDB、Redis被广泛使用。ORM(对象关系映射)工具如Hibernate(Java)、SQLAlchemy(Python)可以简化数据库操作。 4. **RESTful API设计**:服务器端源程序...

    mrb_manager:[WIP] 对 mgem 具有亲和力的 mruby 二进制管理器

    mrb_manager 对 mgem 有亲和力的 mruby 二进制管理器 安装 自己安装: ...$ mrbm install -t redis-and-http2 卸载 mruby 你应该能够: # list all available mruby $ mrbm list ID CREATED

    Build a website to permit electronic voting and tabulation.rar

    常见的后端框架有Node.js(Express)、Python(Django或Flask)、Java(Spring Boot)或Ruby on Rails。开发者需要设计API接口,接收前端发送的投票请求,验证用户身份,记录投票,并处理计票逻辑。 3. **数据库...

    justask:Formspring 克隆。 (也称为“回春”)

    Ruby 2.0.0+ 捆绑器 PostgreSQL Redis (Sidekiq) ImageMagick(用于图像处理) 安装(生产) 我们已经使用 rvm 在 FreeBSD 10 上安装了 justask。 我们还做的是创建一个新的、单独的用户,只是为了让 justask ...

    Intro-to-databases-and-web-development:CSCB20的工作和任务

    主要的数据库类型包括关系型数据库(如MySQL、PostgreSQL)、非关系型数据库(如MongoDB、Redis)和键值存储(如Memcached)。学习数据库时,需要掌握以下知识点: 1. **SQL(结构化查询语言)**:这是与关系型...

Global site tag (gtag.js) - Google Analytics