美文网首页
lua与redis pipeline

lua与redis pipeline

作者: github_lincy | 来源:发表于2019-01-08 20:44 被阅读0次

lua

Redis在2.6版引入了对Lua的支持

  • 使用Lua可以非常明显的提升Redis的效率。
  • 只要脚本所对应的函数曾经在 Lua 里面定义过, 那么即使用户不知道脚本的内容本身, 也可以直接通过脚本的 SHA1 校验和来调用脚本所对应的函数, 从而达到执行脚本的目的 —— 这就是 EVALSHA 命令的实现原理
  • 当 Lua 脚本里本身有调用 Redis 命令时(执行 redis.call 或者 redis.pcall ), Redis 和 Lua 脚本之间的数据交互会更复杂一些。

redis pipeline

pipeline引入,降低了多次命令-应答之间的网络交换次数,并不能缩小redis对每个命令的处理时间

什么时候使用pipeline,什么时候使用lua

  • 当多个redis命令之间没有依赖、顺序关系(例如第二条命令依赖第一条命令的结果)时,建议使用pipline;
  • 如果命令之间有依赖或顺序关系时,pipline就无法使用,此时可以考虑才用lua脚本的方式来使用。

redis执行lua脚本好处

  • 减少网络开销,本来多次网络请求的操作,可以用一个请求完成,原来多次请求的逻辑均放在redis服务器上完成。使用lua,减少了网络往返时延;
  • 原子操作:redis会将整个脚本作为一个整体执行,不会被其他命令插入。
  • 复用:客户端发送的脚本会永久存储在redis中,意味着其他客户端可以复用这一脚本而无需使用代码完成同样逻辑。

相关文章

  • lua与redis pipeline

    lua Redis在2.6版引入了对Lua的支持 使用Lua可以非常明显的提升Redis的效率。 只要脚本所对应的...

  • redis调用lua说明文档

    redis调用lua脚本 在实际开发中,可以通过pipeline将多个命令批量传输给redis执行,减少网络开销;...

  • Redis使用注意事项

    Redis使用注意事项 Redis作为单线程应用,如何保证高可用?基本上,通过lua和Pipeline机制保证re...

  • 分布式锁之redis-lua脚本

    目录 redis分布式锁,Lua,Lua脚本,lua redis,redis lua 分布式锁,redis set...

  • redis pipeline简介

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

  • Redis第四天

    Redis+Lua语言限流实战 Redis+LUA语言限流流程图 Redis+Lua语言抢红包实战

  • redis 学习(11)-- redis pipeline

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

  • Redis(九):Pipeline(管道)VS Lua(脚本)

    1、 背景 Redis是建立在TCP协议基础上的CS架构,客户端client对redis server采取请求响应...

  • 《redis学习》之lua

    Redis+Lua的好处 redis在2.6开始加入了lua脚本,使用lua脚本有如下好处: 减少网络开销。复合操...

  • Redis 脚本

    Redis 脚本 Redis 脚本使用 Lua 解释器来执行脚本。 Reids 2.6 版本通过内嵌支持 Lua ...

网友评论

      本文标题:lua与redis pipeline

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