各用途でのRedisが接続され、その後のRedisの効率を低下させるであろう、Redisの高メモリデータベース、効率泥棒、リソースと時間消費の実際の使用よりも接続以上のようにすべての時間に基づいている知っています。この時点では、単に接続プールを取りに行く際に、接続する新しいクライアントがあるときに、リソースを節約する複数の接続損失の役割を減少させるために、接続プールは、キャッシュとしてRedisのサーバーに接続された複数のクライアントを提供しています接続は、実際には、接続プールは、複数のクライアントへの接続を共有することで、その後、レセプションに行ってきました、使用して、放送されると言うことができることができます。
#-*-coding:utf-8-*-
import redis
# 连接池连接使用,节省了每次连接用的时间
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数据库
try:
re_pool.set('chinese1', 'hello_world')
re_pool2.set('chinese2', 'hello_python')
except Exception as e:
print(e)
# 根据key获取存的数据的内容
data_info = re_pool.get('chinese1')
data_info2 = re_pool.get('chinese2')
# 输出从redis库中取出来的数据的内容
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のRedisの-MQキュー操作
Redisのは、高効率をキューに入れ、そして使いやすいです。
1.lpush
左から右、インサートキューへ
2.lrange
挿入されたデータを見る
のインポートRedisの
インポートJSONを
# redis连接
re_queue = redis.Redis(host='localhost', port=6379 )
# 顺序插入五条数据到redis队列,sort参数是用来验证弹出的顺序
num = 0
for i in range(0, 5):
num = num + 1
# params info
params_dict = {"channel":"facebook", "operate":"publish", "sort":num}
# 从左往右入队到redis
re_queue.lpush("params_info", json.dumps(params_dict))
# 查看目标队列数据
result = re_queue.lrange("params_info", 0, 10)
print(result)
# 结果输出
# [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
左から右へ、右から左に、最初のものに対処するための最も確かに、右への最初のものは、ポップアップ表示されます
4.rpush、LPOP
チームに右から左へrpush、左から左端、LPOPポップの最初の1
5.llen
リストの長さを返します。