为了账号安全,请及时绑定邮箱和手机立即绑定

lua入门demo(HelloWorld+redis读取)

标签:
Java

1. lua入门demo

1.1. 入门之Hello World!!

  1. 由于我习惯用docker安装各种软件,这次的lua脚本也是运行在docker容器上

  2. openresty是nginx+lua的各种模块,所以直接docker安装openresty

  3. 修改nginx.conf配置文件,在http模块中加上

lua_package_path "/usr/local/openresty/lualib/?.lua;;";
  1. http内的server模块上,在加个

location /lua-file{                default_type 'text/html';                content_by_lua_file /usr/local/openresty/demo/lua-file.lua;
        }
  1. 这样我可以在指定目录开始编写lua脚本了,在写完脚本后,nginx -s reload 一下就可以通过ip/lua-file访问lua脚本了

  2. 我在lua-file.lua内先写上 ngx.say('Hello world!!'),然后reload一下后

  3. 访问结果:

5c8513cf00014f9905350145.jpg

1.2. 访问redis

local function close_redis(red)
        if not red then
                return
        end
        local pool_max_idle_time = 10000
        local pool_size = 100
        local ok,err = red:set_keepalive(pool_max_idle_time,pool_size)        if not ok then
                ngx.say("set keepalive error:" ,err)        endendlocal redis = require "resty.redis"local red = redis:new()
red:set_timeout(1000)local ok,err = red:connect("47.96.64.100",6379)if not ok then
        ngx.say("connect to redis error: ",err)        return close_redis(red)endlocal count,err = red:get_reused_times()if 0 == count then
        ok,err = red:auth("123456")        if not ok then
                ngx.say("auth fail")                return
        endelseif err then
        ngx.say("failed to get reused times: ",err)        returnendngx.say(red:get("dog"))
close_redis(red)
  1. 当然,我事先redis存放了key为dog的值

  2. 访问浏览器结果

5c8513d0000190a504420173.jpg

1.3. 总结

  1. 通过简单的hello world实例和redis读取,我们基本了解了lua的用法和功能,lua的语法和js类似,部分自己的特色,这里我就抛砖引玉一下了

 作者:天尘·云烟

原文链接:https://www.cnblogs.com/sky-chen/p/10488602.html


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消