程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python 與 Redis 結合將會擦出怎樣的火花?

編輯:Python

Redis 類型

Redis 有五種基本類型:

  • 字符串

  • 散列

  • 列表

  • 集合

  • 有序集合

每種不同的類型,Redis 客戶端提供了很多不同的操作方法,下面將會演示最常用的一些基於 Python 的操作。

Python 使用 pip 安裝 Redis

pip install redis

源碼分享

# coding:utf-8
import redis
r = redis.Redis(host='127.0.0.1', port=6379, password='')  #實例化一個redis對象出來
def redisOperation():
    **1、字符串類型:--Redis 字符串(String)**
    #redis 字符串數據類型的相關命令用於管理 redis 字符串值
    r.set("name","tony") #設置指定 key 的值
    print(r.get("name")) #獲取指定 key 的值
    r.incr("count") # 將 key 中儲存的數字值增一
    print(r.get("count"))
    r.decr("count") # 將 key 中儲存的數字值減一
    print(r.get("count"))
    r.delete("name") # 刪除指定 key 的值
    **2、散列類型:--Redis 哈希(Hash)**
    # Redis hash 是一個string類型的field和value的映射表,hash特別適合用於存儲對象。
    r.hset("monut", "high", 2000) # 將哈希表 key 中的字段 field 的值設為 value
    r.hsetnx("mount","name","tony") # 當字段不存在的時候才賦值
    r.hexists("mount","high") # 判斷鍵值是否存在
    r.exists("monut") # 判斷鍵是否存在
    r.hkeys("monut") # 獲取所有哈希表中的字段
    r.hvals("monut") # 獲取所有哈希表中的值
    r.hlen("monut") # 獲取哈希表中字段的數量
    r.hdel("mount", "high")  # 刪除一個或多個哈希表字段
    print("the queue is:", r.hget('ASYNCHRONOUS_CALLBACK_QUEUE', 'myname')) #獲取存儲在哈希表中指定字段的值
    print("the hash is:",r.hgetall('ASYNCHRONOUS_CALLBACK_HASH')) # 獲取在哈希表中指定 key 的所有字段和值
    **3、列表類型:--Redis 列表(List)**
    # Redis列表是簡單的字符串列表,按照插入順序排序。你可以添加一個元素到列表的頭部(左邊)或者尾部(右邊)
    r.lpush("list1","ok") # LPUSH 將一個值插入了名為 list1 的列表當中
    r.lpop("list1") # 移出並獲取列表的第一個元素
    r.lrange("list1",1,4) # 獲取列表指定范圍內的元素
    r.llen("list1")  # 獲取列表長度
    r.rpop("list1") # 移除列表的最後一個元素,返回值為移除的元素
    r.rpush("list1",1000) # RPUSH 將一個值插入了名為 list1 的列表當中
    **4、集合類型:--Redis 集合(Set)**
    # Redis 的 Set 是 String 類型的無序集合。集合成員是唯一的,這就意味著集合中不能出現重復的數據。
    #Redis 中集合是通過哈希表實現的,所以添加,刪除,查找的復雜度都是 O(1)。
    r.sadd("set1",100,188) # 向集合添加一個或多個成員
    r.sismember("set1",100) # 判斷 member 元素是否是集合 key 的成員
    r.srem("set1",188) # 移除集合中一個或多個成員
    r.smembers("set1") # 返回集合中的所有成員
    r.scard("set1") # 獲取集合的成員數
    **5、有序集合類型:--Redis 有序集合(sorted set)**
    ##Redis 有序集合和集合一樣也是string類型元素的集合,且不允許重復的成員。
    #不同的是每個元素都會關聯一個double類型的分數。redis正是通過分數來為集合中的成員進行從小到大的排序。
    #有序集合的成員是唯一的,但分數(score)卻可以重復。
    #集合是通過哈希表實現的,所以添加,刪除,查找的復雜度都是O(1)。
    r.zadd("sortset",100,"mysql") # 向有序集合添加一個或多個成員,或者更新已存在成員的分數
    r.zcard("sortset") # 獲取有序集合的成員數
    r.zrem("sortset","mysql") # 移除有序集合中的一個或多個成員
    r.zcount("sortset",20,100) # 計算在有序集合中指定區間分數的成員數
    r.zrank("sortset","mysql") # 返回有序集合中指定成員的索引
    r.zscore("sortset","mysql") # 返回有序集中,成員的分數值
    r.zrangebyscore("sortset",10,100) # 通過索引區間返回有序集合成指定區間內的成員
    r.dbsize()#返回當前數據庫的 key 的數量
if __name__=="__main__":
    redisOperation()

源碼說明

1.以上源碼是 Python 基於各種 Redis 數據類型的操作方法,用於獲取不同類型下 Redis 中指定鍵值,同時也支持對取出的值進行再次修改的操作。

2.在實際測試工作中會經常遇到查詢 Redis 數據庫數據的需求,有了以上操作方法,可以方便工作中對 Redis 數據的快速查詢與獲取。

歡迎關注【無量測試之道】公眾號,回復【領取資源】

Python+Unittest框架API自動化、

Python+Unittest框架API自動化、

Python+Pytest框架API自動化、

Python+Pandas+Pyecharts大數據分析、

Python+Selenium框架Web的UI自動化、

Python+Appium框架APP的UI自動化、

Python編程學習資源干貨、

Vue前端組件化框架開發、

資源和代碼 免費送啦~
文章下方有公眾號二維碼,可直接微信掃一掃關注即可。

備注:我的個人公眾號已正式開通,致力於IT互聯網技術的分享。

包含:數據分析、大數據、機器學習、測試開發、API接口自動化、測試運維、UI自動化、性能測試、代碼檢測、編程技術等。

微信搜索公眾號:“無量測試之道”,或掃描下方二維碼:

   

 添加關注,讓我們一起共同成長!


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved