美文网首页
(15)redis Pipeline详解

(15)redis Pipeline详解

作者: hedgehog1112 | 来源:发表于2020-11-05 09:16 被阅读0次

一、pipeline出现背景:

redis客户端执行命令4个过程:发送命令-〉命令排队-〉命令执行-〉返回结果

过程称为Round trip time(简称RTT, 往返时间),mget mset有效节约RTT,但大部分命令(如hgetall,并没有mhgetall)不支持批量操作,需要消耗N次RTT ,pipeline解决

二、pepeline性能

比逐条执行要快,特别是客户端与服务端的网络延迟越大,体能越明显

三、原生批命令(mset, mget)与Pipeline对比

原生批命令:原子性,            pipeline:非原子性

原生批命令:一命令多个key   pipeline:支持多命令(存在事务)

原生批命令:服务端实现,     pipeline:服务端与客户端共同完成

四、Pipeline正确使用方式

pipeline组装命令不能太多,不然数据量过大,增加客户端的等待时间,造成网络阻塞,可将大量命令的拆分多个小pipeline命令:

1、Jedis中的pipeline使用方式

redis提供msetmget方法,但没提供mdel方法,如想实现,可借助pipeline

mset:同时设置一个或多个 key-value 对。redis 127.0.0.1:6379> MSET key1 value1 key2 value2 .. keyN valueN

2、Jedis中的pipeline使用步骤:

1)获取jedis对象(一般从连接池中获取)

2)获取jedis对象的pipeline对象

3)添加、执行指令

用pipeline提交所有操作并返回执行结果:

五、redis事务

为了保证pipeline原子性,redis提供了简单的事务。

1、redis的简单事务:放multi和exec命令之间,multi代表事务开始,exec代表事务结束

2、停止事务discard:

3、命令错误,语法不正确,导致事务不能正常结束

4、运行错误,语法正确,但类型错误,事务可以正常结束

5、watch命令:用watch后, multi失效,事务失效

WATCH机制:事务EXEC执行时,Redis检查被WATCH的key,只有被WATCH的key从WATCH起始时至今没有发生过变更,EXEC才会被执行,变化则失败。

小结:redis提供简单事务,不支持事务回滚

相关文章

  • (15)redis Pipeline详解

    一、pipeline出现背景: redis客户端执行命令4个过程:发送命令-〉命令排队-〉命令执行-〉返回结果 过...

  • redis pipeline简介

    java中redis的pipeline pipeline方式执行redis操作: doInRedis方法中实现需要...

  • redis 学习(11)-- redis pipeline

    redis pipeline 什么是流水线(pipeline) 首先来看 redis 执行一次操作所需要的时间: ...

  • Redis详解1.安装及使用

    章节目录Redis详解1.安装及使用Redis详解2.数据结构Redis详解3.发布订阅Redis详解4.事务Re...

  • Redis详解5.数据持久化

    章节目录Redis详解1.安装及使用Redis详解2.数据结构Redis详解3.发布订阅Redis详解4.事务Re...

  • Redis详解4.事务

    章节目录Redis详解1.安装及使用Redis详解2.数据结构Redis详解3.发布订阅Redis详解4.事务Re...

  • Redis详解8.Cluster模式

    章节目录Redis详解1.安装及使用Redis详解2.数据结构Redis详解3.发布订阅Redis详解4.事务Re...

  • Redis详解6.主从模式

    章节目录Redis详解1.安装及使用Redis详解2.数据结构Redis详解3.发布订阅Redis详解4.事务Re...

  • Redis详解7.哨兵模式

    章节目录Redis详解1.安装及使用Redis详解2.数据结构Redis详解3.发布订阅Redis详解4.事务Re...

  • Redis详解2.数据结构

    章节目录Redis详解1.安装及使用Redis详解2.数据结构Redis详解3.发布订阅Redis详解4.事务Re...

网友评论

      本文标题:(15)redis Pipeline详解

      本文链接:https://www.haomeiwen.com/subject/foogvktx.html