淺析python redis的連接及相關(guān)操作
redis簡(jiǎn)介
Redis是一個(gè)開(kāi)源的使用ANSIC語(yǔ)言編寫(xiě)、支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的日志型、Key-Value數(shù)據(jù)庫(kù),并提供多種語(yǔ)言的API。是一個(gè)非關(guān)系型數(shù)據(jù)庫(kù),經(jīng)常會(huì)用作緩存,消息中間件的操作
redis優(yōu)勢(shì)
- 速度快,因?yàn)閿?shù)據(jù)存在內(nèi)存中
- 支持豐富數(shù)據(jù)類型,支持字符串,哈希表,列表,集合,有序集合
- 支持事務(wù),操作都是原子性
- 豐富的特性:可用于緩存,消息,按key設(shè)置過(guò)期時(shí)間,過(guò)期后將會(huì)自動(dòng)刪除
1、redis連接、及存取值
import redis r = redis.Redis(host='192.168.2.22',port=6379,db=2,password= 'redis') r.set('name','Delia') # 在redis里面放置對(duì)應(yīng)的key,value v = r.get('name') # 獲取key值對(duì)應(yīng)的value值 print(v)
redis-py使用connection pool來(lái)管理對(duì)一個(gè)redis server的所有連接,避免每次建立、釋放連接的開(kāi)銷。
默認(rèn),每個(gè)Redis實(shí)例都會(huì)維護(hù)一個(gè)自己的連接池。可以直接建立一個(gè)連接池,然后作為參數(shù)Redis,這樣就可以實(shí)現(xiàn)多個(gè)Redis實(shí)例共享一個(gè)連接池。
import redis pool = redis.ConnectionPool(host='192.168.2.22', port=6379, db=2, password='redis') r = redis.Redis(connection_pool=pool) r.set('name','Delia') # 在redis里面放置對(duì)應(yīng)的key,value v = r.get('name') # 獲取key值對(duì)應(yīng)的value值 print(v)
輸出結(jié)果里面的b代表的是二進(jìn)制
2、批量存取值
import redis pool = redis.ConnectionPool(host='192.168.2.22', port=6379, db=2, password='redis') r = redis.Redis(connection_pool=pool) r.mset({'name':'Delia','age':'18'}) # mset(mapping=''),批量設(shè)置值 {k1 = '' ,k2 = ''} v = r.mget({'name','age'}) # 批量獲取值 print(v)
輸出結(jié)果:
[b'Delia', b'18']
3、存取value的某個(gè)范圍
import redis pool = redis.ConnectionPool(host='192.168.2.22', port=6379, db=2, password='redis') r = redis.Redis(connection_pool=pool) r.set('name','Delia1234') r.setrange('name',4,'00') #setrange(name,offset,value)修改字符串內(nèi)容,從指定位置開(kāi)始替換 v = r.getrange('name',4,5) #getrange(key,start,end)獲取子序列 print(v)
輸出結(jié)果:
b'00'
4、在value中追加內(nèi)容
import redis pool = redis.ConnectionPool(host='192.168.2.22', port=6379, db=2, password='redis') r = redis.Redis(connection_pool=pool) r.set('name','Delia1234') r.append('name','aaa') #append(key,value)在redis name對(duì)應(yīng)的值后面追加內(nèi)容 v = r.get('name') print(v)
輸出結(jié)果:
b'Delia1234aaa'
總結(jié)
以上所述是小編給大家介紹的python redis的連接及相關(guān)操作,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
- 基于python實(shí)現(xiàn)操作redis及消息隊(duì)列
- Python如何操作docker redis過(guò)程解析
- python如何基于redis實(shí)現(xiàn)ip代理池
- python如何使用Redis構(gòu)建分布式鎖
- Python操作redis和mongoDB的方法
- Python+Redis實(shí)現(xiàn)布隆過(guò)濾器
- python redis 批量設(shè)置過(guò)期key過(guò)程解析
- redis數(shù)據(jù)庫(kù)及與python交互用法簡(jiǎn)單示例
- python操作redis數(shù)據(jù)庫(kù)的三種方法
相關(guān)文章
記一次python 爬蟲(chóng)爬取深圳租房信息的過(guò)程及遇到的問(wèn)題
這篇文章主要介紹了記一次python 爬蟲(chóng)爬取深圳租房信息的過(guò)程,幫助大家更好的理解和學(xué)習(xí)python爬蟲(chóng),感興趣的朋友可以了解下2020-11-11TensorFlow Session會(huì)話控制&Variable變量詳解
今天小編就為大家分享一篇TensorFlow Session會(huì)話控制&Variable變量詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07在python里協(xié)程使用同步鎖Lock的實(shí)例
今天小編就為大家分享一篇在python里協(xié)程使用同步鎖Lock的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-02-02詳解Python并發(fā)編程之從性能角度來(lái)初探并發(fā)編程
這篇文章主要介紹了詳解Python并發(fā)編程之從性能角度來(lái)初探并發(fā)編程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08python leetcode 字符串相乘實(shí)例詳解
這篇文章主要介紹了python leetcode 字符串相乘的示例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-09-09Python實(shí)現(xiàn)朗讀在線音頻和本地音頻
在日常的Python軟件開(kāi)發(fā)中,我們經(jīng)常會(huì)遇到一個(gè)非常重要的功能需求——讓程序能夠讀取并顯示文本內(nèi)容,下面我們就來(lái)學(xué)習(xí)一下Python實(shí)現(xiàn)朗讀音頻的具體操作吧2024-03-03