日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

python redis连接池获取后关闭_python通过连接池连接redis,操作redis队列

發(fā)布時間:2023/11/27 生活经验 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python redis连接池获取后关闭_python通过连接池连接redis,操作redis队列 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在每次使用redis都進(jìn)行連接的話會拉低redis的效率,都知道redis是基于內(nèi)存的數(shù)據(jù)庫,效率賊高,所以每次進(jìn)行連接比真正使用消耗的資源和時間還多。所以為了節(jié)省資源,減少多次連接損耗,連接池的作用相當(dāng)于緩存了多個客戶端與redis服務(wù)端的連接,當(dāng)有新的客戶端來進(jìn)行連接時,此時,只需要去連接池獲取一個連接即可,實(shí)際上連接池就是把一個連接共享給多個客戶端,可以說是廣播,要用的話就去接收。

#-*-coding:utf-8-*-

import redis

# 連接池連接使用,節(jié)省了每次連接用的時間

conn_pool = redis.ConnectionPool(host='localhost',port=6379)

# 第一個客戶端訪問

re_pool = redis.Redis(connection_pool=conn_pool)

# 第二個客戶端訪問

re_pool2 = redis.Redis(connection_pool=conn_pool)

# key value存儲到redis數(shù)據(jù)庫

try:

re_pool.set('chinese1', 'hello_world')

re_pool2.set('chinese2', 'hello_python')

except Exception as e:

print(e)

# 根據(jù)key獲取存的數(shù)據(jù)的內(nèi)容

data_info = re_pool.get('chinese1')

data_info2 = re_pool.get('chinese2')

# 輸出從redis庫中取出來的數(shù)據(jù)的內(nèi)容

print(data_info)

print(data_info2)

# 獲取兩個連接的信息

id1 = re_pool.client_list()

id2 = re_pool2.client_list()

# 輸出兩個連接的id,判斷是否一致

print('re_pool_id{}======re_pool2_id{}'.format(id1[0]['id'], id2[0]['id']))

redis隊(duì)列操作redis-MQ

redis的隊(duì)列效率高,而且簡單易用。

1.lpush

從左往右插入隊(duì)列

2.lrange

查看插入的數(shù)據(jù)

import redis

import json

# redis連接

re_queue = redis.Redis(host='localhost', port=6379 )

# 順序插入五條數(shù)據(jù)到redis隊(duì)列,sort參數(shù)是用來驗(yàn)證彈出的順序

num = 0

for i in range(0, 5):

num = num + 1

# params info

params_dict = {"channel":"facebook", "operate":"publish", "sort":num}

# 從左往右入隊(duì)到redis

re_queue.lpush("params_info", json.dumps(params_dict))

# 查看目標(biāo)隊(duì)列數(shù)據(jù)

result = re_queue.lrange("params_info", 0, 10)

print(result)

# 結(jié)果輸出

# [b'{"channel": "facebook", "operate": "publish", "sort": 5}', b'{"channel": "facebook", "operate": "publish", "sort": 4}', b'{"channel": "facebook", "operate": "publish", "sort": 3}',

b'{"channel": "facebook", "operate": "publish", "sort": 2}', b'{"channel": "facebook", "operate": "publish", "sort": 1}']

3.rpop

從左往右,第一個進(jìn)的肯定是在最右邊,要處理第一個,就要從右往左彈出

4.rpush,lpop

rpush從右往左入隊(duì),第一個在最左邊,lpop從左邊彈出

5.llen

返回列表的長度

總結(jié)

以上是生活随笔為你收集整理的python redis连接池获取后关闭_python通过连接池连接redis,操作redis队列的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。