在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
1、安装lua类库环境 2、下载lua最新的版本安装 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]#
[[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
>^C [[email protected] lua-5.3.4]#
[[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
//当前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脚本成功
//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的列表
|
请发表评论