redis实际使用场景 为啥Redis/Mongo这么快,就不能直接替代mysql吗?
浏览量:1438
时间:2023-06-14 14:13:48
作者:采采
为啥Redis/Mongo这么快,就不能直接替代mysql吗?
Mysql、r
redis写入数据,越来越慢,是什么原因?
Redis写的慢,可能是节点数据不足,网络慢,或者主机原因。
大量导入数据时,可以使用RESP协议。
传统命令的缺点
传统的redis客户端命令在导入大量数据的场景下存在以下缺陷:
因为redis是单线程的模型,虽然避免了多线程下线程切换的时间,快速执行单个序列的命令,但是在海量数据导入的场景下,发送命令和接收服务器响应结果的时间会被放大。
如果需要导入100万条数据,光是命令执行时间就要花费100万*(t1 t2)。
RESP议定书散装
Redis客户端使用称为RESP (Redis序列化协议)的协议与Redis服务器通信。
Redis-cli管道模式需要和nc命令一样快,它解决了nc命令不能 我不知道命令什么时候结束。
在发送数据时,它还会读取响应并尝试解析它。
一旦输入流中不再有数据被读取,它将发送一个特殊的20位echo命令,表明最后一个命令已经发送。如果响应结果中匹配到相同的数据,则批量传输成功。
使用这种技术,我们不 不需要解析发送给服务器的协议来知道我们发送了多少命令,只需解析回复。
redis在解析回复时,会对解析的回复进行统计,最终可以告诉用户大量插入的会话向服务器传输的命令数量。也就是我们使用上面的管道模式实际操作的响应结果。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。