Python進階(8) Redis

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()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章