Python中的redis学习笔记

时间:2022-04-26 06:51:06

Python中的redis学习笔记

 

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实例共享一个连接池。

Python中的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')  
Python中的redis学习笔记

 redis pipeline机制

可以在一次请求中执行多个命令,这样避免了多次的往返时延。

Python中的redis学习笔记
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() 
Python中的redis学习笔记

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

Python中的redis学习笔记
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)
Python中的redis学习笔记

rpush()添加元素,llen()查看列表长度,ltrim()修剪列表,只保留起始下标到结束下标之间的数据,lrange(),为查找数据,查找出起始下标到结束下标之间的数据,返回的数据类型为list,如果结束下标小于起始下标,返回全部