溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Redis與Python交互怎么實(shí)現(xiàn)

發(fā)布時(shí)間:2022-03-29 16:04:19 來源:億速云 閱讀:158 作者:iii 欄目:移動(dòng)開發(fā)

這篇文章主要介紹了Redis與Python交互怎么實(shí)現(xiàn)的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡(jiǎn)單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇Redis與Python交互怎么實(shí)現(xiàn)文章都會(huì)有所收獲,下面我們一起來看看吧。

1. Python 庫安裝

聯(lián)網(wǎng)安裝

pip install redis

使用源碼安裝

到中文官網(wǎng)查找客戶端代碼

unzip redis-py-master.zip
cd redis-py-master
python setup.py install

2. 交互代碼范例

 1 import redis 2  3  4 # 1.連接 Redis 服務(wù)器 5 try: 6     r=redis.StrictRedis(host='localhost', port=6379) 7 except Exception as e: 8     print(e.message) 9 10 # 2.讀寫數(shù)據(jù)11 # 方式一:根據(jù)數(shù)據(jù)類型的不同,調(diào)用相應(yīng)的方法,完成讀寫12 r.set('name','hello')  # 設(shè)置 string 數(shù)據(jù)13 r.get('name')  # 讀取 string 數(shù)據(jù)14 15 # 方式二:使用 pipline16 # 緩沖多條命令,然后一次性執(zhí)行,減少數(shù)據(jù)傳輸頻率,從而提高效率17 pipe = r.pipeline()18 pipe.set('name', 'world')19 pipe.get('name')20 pipe.execute()

3. Redis 操作封裝

  • 連接 Redis 服務(wù)器部分是一致的。

  • 將 String 類型的讀寫進(jìn)行封裝。

 1 import redis 2  3  4 # Redis 工具類 5 class RedisTool(): 6     7     # 初始化連接 Redis 8     def __init__(self, host='localhost', port=6379): 9         self.__redis = redis.StrictRedis(host, port)10        11     # 讀取 String 值12     def get(self, key):13         if self.__redis.exists(key):  # 如果鍵存在14             return self.__redis.get(key)15         else:  # 否則返回空值16             return ""17 18     # 設(shè)置 String 鍵值       19     def set(self, key, value):20         self.__redis.set(key, value)

4. 應(yīng)用范例:用戶登錄

業(yè)務(wù)過程如下:

  1. 輸入用戶名、密碼

  2. 密碼加密

  3. 判斷 Redis 中是否記錄了用戶名,如果有則成功

  4. 如果 Redis 中沒有用戶名,則到 Mysql 中查詢

  5. 從 Mysql 中查詢成功后,將用戶名記錄到 Redis 中

 1 from t2 import RedisTool 2 from t3 import MysqlTool 3 import hashlib 4  5  6 name=input("請(qǐng)輸入用戶名:") 7 pwd=input("請(qǐng)輸入密碼:") 8  9 # 密碼加密10 sha1=hashlib.sha1()11 sha1.update(pwd)12 pwd1=sha1.hexdigest()13 14 # 判斷 Redis 中是否存在該用戶信息的緩存數(shù)據(jù)15 try:16     redis=RedisTool()17     if redis.get('uname') == name:18         print('ok')19     # 不存緩存,則走數(shù)據(jù)庫進(jìn)行用戶信息校驗(yàn)20     else:21         mysql = MysqlTool('localhost', 3306, 'test1', 'root', 'mysql')22         upwd = mysql.get_one('select upwd from userinfos where uname=%s', [name])23         if upwd == None:24             print('用戶名錯(cuò)誤')25         elif upwd[0] == pwd1:26             redis.set('uname', name)  # 用戶信息校驗(yàn)通過,則寫入緩存27             print('登錄成功')28         else:29             print("密碼錯(cuò)誤")30 except Exception as e:31     print(e.message)

關(guān)于“Redis與Python交互怎么實(shí)現(xiàn)”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“Redis與Python交互怎么實(shí)現(xiàn)”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI