redis执行lua脚本

来源:互联网 发布:c语言实战项目开发 编辑:程序博客网 时间:2024/05/21 10:42

lua脚本的高效率以及灵活性,可以在redis上,nginx上进行执行,lua的just in time特性在大流量的环境下有很大的用武之地。现在操作一下在redis上执行lua脚本文件的过程。


首先要知道eval语法的使用:

EVAL script numkeys key [key ...] arg [arg ...]

   <1> script:     你的lua脚本

   <2> numkeys:  key的个数

   <3> key:         redis中各种数据结构的替代符号

   <4> arg:         你的自定义参数

通常情况下我们都是把lua script放到一个lua文件中,然后执行这个lua脚本。



这个文件中的内容:


读取这个list中的所有内容。

先在执行lpush person zhangsan lpush perosn lisi lpush person wangwu

现在可以执行lua脚本了,开始表演...




./redis-cli -p 6380这是进入redis的6380端口中。

--eval是要执行lua脚本的标识符。

./1.lua就是在当前路径下找脚本1.lua

person是传入的第一个参数

回车执行结果:




这就是在redis上执行lua脚本,redis执行lua脚本的好处:

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


原创粉丝点击