• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

redis lua 使用 及lua安装

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

1、安装lua类库环境

              1.1、yum install -y readline
                     
              1.2、yum install -y readline-devel

        2、下载lua最新的版本安装

                2.1、去官网下载lua,可以直接通过wget下载,地址如下:http://www.lua.org/download.html

   2.2、通过ssh SSH Secure File Transfer Client工具,把软件包上传到Linux服务器上。目录是:/root/software/download/lua/

           [[email protected]~]# cd ./software/download/lua/

           [[email protected] lua]# tar zxvf lua-5.3.4.tar.gz

     2.3、进入到已经解压的目录lua-5.3.4,准备安装文件。

            [[email protected] lua]# ls

            [[email protected] lua]# lua-5.3.4 lua-5.3.4.tar.gz

            [[email protected] lua]# cd lua-5.3.4

            [[email protected] lua-5.3.4]#


             2.4、准备安装环境,使用make linux命令,当前也是需要gcc命令的支持,事先必须安装,安装gcc命令:yum install gcc。

            [[email protected] lua-5.3.4]# make linux

2.5、开始安装lua软件包,使用make install命令

            [[email protected] lua-5.3.4]# make install

 

           2. 6、最后进行测试,进到Linux的命令行,然后输入lua命令,开始测试。

 

          [[email protected] lua-5.3.4]# lua

          >print('lua')
          lua

          >print("lua")
          lua

                    


            2.7、按Ctrl+C退出lua命令模式。

           >^C
          [[email protected] lua-5.3.4]# 


           2.8、lua脚本文件名必须以.lua后缀名,如果在Linux命令行执行lua脚本,直接lua 脚本名称。

 

         [[email protected] lua-5.3.4]# cd /root/application/program/   //执行文件都在这个目录里面

         [[email protected] program]# mkdir luascript  //创建luaScript脚本目录,存放lua脚本文件

         [[email protected] program]# cd luascript  

         [[email protected] luascript]# lua 01.lua    //执行01.lua脚本文件
           2.9、redis与lua脚本结合使用,如果在lua脚本里使用了 redis.call命令来操作Redis,执行lua脚步如下面:

 

          //redis-cli和lua脚本的路径可以是相对路径,也可以是绝对路径
          //以下代码就是通过绝对地址来执行

          //绝对地址:
          [[email protected] ~]# /root/application/program/redis-tool/redis-cli -h 192.168.127.128 -p 6379 --eval /root/application/program/luascript/02.lua

          //相对地址:
          //当前目录
          192.168.127.128:6379>pwd
          [[email protected] redis-tool]/root/application/program/redis-tool/

          [[email protected] redis-tool]# redis-cli -h 192.168.127.128 -p 6379 --eval /root/application/program/luascript/02.lua


            2.10、Redis客户端执行带有参数的lua脚本,脚本文件的名称是:03.lua。

           //当前redis 数据库中只有name和age两个key,其他数据已经清空。

           //当前所在目录
           192.168.127.128:6379>keys *
           1)"name"
           2)"age"

           192.168.127.128:6379>get name
           "liulei"

           192.168.127.128:6379>get age
           "15"
     

          //03.lua脚本代码如下:

           local name=redis.call("get",KEYS[1])

           local age=redis.call("get",KEYS[2])

           if name=="LLL" then

             redis.call("set",KEYS[1],ARGV[1])
 
             redis.call("incr",KEYS[2])
            end

          //执行改脚本的命令,必须在Linux的命令行,不是在Redis的命令行
          [[email protected] ~]# /root/application/program/redis-tool/redis-cli -h 192.168.127.128 -p 6379 --eval /root/application/program/luascript/03.lua name age , patrickLiu

          //执行脚本命令后
          192.168.127.128:6379>keys *
          1)"name"
          2)"age"

          192.168.127.128:6379>get name
          "patrickLiu"

          192.168.127.128:6379>get age
          "16"

         //说明带参数的执行Lua脚本成功

 


             2.11、Redis客户端执行有参数lua,并返回lua的表类型。

            //04.lua文件的源码

            local b1=redis.call("hgetall",KEYS[1])
            return b1

            //代码很简单,话不多说

            //清空当前数据库
            192.168.127.128:6379>flushdb

            192.168.127.128:6379>keys *
            (empty list or set)

            192.168.127.128:6379>hmset myhash name zhangsan sex nan address hebeibaoding school laiyuanyizhong
            OK

            192.168.127.128:6379>hmget myhash name sex address school
            1)"zhangsan"
            2)"nan"
            3)"hebeibaoding"
            4)"laiyuanyizhong"

            //我们通过redis客户端获取myhash的结果,进入到redis客户端的当前目录

            [[email protected] redis-tool]# redis-cli -h 192.168.127.128 -p 6379 --eval ../luascript/04.lua myhash
            1)"name"
            2)"zhangsan"
            3)"sex"
            4)"nan"
            5)"address"
            6)"hebeibaoding"
            7)"school"
            8)"laiyuanyizhong"

          //成功获取myhash的列表

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
08-Redis的Lua脚本发布时间:2022-07-22
下一篇:
lua脚本开发(不是讲lua语法)发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap