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实例共享一个连接池。
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,如果结束下标小于起始下标,返回全部