redis是一個key-value結構的數據庫,value的格式可以使string,set,list,map(即python里面的dict),sorted set(有序集合)
1.初始化
1)直接連接
import redis r = redis.StrictRedis(host='127.0.0.1', port=6379)
2)連接池連接
redis-py使用connection pool來管理對一個redis server的所有連接,避免每次建立、釋放連接的開銷。默認,每個Redis實例都會維護一個自己的連接池。可以直接建立一個連接池,然后作為參數Redis,這樣就可以實現多個Redis實例共享一個連接池。
import redis pool = redis.ConnectionPool(host='127.0.0.1', port=6379) r = redis.Redis(connection_pool=pool) r.set('one', 'first') r.set('two', 'second') print r.get('one') print r.get('two')
redis pipeline機制
可以在一次請求中執行多個命令,這樣避免了多次的往返時延。
import redis pool = redis.ConnectionPool(host='127.0.0.1', port=9212) r = redis.Redis(connection_pool=pool) pipe = r.pipeline() pipe.set('one', 'first') pipe.set('two', 'second') pipe.execute()
2.String的存取
r.set("key1","value1") r.get("key1")
r.delete("key1")
3.dict的存取
#存
r.hset("usr1","name","kevin") r.hset("usr1","age","18") #取
d=r.hgetall("usr1")
hgetall()方法會返回字典類型{"name":"kevin","age":"18"}
4.set,即無需的列表
r.sadd("key1","value1","value2","value3") r.smembers("key1")
5.list
def rpush(): r.rpush("log","log11") r.rpush("log","log22") r.rpush("log","log33") rpush() print "len",r.llen("log") r.ltrim("log",0,3) range=r.lrange("log",0,-1) print "lrange",range,type(range)
rpush()添加元素,llen()查看列表長度,ltrim()修剪列表,只保留起始下標到結束下標之間的數據,lrange(),為查找數據,查找出起始下標到結束下標之間的數據,返回的數據類型為list,如果結束下標小於起始下標,返回全部
后面的繼續學習……
參考:http://blog.csdn.net/shellshine/article/details/7669860