0. 前言
1. 创建/释放连接
1.1. 创建
- 主要就是创建
redis.Redis
对象,相关文档可以参考这里。 - 创建单个连接:
r = redis.Redis(host='localhost', port=6379, db=0, password='password')
- 使用线程池创建连接
pool = redis.ConnectionPool(host=IP, port=PORT, password=PASSWORD)
r = redis.Redis(connection_pool=pool)
1.2. 释放
2. 基本使用
- 基本使用其实完全与 Redis 官方API相同,直接调用
redis.Redis
即可。 - Redis 命令大全
2.1. 基本类型操作
- 比较好的中文Redis常用命令汇总博客
- string
set(name, value)
get(name)
mset(mapping)
:批量赋值
- list
llen(name)
:列表长度lpush(name, value1[, value2, ...])
rpush(name, value1[, value2, ...])
linsert(name, where, refvalue, value)
:在左边第一个出现的refvalue元素的前/后(通过where确定,取值为before/after
)插入元素value。lpop(name)
:删除并返回rpop(name)
:删除并返回lindex(name, index)
:index从0开始lrange(name, start, stop)
:获取[start, stop]
元素,下标从0开始,可以为负数
- hash
hset(name, key, value)
hget(name, key)
hmset(name, mapping)
:批量增加hgetall(name)
:获取所有key-valuehlen(name)
:获取hash长度hkeys(name)
:获取所有keyshexists(name, key)
:判断是否存在hdel()
hdel(name, *key)
:删除key
2.2. 其他操作
- 判断name是否存在:
exists(name)
- 删除name:
delete(name)
- 判断name类别:
type(name)
- 判断当前数据库中键的个数:
dbsize()
2.3. 注意事项
- 注意,各种Redis API获取的不是字符串,而是bytes,如果需要字符串需要执行
decode()
。
3. 实例
pool = redis.ConnectionPool(host=IP, port=PORT, password=PASSWORD)
def _get_redis():
return redis.Redis(connection_pool=pool)
def del_key(field, ops):
key = _get_key(field, ops)
try:
r = _get_redis()
return r.delete(key)
finally:
r.close()