中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

【Python】Python使用redis

發布時間:2020-08-11 14:42:07 來源:ITPUB博客 閱讀:161 作者:小亮520cl 欄目:關系型數據庫

轉自:http://www.diybl.com/course/3_program/python/20110510/555370.html

#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-8 
import redis 
print redis.__file__ 
# 連接,可選不同數據庫 
r = redis.Redis(host='10.0.1.7', port=6379, db=0)

# ------------------------------------------- 
# 看信息 
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 無0 
print '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長度為多少 不存在為0 
r.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)) 
# 哦 萬惡的編碼轉換! 
#不過取的時候,不論第一個是何種類型的數據都無關系

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

安徽省| 澄城县| 芒康县| 文安县| 志丹县| 望城县| 宝坻区| 边坝县| 镇赉县| 城市| 广德县| 西林县| 三河市| 平潭县| 白河县| 道真| 南陵县| 郎溪县| 三明市| 曲阜市| 洪雅县| 仁化县| 梓潼县| 资兴市| 莲花县| 翁牛特旗| 高碑店市| 突泉县| 宣威市| 许昌县| 寻乌县| 靖边县| 凌云县| 双江| 都昌县| 新民市| 静宁县| 淮安市| 南宁市| 工布江达县| 江门市|