国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python安裝與使用redis的方法

2019-11-25 16:50:15
字體:
來源:轉載
供稿:網友

本文實例講述了python安裝與使用redis的方法。分享給大家供大家參考,具體如下:

1、安裝

好吧,我承認我只會最簡單的安裝:

sudo apt-get install redis-server

python 支持包: (其實就一個文件,搞過來就能用)

sudo apt-get install python-redis

2、配置

配置一下吧,默認配置文件在: "/etc/redis/redis.conf"
綁定ip:

"bind 127.0.0.1″ -> "bind 10.0.1.7″

將磁盤同步改為 不同步或每秒同步,一直同步的話太慢了:

"appendfsync always" -> "appendfsync no"

檢查一下后臺執行是否打開:

"daemonize yes"

或者其他你想設置的,例如:

連接超時時間 : "timeout 300″

運行級別: "loglevel notice" (個人認為默認的這個就挺好,非出現大異常,不用改為debug )

3、使用

#! /usr/bin/env python#coding=utf-8import redisprint redis.__file__# 連接,可選不同數據庫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])# 查數據庫大小print '/ndbsize: %s' % r.dbsize()# 看連接print "ping %s" % r.ping()# 選數據庫#r.select(2)# 移動數據去2數據庫#r.move('a',2)# 其他#r.save('a') # 存數據#r.lastsave('a') # 取最后一次save時間#r.flush() #刷新#r.shutdown() #關閉所有客戶端,停掉所有服務,退出服務器##--------------------------------------------# 它有四種類型: string(key,value)、list(序列)、set(集合)、zset(有序集合,多了一個順序屬性)# 不知道你用的哪種類型?# print r.get_type('a') #可以告訴你# -------------------------------------------# string操作print '-'*20# 塞數據r['c1'] = 'bar'#或者r.set('c2','bar')#這里有個 getset屬性,如果為True 可以在存新數據時將上次存儲內容同時搞出來print 'getset:',r.getset('c2','jj')#如果你想設置一個遞增的整數 每執行一次它自加1:print 'incr:',r.incr('a')#如果你想設置一個遞減的整數 please:print 'decr:',r.decr('a')# 取數據print 'r['']:',r['c1']#或者print 'get:',r.get('a')#或者 同時取一批print 'mget:',r.mget('c1','c2')#或者 同時取一批 它們的名字(key)很像 而恰好你又不想輸全部print 'keys:',r.keys('c*')#又或者 你只想隨機取一個:print 'randomkey:',r.randomkey()# 查看一個數據有沒有 有 1 無0print 'existes:',r.exists('a')# 刪數據 1是刪除成功 0和None是沒這個東西print 'delete:',r.delete('cc')# 哦對了 它是支持批量操作的print 'delete:',r.delete('c1','c2')# 其他r.rename('a','c3') #呃.改名r.expire('c3',10) #讓數據10秒后過期 說實話我不太明白么意思r.ttl('c3') #看剩余過期時間 不存在返回-1#--------------------------------# 序列(list)操作print '-'*20# 它是兩頭通的# 塞入r.push('b','gg')r.push('b','hh')# head 屬性控制是不是從另一頭塞r.push('b','ee',head=True)# 看長度print 'list len:',r.llen('b')# 列出一批出來print 'list lrange:',r.lrange('b',start=0,end=-1)# 取出一位print 'list index 0:',r.lindex('b',0)# 修剪列表#若start 大于end,則將這個list清空print 'list ltrim :',r.ltrim('b',start=0,end=3) #只留 從0到3四位# 排序# 這可是個大工程#--------------------------------# 集合(set)操作# 塞數據r.sadd('s', 'a')# 判斷一個set長度為多少 不存在為0r.scard('s')# 判斷set中一個對象是否存在r.sismember('s','a')# 求交集r.sadd('s2','a')r.sinter('s1','s2')#求交集并將結果賦值r.sinterstore('s3','s1','s2')# 看一個set對象r.smembers('s3')# 求并集r.sunion('s1','s2')# 阿 我想聰明的你已經猜到了#求并集 并將結果返回r.sunionstore('ss','s1','s2','s3')# 求不同# 在s1中有,但在s2和s3中都沒有的數r.sdiff('s1','s2','s3')r.sdiffstore('s4','s1','s2')# 這個你懂的# 取個隨機數r.srandmember('s1')#-------------------------------------#zset 有序set#'zadd', 'zcard', 'zincr', 'zrange', 'zrangebyscore', 'zrem', 'zscore'# 分別對應#添加, 數量, 自加1,取數據,按照積分(范圍)取數據,刪除,取積分# 我靠 你玩死我了 redis!# 今天在實驗中,我嘗試插入一條zset類型數據:r1.zset(u'www.liyi99.com','liwu',3)# 插入成功# 我繼續插入r1.zset(u'www.liyi99,com',u'/u9001/u793c',5)#報錯:#UnicodeDecodeError: 'ascii' codec can't decode byte 0xe4 in position 0: ordinal not in range(128)#這次插入的是禮物的中文詞 unicode編碼#為什么會失敗那,這條數據是我從redis里面取出來然后沒做任何修改再插入的阿#redis返回和接受的數據類型都是unicode編碼的阿#好吧,我們再次插入試試#再次插入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))# 哦 萬惡的編碼轉換!#不過取的時候,不論第一個是何種類型的數據都無關系

更多關于Python相關內容感興趣的讀者可查看本站專題:《Python函數使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對大家Python程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 竹山县| 万载县| 洪江市| 彰武县| 吴旗县| 鲁甸县| 泽普县| 元氏县| 乃东县| 平塘县| 承德县| 泰安市| 九龙县| 平山县| 铜鼓县| 柳江县| 阿勒泰市| 娱乐| 高清| 望谟县| 丹寨县| 泽库县| 札达县| 翁源县| 砀山县| 武威市| 应城市| 耿马| 霞浦县| 富川| 乐安县| 孝感市| 巴南区| 屏东县| 顺义区| 收藏| 扶余县| 凤庆县| 阳城县| 临洮县| 桂东县|