国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

python使用redis控制模塊來(lái)和redis完成互動(dòng)

89542767 / 424人閱讀

  此篇文章主要是詳細(xì)介紹了python使用redis控制模塊來(lái)和redis完成互動(dòng),文章內(nèi)容緊扣主題進(jìn)行詳盡的基本介紹,具有很強(qiáng)的實(shí)用價(jià)值,需用的朋友可以學(xué)習(xí)一下


  redis模塊的使用


  1.安裝模塊

  pip3 install redis


  2.導(dǎo)入模塊

  import redis


  3.接口方式


  嚴(yán)苛連接模式:r=redis.StrictRedis(host=“”,port=)


  更Python變的連接模式:r=redis.Redis(host=“”,port=)


  StrictRedis用以完成絕大多數(shù)官方指令,并用官方詞匯和指令


  Redis與StrictRedis的區(qū)別在于:Redis是StrictRedis的派生類,用以往前適配舊版的redis-py,而且這個(gè)接口方式是更"python化"的


  4.連接池


  為了節(jié)約網(wǎng)絡(luò)資源,降低數(shù)次聯(lián)接消耗,連接池的功效等同于總覽好幾個(gè)手機(jī)客戶端與服務(wù)器端連接,當(dāng)新手機(jī)客戶端需用聯(lián)接時(shí),只必須到連接池獲得1個(gè)聯(lián)接就可以,事實(shí)上就是一個(gè)連接共享給好幾個(gè)手機(jī)客戶端。


  import redis
  pool=redis.ConnectionPool(host='localhost',port=6379,decode_responses=True)
  r=redis.Redis(connection_pool=pool)
  r2=redis.Redis(connection_pool=pool)
  r.set('apple','a')
  print(r.get('apple'))
  r2.set('banana','b')
  print(r.get('banana'))
  print(r.client_list())
  print(r2.client_list())#可以看出兩個(gè)連接的id是一致的,說(shuō)明是一個(gè)客戶端連接


  5.實(shí)際操作


  系數(shù)的設(shè)定和獲得,可以參考一下redis的指令,redis控制模塊里的相匹配功能性的函數(shù)名基本和redis中的認(rèn)可


  留意默認(rèn)設(shè)置前提下,設(shè)定的值或獲得數(shù)值均為bytes類型,如果要改成str種類,必須在聯(lián)接時(shí)加上上decode_responses=True】


  設(shè)定值:


  redis中set()==>r.set()
  redis中setnx()==>r.set()
  redis中setex()==>r.setex()
  redis中setbit()==>r.setbit()
  redis中mset()==>r.mset()
  redis中hset()==>r.hset()
  redis中sadd()==>r.sadd()
  #其他。。。基本redis的命令名與redis模塊中的函數(shù)名一致


  獲取:


  redis中g(shù)et()==》r.get()
  redis中mget()==》r.mget()
  redis中g(shù)etset()==》r.getset()
  redis中g(shù)etrange()==》r.getrange()
  #其他。。。基本redis的命令名與redis模塊中的函數(shù)名一致
  import redis
  r=redis.Redis(host='localhost',port=6379,decode_responses=True)
  #r=redis.StrictRedis(host='localhost',port=6379)
  r.set('key','value')
  value=r.get('key')
  #print(type(value))
  print(value)
  r.hset('info','name','lilei')
  r.hset('info','age','18')
  print(r.hgetall('info'))
  r.sadd('course','math','english','chinese')
  print(r.smembers('course'))

  管道


  一般情況下,執(zhí)行一條命令后必須等待結(jié)果才能輸入下一次命令,管道用于在一次請(qǐng)求中執(zhí)行多個(gè)命令。


  參數(shù)介紹:


  transaction:指示是否所有的命令應(yīng)該以原子方式執(zhí)行。


  import redis,time
  r=redis.Redis(host="localhost",port=6379,decode_responses=True)
  pipe=r.pipeline(transaction=True)
  pipe.set('p1','v2')
  pipe.set('p2','v3')
  pipe.set('p3','v4')
  time.sleep(5)
  pipe.execute()
  事務(wù)
  python中可以使用管道來(lái)代替事務(wù):
  補(bǔ)充:監(jiān)視watch:pipe.watch()
  import redis,time
  import redis.exceptions
  r=redis.Redis(host='localhost',port=6379,decode_responses=True)
  pipe=r.pipeline()
  print(r.get('a'))
  try:
  #pipe.watch('a')
  pipe.multi()
  pipe.set('here','there')
  pipe.set('here1','there1')
  pipe.set('here2','there2')
  time.sleep(5)
  pipe.execute()
  except redis.exceptions.WatchError as e:
  print("Error")
  訂閱發(fā)布
  發(fā)布方:
  import redis
  r=redis.Redis(host="localhost",port=6379,decode_responses=True)
  #發(fā)布使用publish(self,channel,message):Publish``message``on``channel``.
  Flag=True
  while Flag:
  msg=input("主播請(qǐng)講話>>:")
  if len(msg)==0:
  continue
  elif msg=='quit':
  break
  else:
  r.publish('cctv0',msg)


  訂閱方:


  當(dāng)訂閱成功后,第一次接收返回的第一個(gè)消息是一個(gè)訂閱確認(rèn)消息:


  import redis
  r=redis.Redis(host="localhost",port=6379,decode_responses=True)
  #發(fā)布使用publish(self,channel,message):Publish``message``on``channel``.
  Flag=True
  chan=r.pubsub()#返回一個(gè)發(fā)布/訂閱對(duì)象
  msg_reciver=chan.subscribe('cctv0')#訂閱
  msg=chan.parse_response()#第一次會(huì)返回訂閱確認(rèn)信息
  print(msg)
  print("訂閱成功,開始接收------")
  while Flag:
  msg=chan.parse_response()#接收消息
  print(">>:",msg[2])#此處的信息格式['消息類型','頻道','消息'],所以使用[2]來(lái)獲取


  綜上所述,這篇文章就給大家介紹到這里了,希望可以給大家?guī)?lái)幫助。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/128725.html

相關(guān)文章

  • SegmentFault 助力 PyCon2014 China

    摘要:月日,助力在北京舉辦全球最盛大的年度聚會(huì),國(guó)內(nèi)外頂尖的工程師做了很精彩的分享和互動(dòng),現(xiàn)場(chǎng)多名愛好者參與了此次技術(shù)主題盛宴。后續(xù)會(huì)有更多現(xiàn)場(chǎng)照片持續(xù)更新 11月15日,SegmentFault 助力PyCon China 在北京舉辦全球 Pythoneer 最盛大的年度聚會(huì),國(guó)內(nèi)外頂尖的Python 工程師做了很精彩的分享和互動(dòng),現(xiàn)場(chǎng)300多名python愛好者參與了此次技術(shù)主題盛宴。 ...

    junbaor 評(píng)論0 收藏0
  • 宜信開源|數(shù)據(jù)庫(kù)審核軟件Themis部署攻略

    摘要:一介紹是宜信公司團(tuán)隊(duì)開發(fā)的一款數(shù)據(jù)庫(kù)審核產(chǎn)品,可幫助開發(fā)人員快速發(fā)現(xiàn)數(shù)據(jù)庫(kù)質(zhì)量問(wèn)題,提升工作效率。此平臺(tái)可實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)進(jìn)行多維度對(duì)象結(jié)構(gòu)文本執(zhí)行計(jì)劃及執(zhí)行特征的審核,用以評(píng)估對(duì)象結(jié)構(gòu)設(shè)計(jì)質(zhì)量及運(yùn)行效率。執(zhí)行計(jì)劃指數(shù)據(jù)庫(kù)中的執(zhí)行計(jì)劃。 一、介紹 Themis是宜信公司DBA團(tuán)隊(duì)開發(fā)的一款數(shù)據(jù)庫(kù)審核產(chǎn)品,可幫助DBA、開發(fā)人員快速發(fā)現(xiàn)數(shù)據(jù)庫(kù)質(zhì)量問(wèn)題,提升工作效率。其名稱源自希臘神話中的正義...

    fsmStudy 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<