标签:客户端 执行 scripting https 上下 了解 section 原因 服务端
Redis是一种基于客户端-服务端模型以及请求/响应协议的TCP服务。客户端请求会遵循以下步骤:客户端向服务端发送一个查询请求,并监听Socket返回,通常是以阻塞模式,等待服务端响应并将结果返回给客户端。(补:阻塞?上一条请求结果没回来,就无法进行下一条请求。)
客户端和服务器通过网络传输数据,一次请求响应时间单位时间称为RTT(往返时间)。如果客户端连续发出多个请求,是有性能影响的,即使服务处理得再快,RTT传输也大大影响响应的快慢(补:类比网购,发货很快,快递运输很慢)。因此需要管道技术(pipeline)。
管道技术使得客户端即使没有读取旧的响应,也可以将多个请求发送到服务器,而无需等待回复,最后只需一步一步地读取应答。
import redis r = redis.StrictRedis(host=‘localhost‘,port=6379,db=0) # r.set(‘foo‘,‘bar‘) # print(r.get(‘foo‘)) pipeline = r.pipeline(transaction=False) pipeline.incr(‘a‘) pipeline.incr(‘b‘) pipeline.incr(‘c‘) pipeline.incr(‘d‘) pipeline.execute() print(r.get(‘a‘),‘ ‘,r.get(‘b‘),r.get(‘c‘),‘ ‘,r.get(‘d‘))
结果
Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)] on win32 runfile(‘E:/舒碧/项目/Redis_pipeline/redis_pipline.py‘, wdir=‘E:/舒碧/项目/Redis_pipeline‘) b‘6‘ b‘6‘ b‘6‘ b‘6‘
由于电脑环境原因、目前只能进行简单测试。
开发管道技术原因:
官网的Pipelining VS Scripting???待学习~
参考链接:https://redis.io/topics/pipelining
标签:客户端 执行 scripting https 上下 了解 section 原因 服务端
原文地址:https://www.cnblogs.com/bibi-feiniaoyuan/p/9381484.html