redis-py使用
@(数据库)[redis, python]
介绍python下redis库的使用
pip install redis
versionredis-2.10.6
常见问题汇总
1.取值时的中文乱码问题
在新建连接或者连接池时,加入参数
decode_responses=True
;
此参数默认为false,为false时.从redis取值的类型为bytes类型,并且编码类型不为utf-8;
参考 https://www.jianshu.com/p/495f401a46e8
redis连接的两种方式
1.直接新建连接请求
redis.Redis(host,port,decode_responses=True)
2.通过连接池来连接
pool = redis.ConnectionPool(host, port,decode_responses=True) # 建立连接池对象
r =redis.Redis(connection_pool=pool) # 建立一个连接对象
3.两种连接方式的使用场景和优劣
- 连接池:在多线程、多进程情况,通过pool来管理对一个redis server的所有连接,避免多次建立、释放连接的开销
删除缓存数据的方法
1.一键全删
redis.flushall()
消息队列相关操作
本文仅列出了队列中的常用操作,更多骚操作@参考文章
@参考文章
https://www.jianshu.com/p/2639549bedc8
进队操作
- lpush(key,val)
从左边进入队列
- key
队列名称
- val
插入对象
- key
- rpush(key,val)
从右边进入队列
- linsert
插队
出队操作
- rpop(key)
从队列右边出队
- lpop(key)
从队列左边出队
- brpop(key)
消息阻塞式订阅,当队列没有值时,一直阻塞等待成员的加入
- brpop([key1,key2])
优先级队列, 率先读取key1中的内容
获取队列长度 llen(key)
队列查询
- lrange(key,begin,end)
批量查询
- lrange(key,0,-1):查看当前队列所有成员
队列修改
- lset(key,index,val)
修改特定位置的值
持续更新中.........................