欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

redis操作

pycharm安裝redis
D:\project\s14  pip install redis

或setting-->project interpreter--->點(diǎn) +號(hào)
#!/usr/bin/env python
#!-*-coding:utf-8-*-
importredis,time
#單連
r = redis.Redis(host='192.168.74.20',port=6379,db=6)

#連接池
pool = redis.ConnectionPool(host='192.168.74.20',port=6379,db=6)
r = redis.Redis(connection_pool=pool)

string字符操作
r.set("name","alex")
print(r.get('name'))
r.setnx("name1","jack")#name1不存在時(shí)有效 not exist
print(r.get(('name1')))
r.psetex("name",1000,"Lucy")#name已經(jīng)存在,有效期1000ms
print(r.get("name"))
r.mset({"name2":'lili','age':'88'})#批量設(shè)置 以字典的形式
print(r.mget("name2",'age',"name"))#批量獲取
print(r.getset('name','kobe_brant'))#設(shè)置新值并返回原來的值
print(r.get('name'))
print(r.getrange('name',0,3))#獲取name的第03個(gè)字符
r.setrange('name2',0,"Alex")#從第0位開始,逐步替換成kathy
print(r.get("name2"))
print(ord("a"))
r.setbit("name2",6,1)
print(r.get("name2"))
print(r.bitcount("name2"))#names2的值轉(zhuǎn)換成二進(jìn)制有多少個(gè)1
print(r.strlen("name"))# name的值的長(zhǎng)度
r.set('k1','20')
r.incr('k1',amount=10)#10位自增
print(r.get('k1'))
r.set("k2","1.5")
r.incrbyfloat("k2",amount=2.5)#浮點(diǎn)數(shù) 2.5自增
print(r.get("k2"))
print(r.decr("k1",amount=5))#5自減
r.append("k1","00")#k1的值追加00
print(r.get("k1"))

hash哈希操作
r.hset("info","name","mary")#info的哈希數(shù)據(jù) hash key value
print(r.hget("info","name"))#info的哈希 name的值
r.hmset("info",{"address":"shenzhen","number":"12556"})#批量設(shè)置infohash
print(r.hmget("info","name","address","number"))#批量獲取infohash
print(r.hgetall("info"))#獲取info的所有值
print(r.hlen("info"))#查看info的長(zhǎng)度
print(r.hkeys('info'))#查看infokey
print(r.hvals('info'))#查看infovalue
print(r.hexists('info','name'))#判斷info是否存在key
r.hdel('info','address')#刪除key
print(r.hgetall('info'))
r.hincrby('info','number',amount=1000)#key對(duì)應(yīng)的value自增1000
print(r.hget('info','number'))
r.hset('info2','num','1.6')
r.hincrbyfloat('info2','num',amount=5.5)#浮點(diǎn)數(shù)自增5.5
print(r.hgetall('info2'))
print(r.hscan('info',cursor=0,match='n*',count=2))#光標(biāo)第0個(gè)開始,匹配n開頭的key找出2個(gè)value

list列表操作
r.lpush('addr','shenzhen','nanchang','ganzhou','guangzhou')設(shè)定addr列表并傳入數(shù)據(jù)
print(r.lrange('addr',0,-1))#獲取列表addr所有數(shù)據(jù)
r.lpushx('address','xingguo')#列表addr存在時(shí),xingguo添加到最左邊,如果不存在也不會(huì)報(bào)錯(cuò)
print(r.lrange('addr',0,-1))
r.rpush('numbers','1','2','3','4','5')
r.rpushx('numberss','new_1')#列表numbers存在時(shí),new_1添加到最右邊
print(r.lrange('numbers',0,-1))
print(r.llen('numbers'))#列表的長(zhǎng)度
r.linsert('addr','after','xingguo','gulong')#xinnguo后面插入gulong
r.lset('numbers',10,'6')#10個(gè)值重新賦值為6
print(r.lrange('numbers',0,-1))
r.lrem('numbers','1',4)#從第1位開始,刪除后面的4
print(r.lrange('numbers',0,-1))
print(r.lpop('numbers'))#列表的左側(cè)刪除一個(gè)值,刪除的值返回屏幕
print(r.lrange('numbers',0,-1))
print(r.rpop('numbers'))#列表的右側(cè)刪除一個(gè)值并返回屏幕
print(r.lrange('numbers',0,-1))
print(r.lindex('numbers','2'))#獲取numbers的第2個(gè)值
r.ltrim('numbers',2,4)#保留24位的值,其余的刪除
print(r.lrange('numbers',0,-1))
r.rpoplpush('numbers','nums')#numbers的最右側(cè)的值移到nums的最左側(cè)
print(r.lrange('nums',0,-1))
r.blpop('nums',timeout=10)#從左邊往右依次刪除
print(r.lrange('nums',0,-1))
r.brpop('nums',timeout=10)#從右往左依次刪 超時(shí)時(shí)間為10s
print(r.lrange('nums',0,-1))
r.brpoplpush('numbers','nums',timeout=10)#numbers的最右側(cè)移到nums最左側(cè),numbers移完了就卡主10s,有數(shù)據(jù)進(jìn)numbers就釋放在移數(shù)據(jù)
print(r.lrange('numbers',0,-1))
print(r.lrange('nums',0,-1))

set集合操作
r.sadd("jihe","1","2","2","3")
print(r.scard("jihe"))#查找jihe有多少成員
r.sadd("jihe2",'1','2','6')
print(r.smembers("jihe"))#查找jihe的成員
print(r.sdiff("jihe","jihe2"))#jihe不在jihe2
r.sdiffstore('new_1','jihe','jihe2')#jihe不在jihe2,并且把結(jié)果保存到new_1集合里
print(r.smembers("new_1"))
print(r.sinter('jihe','jihe2'))#jihe jihe2的交集
r.sinterstore('new_2','jihe','jihe2')#jihe jihe2交集保存到new_2
print(r.smembers('new_2'))
print(r.sismember('jihe','1'))#判斷1是不是jihe的成員
r.smove('jihe2','jihe','6')#jihe2的成員 6移到jihe
print(r.smembers('jihe'))
print(r.spop(r.spop("jihe")))#從集合 jihe隨機(jī)移除一個(gè)成員
print(r.smembers('jihe'))
print(r.srandmember('jihe','2'))#jihe隨機(jī)獲取2個(gè)成員
r.srem('jihe','1')#刪除jihe的成員1
print(r.smembers('jihe'))
print(r.sunion('jihe','jihe2'))#jihe jihe2的并集
r.sunionstore('new_3','jihe','jihe2')#jihe jihe2的并集保存到new_3
print(r.smembers('new_3'))
print(r.sscan('new_3',0,match=2,count=1))#new_3集合里,從光標(biāo)0開始,匹配值是2的,只找1個(gè)

z有序集合操作
r.zadd('shuxue','98','lei','56','alex','85','jack')#shuxue有序集合 98權(quán)重 成員lei
print(r.zcard("shuxue"))#查看有多少個(gè)成員
print(r.zcount("shuxue",60,90))#查看權(quán)重6090有幾個(gè)成員
r.zincrby("shuxue",1,"lilei")#shuxue集合 lilei成員的權(quán)重自增1
print(r.zrange("shuxue",0,-1,withscores=True))#遍歷 shuxue成員 列出權(quán)重
print(r.zrank("shuxue","lilei"))#查看lilei的排名 權(quán)重小到大排 默認(rèn)0開始
r.zadd("shuxue",10,"kk")#添加kk權(quán)重10
r.zrem("shuxue","kk")#刪除kk
r.zremrangebyrank("shuxue",0,1)#刪除排名第01位的成員
r.zremrangebyscore("shuxue",0,11)#刪除第011位權(quán)重的成員
print(r.zscore("shuxue","lilei"))#獲取lilei的分?jǐn)?shù)
r.zinterstore("score_1","2","yuwen","shuxue")#指定2個(gè)有序集合,yuwenshuxue集合,相加保存到 socre_a集合
r.zunionstore("score_b",2,"yuwen","shuxue")#并集相加
print(r.zscan("score_1",0,match="j*"))#找出score_1集合中j開頭的成員

其他操作
r.delete("0")#刪除任意數(shù)據(jù)類型
print(r.exists("info"))#1為存在
print(r.keys(pattern="in*"))#獲取in開頭的name
r.expire("k2",2)#k2數(shù)據(jù)2秒之后過期刪除
print(r.keys())
r.rename("info2","info_2")#將數(shù)據(jù)info2改名為info_2
r.move("city",1)#將數(shù)據(jù)city移到db 1
print(r.randomkey())#隨機(jī)獲取一個(gè)數(shù)據(jù)的 name
print(r.type("names"))#判斷names的數(shù)據(jù)類型
print(r.scan(1,match="n*",count=2))#光標(biāo)從1開始 匹配n后面有字符的數(shù)據(jù)名字,找出2個(gè)這樣的數(shù)據(jù)名字

pipline實(shí)現(xiàn)一次請(qǐng)求指定多個(gè)命令實(shí)例
pool=redis.ConnectionPool(host='192.168.74.20',port=6379,db=5)
r=redis.Redis(connection_pool=pool)

pipe=r.pipeline(transaction=True)
pipe.set('name','lwb')
time.sleep(10)
pipe.set('age','19')
pipe.execute()#管道執(zhí)行,只有到了這一步才會(huì)設(shè)置nameage,而不會(huì)在sleep之前先設(shè)置name

redis訂閱發(fā)布實(shí)例
redishelper.py
importredis
classRedishelper():
   def__init__(self):
       self.__conn=redis.Redis(host='192.168.74.20',db=0)
       self.chan_sub='fm105.8'
       
self.chan_pub='fm105.8'
   def
public(self,msg):
       self.__conn.publish(self.chan_pub,msg)#調(diào)用redispublish方法
       
return True
    def
subscribe(self):
        pub=self.__conn.pubsub()# redis的訂閱方法pubsub開始訂閱
       
pub.subscribe(self.chan_pub)#訂閱頻道
       
pub.parse_response()#準(zhǔn)備接收 再后來調(diào)用這句話才是接收
       
returnpub

訂閱subscriber
#!/usr/bin/env python
#-*- coding:utf-8-*-
fromredishelperimportRedishelper
obj=Redishelper()#實(shí)例化一個(gè)redis連接
redis_sub=obj.subscribe()#調(diào)用redis訂閱方法,也就是打印方法
while True:
    msg=redis_sub.parse_response()#收到就打印,收不到就卡主
   
print(msg[0].decode(),msg[1].decode(),msg[2].decode())

發(fā)布publisher
#!/usr/bin/env python
#!-*-coding:utf-8-*-
fromredishelperimportRedishelper
obj=Redishelper()#實(shí)例化一個(gè)redis連接
obj.public('你好')#調(diào)用redispublish功能 命令:publish頻道 消息

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),大化企業(yè)網(wǎng)站建設(shè),大化品牌網(wǎng)站建設(shè),網(wǎng)站定制,大化網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,大化網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

名稱欄目:redis操作
本文URL:http://chinadenli.net/article10/jiicgo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)企業(yè)建站、企業(yè)網(wǎng)站制作、用戶體驗(yàn)品牌網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)