python安裝與使用redis的方法
本文實(shí)例講述了python安裝與使用redis的方法。分享給大家供大家參考,具體如下:
1、安裝
好吧,我承認(rèn)我只會(huì)最簡(jiǎn)單的安裝:
sudo apt-get install redis-server
python 支持包: (其實(shí)就一個(gè)文件,搞過(guò)來(lái)就能用)
sudo apt-get install python-redis
2、配置
配置一下吧,默認(rèn)配置文件在: "/etc/redis/redis.conf"
綁定ip:
"bind 127.0.0.1″ -> "bind 10.0.1.7″
將磁盤(pán)同步改為 不同步或每秒同步,一直同步的話(huà)太慢了:
"appendfsync always" -> "appendfsync no"
檢查一下后臺(tái)執(zhí)行是否打開(kāi):
"daemonize yes"
或者其他你想設(shè)置的,例如:
連接超時(shí)時(shí)間 : "timeout 300″
運(yùn)行級(jí)別: "loglevel notice" (個(gè)人認(rèn)為默認(rèn)的這個(gè)就挺好,非出現(xiàn)大異常,不用改為debug )
3、使用
#! /usr/bin/env python #coding=utf-8 import redis print redis.__file__ # 連接,可選不同數(shù)據(jù)庫(kù) r = redis.Redis(host='10.0.1.7', port=6379, db=1) # ------------------------------------------- # 看信息 info = r.info() for key in info: print "%s: %s" % (key, info[key]) # 查數(shù)據(jù)庫(kù)大小 print '\ndbsize: %s' % r.dbsize() # 看連接 print "ping %s" % r.ping() # 選數(shù)據(jù)庫(kù) #r.select(2) # 移動(dòng)數(shù)據(jù)去2數(shù)據(jù)庫(kù) #r.move('a',2) # 其他 #r.save('a') # 存數(shù)據(jù) #r.lastsave('a') # 取最后一次save時(shí)間 #r.flush() #刷新 #r.shutdown() #關(guān)閉所有客戶(hù)端,停掉所有服務(wù),退出服務(wù)器 # #-------------------------------------------- # 它有四種類(lèi)型: string(key,value)、list(序列)、set(集合)、zset(有序集合,多了一個(gè)順序?qū)傩? # 不知道你用的哪種類(lèi)型? # print r.get_type('a') #可以告訴你 # ------------------------------------------- # string操作 print '-'*20 # 塞數(shù)據(jù) r['c1'] = 'bar' #或者 r.set('c2','bar') #這里有個(gè) getset屬性,如果為T(mén)rue 可以在存新數(shù)據(jù)時(shí)將上次存儲(chǔ)內(nèi)容同時(shí)搞出來(lái) print 'getset:',r.getset('c2','jj') #如果你想設(shè)置一個(gè)遞增的整數(shù) 每執(zhí)行一次它自加1: print 'incr:',r.incr('a') #如果你想設(shè)置一個(gè)遞減的整數(shù) please: print 'decr:',r.decr('a') # 取數(shù)據(jù) print 'r['']:',r['c1'] #或者 print 'get:',r.get('a') #或者 同時(shí)取一批 print 'mget:',r.mget('c1','c2') #或者 同時(shí)取一批 它們的名字(key)很像 而恰好你又不想輸全部 print 'keys:',r.keys('c*') #又或者 你只想隨機(jī)取一個(gè): print 'randomkey:',r.randomkey() # 查看一個(gè)數(shù)據(jù)有沒(méi)有 有 1 無(wú)0 print 'existes:',r.exists('a') # 刪數(shù)據(jù) 1是刪除成功 0和None是沒(méi)這個(gè)東西 print 'delete:',r.delete('cc') # 哦對(duì)了 它是支持批量操作的 print 'delete:',r.delete('c1','c2') # 其他 r.rename('a','c3') #呃.改名 r.expire('c3',10) #讓數(shù)據(jù)10秒后過(guò)期 說(shuō)實(shí)話(huà)我不太明白么意思 r.ttl('c3') #看剩余過(guò)期時(shí)間 不存在返回-1 #-------------------------------- # 序列(list)操作 print '-'*20 # 它是兩頭通的 # 塞入 r.push('b','gg') r.push('b','hh') # head 屬性控制是不是從另一頭塞 r.push('b','ee',head=True) # 看長(zhǎng)度 print 'list len:',r.llen('b') # 列出一批出來(lái) print 'list lrange:',r.lrange('b',start=0,end=-1) # 取出一位 print 'list index 0:',r.lindex('b',0) # 修剪列表 #若start 大于end,則將這個(gè)list清空 print 'list ltrim :',r.ltrim('b',start=0,end=3) #只留 從0到3四位 # 排序 # 這可是個(gè)大工程 #-------------------------------- # 集合(set)操作 # 塞數(shù)據(jù) r.sadd('s', 'a') # 判斷一個(gè)set長(zhǎng)度為多少 不存在為0 r.scard('s') # 判斷set中一個(gè)對(duì)象是否存在 r.sismember('s','a') # 求交集 r.sadd('s2','a') r.sinter('s1','s2') #求交集并將結(jié)果賦值 r.sinterstore('s3','s1','s2') # 看一個(gè)set對(duì)象 r.smembers('s3') # 求并集 r.sunion('s1','s2') # 阿 我想聰明的你已經(jīng)猜到了 #求并集 并將結(jié)果返回 r.sunionstore('ss','s1','s2','s3') # 求不同 # 在s1中有,但在s2和s3中都沒(méi)有的數(shù) r.sdiff('s1','s2','s3') r.sdiffstore('s4','s1','s2')# 這個(gè)你懂的 # 取個(gè)隨機(jī)數(shù) r.srandmember('s1') #------------------------------------- #zset 有序set #'zadd', 'zcard', 'zincr', 'zrange', 'zrangebyscore', 'zrem', 'zscore' # 分別對(duì)應(yīng) #添加, 數(shù)量, 自加1,取數(shù)據(jù),按照積分(范圍)取數(shù)據(jù),刪除,取積分 # 我靠 你玩死我了 redis! # 今天在實(shí)驗(yàn)中,我嘗試插入一條zset類(lèi)型數(shù)據(jù): r1.zset(u'www.liyi99.com','liwu',3) # 插入成功 # 我繼續(xù)插入 r1.zset(u'www.liyi99,com',u'\u9001\u793c',5) #報(bào)錯(cuò): #UnicodeDecodeError: 'ascii' codec can't decode byte 0xe4 in position 0: ordinal not in range(128) #這次插入的是禮物的中文詞 unicode編碼 #為什么會(huì)失敗那,這條數(shù)據(jù)是我從redis里面取出來(lái)然后沒(méi)做任何修改再插入的阿 #redis返回和接受的數(shù)據(jù)類(lèi)型都是unicode編碼的阿 #好吧,我們?cè)俅尾迦朐囋? #再次插入 r1.zset('www.liyi99.com',u'\u9001\u793c',5) #成功了 #插入 r1.zset('www.liyi99.com','禮物',5) #依然成功,跟入redis.py 1024行 return self.send_command('ZADD %s %s %s\r\n%s\r\n' % ( key, score, len(member), member)) # 哦 萬(wàn)惡的編碼轉(zhuǎn)換! #不過(guò)取的時(shí)候,不論第一個(gè)是何種類(lèi)型的數(shù)據(jù)都無(wú)關(guān)系
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門(mén)與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
- Python讀寫(xiě)Redis數(shù)據(jù)庫(kù)操作示例
- Python與Redis的連接教程
- Python的Flask框架使用Redis做數(shù)據(jù)緩存的配置方法
- python操作redis的方法
- python連接MySQL、MongoDB、Redis、memcache等數(shù)據(jù)庫(kù)的方法
- Python操作Redis之設(shè)置key的過(guò)期時(shí)間實(shí)例代碼
- Python獲取Redis所有Key以及內(nèi)容的方法
- Python使用Redis實(shí)現(xiàn)作業(yè)調(diào)度系統(tǒng)(超簡(jiǎn)單)
- python操作redis方法總結(jié)
- python中redis的安裝和使用
- Python連接Redis的基本配置方法
- python實(shí)現(xiàn)與redis交互操作詳解
相關(guān)文章
Python3交互式shell ipython3安裝及使用詳解
這篇文章主要介紹了Python3交互式shell ipython3安裝及使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07Python參數(shù)傳遞機(jī)制傳值和傳引用原理詳解
這篇文章主要介紹了Python參數(shù)傳遞機(jī)制傳值和傳引用原理詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05Pandas之排序函數(shù)sort_values()的實(shí)現(xiàn)
這篇文章主要介紹了Pandas之排序函數(shù)sort_values()的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07TensorFlow平臺(tái)下Python實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)
這篇文章主要為大家詳細(xì)介紹了TensorFlow平臺(tái)下Python實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03Python機(jī)器學(xué)習(xí)NLP自然語(yǔ)言處理基本操作之Seq2seq的用法
Seq2Seq模型是輸出的長(zhǎng)度不確定時(shí)采用的模型,這種情況一般是在機(jī)器翻譯的任務(wù)中出現(xiàn),將一句中文翻譯成英文,那么這句英文的長(zhǎng)度有可能會(huì)比中文短,也有可能會(huì)比中文長(zhǎng),所以輸出的長(zhǎng)度就不確定了2021-10-10python中pivot()函數(shù)基礎(chǔ)知識(shí)點(diǎn)
在本篇內(nèi)容里小編給大家分享的是一篇關(guān)于python中pivot()函數(shù)基礎(chǔ)知識(shí)點(diǎn)內(nèi)容,對(duì)此有興趣的朋友們可以參考學(xué)習(xí)下。2021-01-01使用python實(shí)現(xiàn)多維數(shù)據(jù)降維操作
今天小編就為大家分享一篇使用python實(shí)現(xiàn)多維數(shù)據(jù)降維操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02Python實(shí)現(xiàn)的多線(xiàn)程http壓力測(cè)試代碼
這篇文章主要介紹了Python實(shí)現(xiàn)的多線(xiàn)程http壓力測(cè)試代碼,結(jié)合實(shí)例形式分析了Python多線(xiàn)程操作的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-02-02Python爬取365好書(shū)中小說(shuō)代碼實(shí)例
這篇文章主要介紹了Python爬取365好書(shū)中小說(shuō)代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02解決Python pandas plot輸出圖形中顯示中文亂碼問(wèn)題
今天小編就為大家分享一篇解決Python pandas plot輸出圖形中顯示中文亂碼問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12