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-value
hlen(name)
:獲取hash長度
hkeys(name)
:獲取所有keys
hexists(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()