目前环境在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