rails3+redis

3043 ワード

現在の環境はwindowsの下にあります
1.redisサービスの起動:
Windowsはredisサービス(ブログのredis.zipファイルをダウンロードして解凍できる)を起動してcmdに入り、システムが32ビットであればredis/32 bitディレクトリの下の入力redis-serverに入り、車に戻ってredisが開きます.64ビットシステムの場合、64 bitディレクトリの下に入って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