前沿:隨著(zhù)互聯(lián)網(wǎng)的高速發(fā)展,數據變得越來(lái)越重要,Python成為了人工智能的熱門(mén)語(yǔ)言,而Nosql數據庫已成為日常開(kāi)發(fā)用品。
今天要寫(xiě)的是Python操作Redis
Redis的安裝我就不介紹了,你可以看看Redis一系列的文章 我也有關(guān)于Redis安裝一文.
雖然Python是個(gè)大熱門(mén),但其方向不在于Web端,非常適合數據挖掘,我是web方向的工程師.. 熱衷于.NET/C#,但也喜歡Python ,如果想要腳踏兩只船,可以通過(guò)intro的nuget包進(jìn)行兩者兼容。
正文:
一.Python連接Redis
開(kāi)發(fā)工具為Pycharm,包:Redis??梢灾苯舆M(jìn)行安裝第三方模塊
?
redis-py提供兩個(gè)類(lèi)Redis和StrictRedis用于實(shí)現Redis的命令,StrictRedis用于實(shí)現大部分官方的命令,并使用官方的語(yǔ)法和命令,Redis是StrictRedis的子類(lèi)
?
?
操作:
一.string 操作
添加值:
set(name, value, ex=None, px=None, nx=False, xx=False)
參數:
ex,過(guò)期時(shí)間(秒)
px,過(guò)期時(shí)間(毫秒)
nx,如果設置為T(mén)rue,則只有name不存在時(shí),當前set操作才執行
xx,如果設置為T(mén)rue,則只有name存在時(shí),崗前set操作才執行
可以漸變?yōu)??setnx(name, value)、psetex(name, time_ms, value)、setex(name, value, time)
?
?獲取值:get(name)根據key進(jìn)行獲取
?
還可以在獲取的時(shí)候去截取值
getrange(key, start, end)
?
?Hash操作
設置值
hset(name, key, value)
如果已經(jīng)有這個(gè)name了 就修改,如果沒(méi)有就創(chuàng )建
?
?
hmset(name, mapping)
在name對應的hash中批量設置鍵值對 例如 r.hmset('xx', {'k1':'v1', 'k2': 'v2'})獲取值
hget(name,key)
1 # 在name對應的hash中獲取根據key獲取value
?
hgetall(name)
1 獲取name對應hash的所有鍵值
?
hlen(name)
1 # 獲取name對應的hash中鍵值對的個(gè)數
?
hkeys(name)
1 # 獲取name對應的hash中所有的key的值
?
hvals(name)
1 # 獲取name對應的hash中所有的value的值
?
hexists(name, key)
1 # 檢查name對應的hash是否存在當前傳入的key
?
hdel(name,*keys)
1 # 將name對應的hash中指定key的鍵值對刪除
?
操作list
lpush(name,values)
1 # 在name對應的list中添加元素,每個(gè)新的元素都添加到列表的最左邊 2 3 # 如: 4 # r.lpush('oo', 11,22,33) 5 # 保存順序為: 33,22,11 6 7 # 擴展: 8 # rpush(name, values) 表示從右向左操作
?
lpushx(name,value)
1 # 在name對應的list中添加元素,只有name已經(jīng)存在時(shí),值添加到列表的最左邊 2 3 # 更多: 4 # rpushx(name, value) 表示從右向左操作
?
llen(name)
1 # name對應的list元素的個(gè)數
?
linsert(name, where, refvalue, value))
1 # 在name對應的列表的某一個(gè)值前或后插入一個(gè)新值 2 3 # 參數: 4 # name,redis的name 5 # where,BEFORE或AFTER 6 # refvalue,標桿值,即:在它前后插入數據 7 # value,要插入的數據
?
r.lset(name, index, value)
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站