rails3+redis

目前环境在windows下

1.启动redis服务:

     windows启动redis服务(可以下载博客上的redis.zip文件,再解压)进入cmd,系统如果是32位则进入redis/32bit目录下的输入redis-server,再回车,redis就开启了;如果是64位系统,则进入64bit目录下运行redis-server。

注意:redis-server重启,会丢失redis中的数据。

 

2.配置gemfile

gem "redis"
gem 'redis-store'

 

3.在config/initializers文件夹下,添加一个redis.rb文件内容:

$redis = Redis.new(:host => "127.0.0.1", :port => 6379)  #port你的redis服务端口
#端口配置可以在redis/64bit(根据系统判定)目录下的redis.conf文件中,这行: port:6379

 4.在console下普通赋值与取值,调试结果:

->$redis.set("test", "111")
"ok"
->$redis.get("test")
"111"

 5.还可以通过hset方法赋值与取值:

-> $redis.hset "test:#{id}", "name", "aaaaa"
"ok"
->$redis.hget "test:#{id}", "name"
"aaaaa"

 

6.一些方法应用: 

 redis.sadd "users", "aass1"
 redis.sadd "users", "aass2"
 redis.sadd "users", "aass3"


->redis.scard "users"
3

Users who are also admins:

>> redis.sinter "users", "admins"
=> ["albert"]
Users who are not admins:

>> redis.sdiff "users", "admins"
=> ["bernard", "charles"]
Admins who are not users:

>> redis.sdiff "admins", "users"
=> ["isabel"]
All users and admins:

>> redis.sunion "admins", "users"
=> ["albert", "bernard", "charles", "isabel"]

 

 

 7.model调用:

  def info
     str=$redis.smembers( "products" ) #取集合
      if !str.blank?
       return analysis(str)
     else
       return nil
     end
  end
  
  private
  def update_redis
    $redis.multi do
      $redis.sadd( "products", self.to_json)
    end
  end
  
  #转换为json格式
  def analysis str
     return JSON.parse(str)
  end

 7.赋值方法:

->a = $redis.new()
->a[:key1] = "value1"
"value1"
->a[:key2] = "value2"
"value2"
->a[:key1]
"value1"
->a["product:#{id}:id"] = 3
3

 

 8.在console下,查看redis方法:

redis.methods.sort

 

9.例子,获取用户好友信息:

 http://jimneath.org/2011/03/24/using-redis-with-ruby-on-rails.html

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值