探寻Redis请求耗时的秘密(一次Redis请求耗时)

Redis作为分布式缓存系统,由于其速度非常快,因此受到了众多开发者的青睐,但是大家常常想知道Redis的请求到底要耗时多久。下面我们就来探寻Redis请求耗时的秘密。

我们让我们从Redis客户端发起一次“SET”命令,比如:SET hello world,redis服务器就会返回一个“OK”表示操作成功,这里假设这个操作整体耗时1ms:

接下来我们要把这个1ms分配到各个模块操作的耗时上,那么这个1ms里面,有多长的时间会耗费在编码和发送协议数据、从网络中接收到服务器的数据、服务器接收到处理、和客户端解码重组数据上呢?

我们可以使用redis-cli—latency命令来获取具体延迟时间,代码如下:

:redis-cli –latency

就会返回如下信息:

min: 0.46、avg: 0.67、max: 2.66、stddev: 0.32

这里min表示最短的延迟时间,avg表示平均延迟时间,max表示最长的延迟时间,stddev表示标准差。

从这里我们可以看出,最快的获取返回数据只需要0.46ms,说明网络传输和服务器处理等部分的耗时很短,而这一部分的耗时将占据请求耗时的大多数,即60-90%;而客户端编码发出数据、服务端响应数据解码重组等操作耗费的时间只有0.17-0.46ms。

从上面的信息中我们可以得出结论,Redis的请求耗时的秘密在于:请求时客户端编码发出数据、服务端响应数据解码重组等操作耗费的时间很少,网络传输和服务器处理等部分的耗时将占据请求耗时的大多数,即大部分的Redis请求不会有较长的处理时间。


数据运维技术 » 探寻Redis请求耗时的秘密(一次Redis请求耗时)