日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Python模塊對(duì)Redis數(shù)據(jù)庫(kù)的連接與使用講解

瀏覽:118日期:2022-07-28 09:44:39

下面看看Python模塊對(duì)Redis數(shù)據(jù)庫(kù)的連接與使用:

​ 1.Python連接Redis數(shù)據(jù)庫(kù)方法:

import redis res = redis.Redis( host='127.0.0.1',port=6379,db=0,password='XXXXXX',decode_responses=True ) res.set('name','Li') print(res.get('name'))

​ redis.Redis()參數(shù)講解:

​ 1.host:表示連接的主機(jī)的iP地址。

​ 2.port:表示連接的端口。

​ 3.db:表示使用的數(shù)據(jù)庫(kù)的標(biāo)號(hào)。

​ 4.password:表示連接的數(shù)據(jù)庫(kù)的密碼。沒(méi)有不添加該參數(shù)即可。

​ 5.decode_responses:我們從redis數(shù)據(jù)庫(kù)中取出的數(shù)據(jù)默認(rèn)為字節(jié)類型,加上該參數(shù)則將取出的數(shù)據(jù)默認(rèn)為字符串類型。

​ 2.Python使用連接池連接Redis數(shù)據(jù)庫(kù):

import redisconnection = redis.ConnectionPool(host='127.0.0.1',port=6379,password='XXXXXX',decode_responses=True)res = redis.StrictRedis(connection_pool=connection)res.set('name','666')print(res.get('name'))

​ 這里使用連接池的作用可以減少中間消耗的時(shí)間,當(dāng)我們這里用完這個(gè)連接后將他再次放回連接池中,別的實(shí)例使用可以直接使用而不需要重新連接數(shù)據(jù)庫(kù),這樣就大幅度的減少了的中間消耗的時(shí)間。

​ 連接成功后,下面就是使用Python對(duì)redis數(shù)據(jù)庫(kù)的操作:

對(duì)字符串(String)內(nèi)部的操作:

​ 1.res.set()函數(shù):

​ res.set('name','666',ex=m,px=n,nx=True,xx=True)

​ 這里后四個(gè)參數(shù)中,ex與px不能共存,nx與xx也不能共存。

​ ex,px表示數(shù)據(jù)過(guò)期時(shí)間,ex是以秒作為單位,px是以毫秒作為單位。當(dāng)數(shù)據(jù)過(guò)期時(shí)鍵依舊存在,值變?yōu)镹one。

​ nx與xx表示數(shù)據(jù)插入數(shù)據(jù)庫(kù)的鍵的狀態(tài),nx(新建)為True表示當(dāng)鍵不存在時(shí)set操作的返回值為True,且新建數(shù)據(jù);而xx(修改)為True表示在鍵存在時(shí)set操作返回值為True,且修改數(shù)據(jù)。否則上述操作返回None。

​ **故上述操作衍生出的新函數(shù):res.setex(“鍵”,過(guò)期時(shí)間(秒),“值”) **

​ res.setnx(“鍵”,“值”) 鍵不存在,返回True并新建。

​ res.psetex(“鍵”,過(guò)期時(shí)間(毫秒),“值”)

​ res.mset({“鍵”:“值”,…}) 批量添加鍵-值數(shù)據(jù)。

​ res.mset(“鍵”,“鍵”,…) 批量增加鍵數(shù)據(jù)。

​ res.getset(“鍵”,“值”) 修改為新值并返回原值。

​ 2.res.strlen(“鍵”) 返回鍵對(duì)應(yīng)的值的字節(jié)長(zhǎng)度。

​ 3.res.incr(“鍵”,amount=自增的步長(zhǎng)) 不存在則創(chuàng)建,否則自增。

​ res.decr(“鍵”,amount=自減的步長(zhǎng)) 不存在則創(chuàng)建,否則自減。

​ res.incrbyfloat(“鍵”,amount=自增的步長(zhǎng)(浮點(diǎn)型))

​ 4.res.append(“鍵”,“值”) 將值追加在鍵對(duì)應(yīng)的值 的 原始字符串后邊。

對(duì)哈希表(Hash)內(nèi)部的操作:

​ 1.單個(gè)增加:res.hset(“Hash表名”,“鍵”,“值”)

​ 2.批量增加:res.hmset(“Hash表名”,{“鍵值對(duì)”…})

​ 3.單個(gè)取出:res.hget(“Hash表名”,“鍵”)

​ 4.多個(gè)取出:res.hmget(“Hash表名”,“鍵”,“鍵”,…)

​ 5.只能新建的方法:res.hsetnx(“Hash表名”,“鍵”,“值”) 當(dāng)沒(méi)有時(shí)才起新建得作用。

​ 6.取出hash中的全部鍵值對(duì):res.hgetall(“Hash表名”)

​ 7.得到hash中的hash長(zhǎng)度(即hash中的鍵值對(duì)個(gè)數(shù)):res.hlen(“Hash表名”)

​ 8.得到hash中的所有的鍵:res.hkeys(“Hash表名”)

​ 得到hash中的所有的值:res.hvals(“Hash表名”)

​ 9.判斷hash中是否存在該成員:res.hexists(“Hash表名”,“鍵”)

​ 10.刪除hash中的鍵值對(duì):hdel(“Hash表名”,“鍵”)

對(duì)列表(List)內(nèi)部的操作:

​ 1.列表的添加操作: 從左向右添加: res.lpush(“List表名”,“值”,…)

​ 從右向左添加:res.rpush(“List列表”,“值”,…)

​ 這兩種方式如果沒(méi)有該列表就創(chuàng)建,res.l/rpushx()如果沒(méi)有不創(chuàng)建,且不插入

​ 2.向固定的索引號(hào)位置插入元素:res.linsert(“表名”,“位置”,“將需要插入的元素插入到 ‘該元素’ 之前的索引位置(m)”,“被插入的元素(n)”)

​ 例如:res.linsert(“l(fā)ist2”, “before”, “11”, “00”) 往列表中左邊第一個(gè)出現(xiàn)的“m”元素前插入元素'n'。

​ 3.修改(指定索引號(hào)進(jìn)行修改):res.lset(“表名”, index, “值”)

​ 4.刪除指定索引的值:res.lrem(“表名”, “值”,矢量刪除數(shù)(正左負(fù)右0全部))

​ 5.res.l/rpop(“表名”),移除表中的左/右邊的第一個(gè)數(shù)據(jù)并將值返回。

​ 6.取值:res.lindex(“表名”,index)

對(duì)集合(Set)內(nèi)部的操作:

​ 1.增加數(shù)據(jù):res.sadd(“集合名”,“值”)

​ 2.獲取集合的全部成員:res.smembers(“集合名”)

​ 3.獲取集合內(nèi)的數(shù)據(jù)數(shù)量:res.scard(“集合名”)

​ 4.以元組格式獲取集合的全部成員:res.sscan(“集合名”)

​ 5.判斷值是不是集合的成員:res.sismember(“集合名”,“值”)

​ 6.刪除指定的值:res.srem(“集合名”,“值”)

對(duì)集合,列表,字符串,哈希的操作:

​ 1.刪除:res.delete(“鍵”) 刪除該鍵的數(shù)據(jù),不受表類型的約束。

​ 2.檢查名字是否存在:exists(“表名”)

​ 3.模糊匹配:

KEYS * 匹配數(shù)據(jù)庫(kù)中所有 key 。KEYS h?llo 匹配 hello , hallo 和 hxllo 等。KEYS hllo 匹配 hllo 和 heeeeello 等。KEYS h[ae]llo匹配 hello 和 hallo ,但不匹配 hillo上述為終端命令,下面是Python語(yǔ)法:res.keys()匹配數(shù)據(jù)庫(kù)中所有 key 。res.keys('h?llo')匹配 hello , hallo 和 hxllo 等。res.keys('hllo')匹配 hllo 和 heeeeello 等。res.keys('h[ae]llo')匹配 hello 和 hallo ,但不匹配 hillo

​ 4.表級(jí)重命名:res.rename(“原名”,“新名”)

​ 5.獲取表級(jí)的類型:res.type(“表名”)

​ 6.查看所有元素:res.scan(“表名”)

​ 7.查看所有元素并生成迭代器:res.scan_iter(“表名”)

​ 8.獲取值:res.get(“鍵”)

​ 9.查看當(dāng)前數(shù)據(jù)庫(kù)中包含多少條數(shù)據(jù):res.dbsize()

​ 10.將數(shù)據(jù)寫回磁盤,保存時(shí)阻塞:res.save()

​ 11.清空數(shù)據(jù)庫(kù)的所有數(shù)據(jù):res.flushdb()

管道(pipeline):

​ redis默認(rèn)在執(zhí)行每次請(qǐng)求都會(huì)創(chuàng)建(連接池申請(qǐng)連接)和斷開(kāi)(歸還連接池)一次連接操作,如果想要在一次請(qǐng)求中指定多個(gè)命令,則可以使用pipline實(shí)現(xiàn)一次請(qǐng)求指定多個(gè)命令,并且默認(rèn)情況下一次pipline 是原子性操作。

​ 管道(pipeline)是redis在提供單個(gè)請(qǐng)求中緩沖多條服務(wù)器命令的基類的子類。它通過(guò)減少服務(wù)器-客戶端之間反復(fù)的TCP數(shù)據(jù)庫(kù)包,從而大大提高了執(zhí)行批量命令的功能。

​ 管道操作:

pipe = res.pipeline() # 創(chuàng)建一個(gè)管道pipe.set(’name’, 123)pipe.set(’role’, 456)pipe.incr(’num’) # 如果num不存在則vaule為1,如果存在,則value自增1。pipe.execute() # 無(wú)論多少操作最后都需要提交,類似于MySQL的事務(wù)。

​ 上述代碼可以簡(jiǎn)化為:

pipe = res.pipeline() # 創(chuàng)建一個(gè)管道pipe.set(’name’, 123).set(’role’, 456).incr(’num’).execute()

到此這篇關(guān)于Python模塊對(duì)Redis數(shù)據(jù)庫(kù)的連接與使用的文章就介紹到這了,更多相關(guān)Python Redis連接與使用內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
中文字幕一区二区三区日韩精品| 在线日韩中文| 免费黄网站欧美| 欧美亚洲国产一区| 国产一区日韩欧美| 国产亚洲在线观看| 日韩午夜视频在线| 国产午夜久久av| 美女国产精品久久久| 你懂的网址国产 欧美| 国产成人精品亚洲线观看| 欧美激情国产在线| 99精品在线| 午夜亚洲福利在线老司机| 日韩一区欧美二区| 日本视频一区二区| 国产精品乱战久久久| 精品黄色一级片| 久久毛片亚洲| 久久在线免费| 免费精品视频| 特黄特色欧美大片| 好看的av在线不卡观看| 一区免费在线| 美女国产精品| 日韩二区在线观看| 精品国产亚洲一区二区三区大结局 | 亚洲专区视频| 免费精品一区| 日本午夜大片a在线观看| 日韩亚洲在线| 日本一区中文字幕| 国产精品亚洲一区二区在线观看| 国产白浆在线免费观看| 在线日韩视频| 日本在线观看不卡视频| 国产成人精品亚洲线观看| 视频一区中文| 欧美片网站免费| 亚洲三级欧美| 一区二区三区午夜视频| 精品国产aⅴ| 亚洲一区黄色| 久久xxx视频| 136国产福利精品导航网址| 久久久9色精品国产一区二区三区| 国产精品日韩精品中文字幕| 欧美视频二区| 欧美激情日韩| 欧美中文一区二区| 奇米色欧美一区二区三区| 在线人成日本视频| 亚洲久草在线| 欧美日韩国产v| 亚洲美女91| 中文字幕在线免费观看视频| 亚洲精品乱码久久久久久蜜桃麻豆 | 日本高清不卡一区二区三区视频| 欧美1区免费| 欧美日韩一视频区二区| 久久精品免费一区二区三区| 天堂精品久久久久| 久久国产免费| 日韩国产在线观看一区| 色综合www| 国产欧美一区二区色老头| 久久精品欧美一区| 国产精品久久久久77777丨| 久久久久久婷| 日韩三区在线| 日本国产欧美| 国产精品av一区二区| 亚洲v天堂v手机在线| 日韩国产综合| 久久国产日韩欧美精品| 欧美大黑bbbbbbbbb在线| 欧美91在线|欧美| 蜜桃久久久久久久| 精品国模一区二区三区| 国产欧美久久一区二区三区| 亚洲免费影院| 成人久久一区| 成人国产精选| 欧美国产日本| 日本91福利区| 亚洲一区区二区| 久久精品一区二区不卡| 国产精品**亚洲精品| 亚洲人www| 亚洲欧美日韩视频二区| 天堂av在线| 国产精品久久久久久久久免费高清| 日韩中文字幕一区二区三区| 久久天堂精品| 亚洲精品国产嫩草在线观看 | 18国产精品| 精品免费视频| 亚洲婷婷在线| 狠狠久久伊人| 麻豆精品蜜桃视频网站| 日韩三级精品| 麻豆亚洲精品| 日韩视频在线一区二区三区 | 精品黄色一级片| 91成人小视频| 91成人小视频| 日本一区免费网站| 亚洲精品在线国产| 亚洲资源av| 日韩视频中文| 欧美成人午夜| 国产一区视频在线观看免费| 99久久99久久精品国产片果冰 | 亚洲精品123区| 欧美日韩国产免费观看视频| 欧美sm一区| 国产精品亚洲综合在线观看| 美国三级日本三级久久99| 亚洲天堂一区二区| 98精品视频| 国内精品麻豆美女在线播放视频| 国产日韩三级| 国产精品手机在线播放| 国产精品免费不| 精品久久视频| 亚洲国产福利| 国产亚洲一区二区手机在线观看| se01亚洲视频 | 国产亚洲精品美女久久久久久久久久| 欧美天堂在线| 激情久久99| 日韩在线精品| 激情五月综合网| 欧美午夜不卡| 蜜桃av一区二区| 久久国产乱子精品免费女| 国产极品模特精品一二| 激情久久一区二区| 91精品国产91久久久久久黑人| 国产一区欧美| 免费成人性网站| 91亚洲精品在看在线观看高清| 日韩一区二区三区高清在线观看| 国产欧美88| 黄色欧美在线| 成人免费网站www网站高清| 亚洲午夜在线| 免费在线成人| 麻豆国产精品| 高清不卡亚洲| 亚洲欧美综合| 国产亚洲福利| 91成人小视频| 欧美丰满日韩| 91精品观看| 少妇高潮一区二区三区99| 欧美日韩xxxx| 免费日韩一区二区三区| 欧美羞羞视频| 午夜在线精品| 欧美精品中文字幕亚洲专区| 精品视频自拍| 亚洲精华国产欧美| 日韩高清不卡一区| 精品国产三区在线| 欧美亚洲国产一区| 日韩精品免费观看视频| 精品国产三区在线| 午夜日韩av| 欧美欧美黄在线二区| 日韩国产欧美| 免费不卡在线观看| 国产精品xxx在线观看| 久久久噜噜噜| 一区二区三区四区日韩| 精品一二三区| 美女91精品| 日韩.com| 亚洲五月综合| 欧美日韩国产观看视频| 视频一区视频二区中文字幕| 日韩欧美精品| 精品女同一区二区三区在线观看| 日韩理论片av| 亚洲自啪免费| 久久亚洲黄色| 亚洲欧美日韩在线观看a三区| 日韩超碰人人爽人人做人人添| 不卡专区在线| 日韩激情一二三区| 久久国产亚洲| 欧美亚洲一级| 欧美午夜精彩| 欧美激情一区| 亚洲性视频在线| 中文在线资源| 日韩成人一级| 女人天堂亚洲aⅴ在线观看| 国产福利一区二区精品秒拍 | 亚洲国产一区二区在线观看|