美文网首页
redis中使用lua脚本的好处

redis中使用lua脚本的好处

作者: 马路边的小破孩 | 来源:发表于2020-04-28 17:43 被阅读0次

什么是lua?

Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。

redis使用lua的好处

1.原子性。redis执行lua脚本的时候,会将它作为一个整体执行,要么全部执行成功,如果出现异常则执行结果不会更新到redis中,可以代替redis中的事务操作。

2.节省网络开销。通过脚本的方式执行多个命令,一次传输返回结果。redis的pipeline也同样有这样的优点,相比lua脚本中执行的多个命令,pipe中某个命令执行出现异常不会影响其他的命令的更新到redis中;但lua脚本使用更加灵活。

3.脚本的复用。如果每次请求都要传输脚本,存在一定的网络开销,通过 SCRIPT LOAD 命令进行Redis 将脚本缓存到服务器的操作,并且返回脚本内容的SHA1校验和,Evalsha 命令根据给定的 sha1 校验码,执行缓存在服务器中的脚本。

语法

redis eval命令语法 实例

java中redis操作lua的实例

下面通过一个springboot通过redisTemaplate实例,使用lua脚本,redis执行lua脚本获取执行结果。

java代码

lua脚本再resources资源目录下,lua脚本如下:

lua脚本

通过脚本执行多个get命令,执行完毕后一次性将执行结果返回。但是耗时性,由于redis原子性的要求,导致同一时间只能执行一个命令,因此,单个lua不建议太大,导致系统被占用,从而引起其他服务无法正常进行。如果需要redis立即返回执行结果而lua脚本过大,则不太建议使用。

相关文章

  • Redis中调用Lua脚本阻塞

    在高并发系统中,redis的使用会比较频繁,lua脚本让redis的使用更加灵活。redis中使用lua脚本的好处...

  • 《redis学习》之lua

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

  • Redis学习笔记-Lua脚本

    前言 Redis在2.6版推出了脚本功能,允许开发者使用Lua语言编写脚本传到Redis中执行。 在Lua脚本中可...

  • Redis 脚本

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

  • springboot中redis的使用(三)

    接上一次springboot中redis的使用(二) Redis脚本的使用步骤 写Lua脚本, 放在Resourc...

  • Redis学习之路(8)命令 -Redis 脚本

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

  • redis 脚本介绍

    redis脚本简介   脚本使用 Lua 解释器来执行脚本。 Redis 从2.6版本开始,通过内嵌支持 Lua ...

  • Redis 之 lua

    1.为什么要使用lua脚本,使用lua脚本操作redis有哪些好处 1.我现在模拟一个场景获取一个用户的购物车里面...

  • Redis之Lua学习

    前言 Redis提供了对Lua脚本的支持。总的来说Lua脚本功能为Redis开发和运维人员带来了如下3个好处:1....

  • Redis 脚本,连接,服务器

    Redis 脚本 Redis 脚本使用 Lua 解释器来执行脚本。 Reids 2.6 版 语法 Eval 命令的...

网友评论

      本文标题:redis中使用lua脚本的好处

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