Lua在nginx环境中读取redis的demo(01)

我使用的环境是 openresty-1.15.8.1-win64 为运行环境;编辑器是 idea项目结构

lua.conf : 

server {
listen 8033;
server_name _;
location /lua {
default_type 'text/html';
content_by_lua_file testlua/TestSearch.lua;
  }
}

nginx.config:
worker_processes  2;
error_log  logs/error.log  info;
events {
  worker_connections  1024;
}
http {
  default_type  application/octet-stream;
  access_log  logs/access.log;
  lua_package_path 'testlua/?.lua;;';
  lua_package_cpath 'lualib/?.so;;';
  include lua.conf;
  server {
    listen       12344;
    server_name  localhost;
    default_type text/html;
    location = /favicon.ico {
      log_not_found off;
      access_log off;
    }
  }
}

TestSearch.lua 

local function searchRedis()
local redis = require("resty.redis")
local json = require ("dkjson") --这个地方是我自己下载的包并且放到了lua.lib中和resty同级
ngx.header.content_type="application/json;charset=utf8"
local mdn=ngx.var.arg_key
local value=ngx.var.arg_value
ngx.say(mdn,"",value)
--创建实例
local redis_instance = redis:new()
--设置超时(毫秒)
redis_instance:set_timeout(3000)
--建立连接
local host = "127.0.0.1"
local port = 6379
local ok, err = redis_instance:connect(host, port)
if not ok then
    ngx.say("connect to redis error : ", err)
    return close_redis(redis_instance)
end
if value ~="" then
ngx.say("jinlailea")
local resp, err = redis_instance:set(mdn,value);
end
local resp, err = redis_instance:eval("return redis.call('get', KEYS[1])", 1, mdn);
ngx.say("value : ",resp)
end
searchRedis()
local function close_redis(red)
    if not red then
        return
    end
    local ok, err = red:close()
    if not ok then
        ngx.say("close redis error : ", err)
    end
end

代码粘贴完毕 我的运行环境是nginx 在 idea File--》setting--》Plugins中搜索nginx support下载

配置Ant Build 就是普通的xml文件,在项目下新建一个 **.xml就像是我整的bulid.xml 然后点击idea右侧Ant Build 就看到了

这是发布的,发布之后,直接运行就好了

访问连接 http://127.0.0.1:12344/

出现上述页面,表示nginx+lua没有问题

访问http://127.0.0.1:8033/lua?key=msg&value=MrWU,beautify

bulid.xml文件:

<?xml version="1.0" encoding="UTF-8"?>

<project name="testlua" default="dist" basedir=".">
    <description>
        run pic-server
    </description>
    <property name="openresty-home" location="D:\bytueEnvironment\company\openresty-1.15.8.1-win64"/>
    <property name="conf" location="${basedir}/conf"/>
    <property name="src" location="${basedir}/src"/>
    <property name="target-conf" location="${openresty-home}/conf"/>
    <property name="target-src" location="${openresty-home}/${ant.project.name}"/>
    <target name="clean" depends="">
        <delete dir="${target-conf}"/>
        <delete dir="${target-src}"/>
        <delete>
            <fileset dir="${openresty-home}/logs" includes="*.log">
            </fileset>
        </delete>
    </target>

    <target name="init" depends="clean">
        <mkdir dir="${target-conf}"/>
        <mkdir dir="${target-src}"/>
    </target>

    <target name="dist" depends="init" description="generate the distribution" >
        <copy todir="${target-conf}">
            <fileset dir="${conf}"></fileset>
        </copy>
        <copy todir="${target-src}">
            <fileset dir="${src}"></fileset>
        </copy>
    </target>

</project>

标识lua在ngx环境下可以对redis进行读写操作

研究了好几天,看了无数网页,感谢无数网友

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值