国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

則將最后N分鐘的集合交集在一起即可

發(fā)布時(shí)間:2021-08-01 00:14 來(lái)源:網(wǎng)絡(luò )整理 閱讀:74 作者:chengxuyonghu 欄目: 云計算 歡迎投稿:712375056

  print "%s: %s" % (key, info[key])

#求并集 并將結果返回 

7. 應用場(chǎng)景 – 實(shí)時(shí)用戶(hù)統計




#zset 有序set 




>>> r.hgetall('users:jdoe')

for x in minutes])

r.expire('c3',10) #讓數據10秒后過(guò)期 說(shuō)實(shí)話(huà)我不太明白么意思 
r.sdiff('s1','s2','s3') 

>>> r.sadd('circle:soccer:InterMilan','user:Guo')


user_key = 'user-activity/%s' % user_id                

r.sinterstore('s3','s1','s2')


{'phone': '1555313940', 'name': 'John Doe', 'visits': '1', 'email': 'John@test.com'}

print 'existes:',r.exists('a')

print 'list ltrim :',r.ltrim('b',start=0,end=3) #只留 從0到3四位

>>> r.save()               #執行“檢查點(diǎn)”操作,將數據寫(xiě)回磁盤(pán)。保存時(shí)阻塞

每當有一個(gè)頁(yè)面點(diǎn)擊,則使用INCR增加點(diǎn)擊數即可。

# 求不同 

# 判斷set中一個(gè)對象是否存在 
print 'randomkey:',r.randomkey()

1L


>>> r.get('guo')



1L

# ------------------------------------------- 

34636

r.dbsize() #數據庫中多少個(gè)條數

import redis


wget https://pypi.python.org/packages/source/r/redis/redis-2.9.1.tar.gz

執行pipe = r.pipeline(transaction=False)可以禁用這一特性。

print 'decr:',r.decr('a')

《Redis Cookbook》對這個(gè)經(jīng)典場(chǎng)景進(jìn)行詳細描述。假定我們對一系列頁(yè)面需要記錄點(diǎn)擊次數。例如論壇的每個(gè)帖子都要記錄點(diǎn)擊次數,而點(diǎn)擊次數比回帖的次數的多得多。如果使用關(guān)系數據庫來(lái)存儲點(diǎn)擊,可能存在大量的行級鎖爭用。所以,點(diǎn)擊數的增加使用redis的INCR命令最好不過(guò)了。

ONLINE_LAST_MINUTES = 5

>>> r.smembers('circle:game:lol')


#如果你想設置一個(gè)遞減的整數 please: 

r.srandmember('s1')

在社交網(wǎng)站中,每一個(gè)圈子(circle)都有自己的用戶(hù)群。通過(guò)圈子可以找到有共同特征(比如某一體育活動(dòng)、游戲、電影等愛(ài)好者)的人。當一個(gè)用戶(hù)加入一個(gè)或幾個(gè)圈子后,系統可以向這個(gè)用戶(hù)推薦圈子中的人。

<SHELL># apt-get install python-pip

頁(yè)面載入的時(shí)候則可直接獲取這個(gè)值

2 . 簡(jiǎn)單的redis操作

>>> r.get ("visit:1237:totals")

# 哦對了 它是支持批量操作的 




# 集合(set)操作 


p.set(user_key, now)                                   #記錄用戶(hù)的標記時(shí)間

當有大量類(lèi)型文檔的對象,文檔的內容都不一樣時(shí),(即“表”沒(méi)有固定的列),可以使用hash來(lái)表達。

# 這可是個(gè)大工程

# 在s1中有,但在s2和s3中都沒(méi)有的數 


print 'list len:',r.llen('b') 

r = redis.Redis(host=’localhost’, port=6379, db=0)

# 移動(dòng)數據去2數據庫 
print '\ndbsize: %s' % r.dbsize()

return redis.sunion(['online-users/%d' % (current - x)        #取ONLINE_LAST_MINUTES分鐘對應集合的交集

# 查數據庫大小 
r.sismember('s','a')

>>> r.set("visit:1237:totals",34634)

['name', 'email', 'phone', 'visits']

>>> r.keys()

redis> smembers circle:jdoe:family    

print 'r['']:',r['c1'] 

我們定義這樣兩個(gè)圈子,并加入一些圈子成員。



set(['user:Guo', 'user:leo'])

# 它有四種類(lèi)型: string(key,value)、list(序列)、set(集合)、zset(有序集合,多了一個(gè)順序屬性) 
# 塞數據 

可以使用集合運算來(lái)得到幾個(gè)圈子的共同成員:

>>> p.sadd('faz','baz')

>>> r.sadd('circle:soccer:InterMilan','user:Levis')


3. pipeline操作

# 它是兩頭通的 
r.sunion('s1','s2') 

......



#或者 
#添加, 數量, 自加1,取數據,按照積分(范圍)取數據,刪除,取積分

# 排序 

#-------------------------------- 


# 看一個(gè)set對象 

Running setup.py (path:/tmp/pip_build_root/redis/setup.py) egg_info for package redis

Successfully installed redis

r.push('b','gg') 

>>> r.incr("visit:1237:totals")

expires = now + (app.config['ONLINE_LAST_MINUTES'] * 60) + 10    #過(guò)期的UNIX時(shí)間戳

#'zadd', 'zcard', 'zincr', 'zrange', 'zrangebyscore', 'zrem', 'zscore' 

[True, 1, 1]

p.sadd(all_users_key, user_id)                         #將用戶(hù)id插入到包含分鐘信息的集合中

r.delete(‘test’) #刪除這個(gè)key

1

1


# 刪數據 1是刪除成功 0和None是沒(méi)這個(gè)東西 

4. 應用場(chǎng)景 – 頁(yè)面點(diǎn)擊數

#求交集并將結果賦值 

>>> p.execute()


now = int(time.time())        #當前的UNIX時(shí)間戳

>>> r['guo']            

r.smembers('s3')

easy_install redis

print 'delete:',r.delete('c1','c2')

print 'getset:',r.getset('c2','jj') 



# 塞入 


>>> r.hset('users:jdoe', 'email', 'John@test.com')

# head 屬性控制是不是從另一頭塞 



r['test'] = ‘test’ #或者可以r.set(‘test’, ‘test’) 設置key

#如果你想設置一個(gè)遞增的整數 每執行一次它自加1: 

r.exists(‘test’) #檢測這個(gè)key是否存在


<SHELL># pip install --proxy=http://172.1.2.6:8080 redis

# 求交集 

'34636'

也可以使用easy_install的方式來(lái)安裝:

>>> r.hset('users:jdoe',  'name', "John Doe")

p.expireat(user_key, expires)

if last_active is None:

# 其他 
# 列出一批出來(lái) 

return datetime.utcfromtimestamp(int(last_active))

1

r.ttl('c3') #看剩余過(guò)期時(shí)間 不存在返回-1

r.sunionstore('ss','s1','s2','s3')



Cleaning up...


#r.lastsave('a') # 取最后一次save時(shí)間 

1

print "ping %s" % r.ping()

r.push('b','hh') 
#或者 同時(shí)取一批 

>>> r.sunion('circle:game:lol', 'circle:soccer:InterMilan')

>>> r.set('guo','shuai')

>>> r.hincrby('users:jdoe', 'visits', 1)

5. 使用hash類(lèi)型保存多樣化對象

6. 應用場(chǎng)景 – 社交圈子數據




r.sadd('s2','a') 

from redis import Redis

r.sdiffstore('s4','s1','s2')# 這個(gè)你懂的

1L



# 求并集 

>>> p.set('hello','redis')

print '-'*20 

# 修剪列表 

# 取個(gè)隨機數 
r.rename('a','c3') #呃.改名 

current = int(time.time()) // 60        

>>> r.flushdb()        #清空r中的所有數據

>>> r.get('hello')


>>> r.sinter('circle:game:lol', 'circle:soccer:InterMilan')

['guo']

#-------------------------------- 

1L

minutes = xrange(app.config['ONLINE_LAST_MINUTES'])

或者直接編譯安裝:

>>> r.hkeys('users:jdoe')

r.sadd('s', 'a')

#獲得某一圈子的成員

'redis'

'shuai'

默認的情況下,管道里執行的命令可以保證執行的原子性,

set(['user:Guo', 'user:debugo', 'user:leo'])

>>> p.set('hello','redis').p.sadd('faz','baz').incr('num').execute()

# 看連接 
print 'mget:',r.mget('c1','c2') 
print 'incr:',r.incr('a') 


# 取出一位 

>>> r = redis.Redis(host='localhost',port=6379,db=0)



p = redis.pipeline()

print 'keys:',r.keys('c*') 

1

>>> r.sadd('circle:game:lol','user:debugo')

cd redis-2.9.1

34635

>>> r.sadd('circle:game:lol','user:leo')

True

True

def mark_online(user_id):         #將一個(gè)用戶(hù)標記為online

redis = Redis()

# 塞數據 
print 'get:',r.get('a') 

# 看長(cháng)度 


1L

set(['user:Levis', 'user:Guo', 'user:debugo', 'user:leo'])

>>> r.sadd('circle:soccer:InterMilan','user:leo')

>>> r.incr("visit:1237:totals")

r.set('c2','bar') 
# string操作 

1

1

>>> r.get('guo');


# 分別對應 


管道(pipeline)是redis在提供單個(gè)請求中緩沖多條服務(wù)器命令的基類(lèi)的子類(lèi)。它通過(guò)減少服務(wù)器-客戶(hù)端之間反復的TCP數據庫包,從而大大提高了執行批量命令的功能。

#r.save('a') # 存數據 

return None

#又或者 你只想隨機取一個(gè): 

p.expireat(all_users_key, expires)                     #設定集合的過(guò)期時(shí)間為UNIX的時(shí)間戳

#------------------------------------- 

>>> p = r.pipeline()        --創(chuàng )建一個(gè)管道

r.scard('s')

tar xvzf redis-2.9.1.tar.gz

print 'list lrange:',r.lrange('b',start=0,end=-1)

'shuai'

>>> r.hset('users:jdoe',  'phone', '1555313940')

info = r.info() 

redis連接實(shí)例是線(xiàn)程安全的,可以直接將redis連接實(shí)例設置為一個(gè)全局變量,直接使用。如果需要另一個(gè)Redis實(shí)例(or Redis數據庫)時(shí),就需要重新創(chuàng )建redis連接實(shí)例來(lái)獲取一個(gè)新的連接。同理,python的redis沒(méi)有實(shí)現select命令。



#-------------------------------------------- 
print 'list index 0:',r.lindex('b',0)

last_active = redis.get('user-activity/%s' % user_id)  #如果獲取不到,則返回None

#r.shutdown() #關(guān)閉所有客戶(hù)端,停掉所有服務(wù),退出服務(wù)器 


免責聲明:本站發(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í)歡迎投稿傳遞力量。

欧美精品亚洲精品日韩专区| 国产偷亚洲偷欧美偷精品| 国产成人麻豆亚洲综合无码精品| 精品久久久BBBB人妻| AV天堂亚洲区无码先锋影音| 国产午夜人做人免费视频|