这是来自黑马Redis视频的图片,方便我后期补充本篇文章使用!
我们先配置好请求路径,只要访问ip:9000/abc 就触发lua脚本了
代码语言:javascript复制worker_processes 1;
error_log logs/error.log;
events {
worker_connections 1024;
}
http {
# 加载lua模块
lua_package_path "/usr/local/openresty/lualib/?.lua;;";
# 加载c模块
lua_package_cpath "/usr/local/openresty/lualib/?.so;;";
server {
listen 9000;
location / {
default_type text/html;
content_by_lua '
ngx.say("<p>Hello, World! second test!</p>")
';
}
location /abc {
# default_type text/html;
default_type application/json;
content_by_lua_file lua/a.lua;
}
}
}
创建lua/a.lua文件
请求lua操作Redis:编辑a.lua 文件
代码语言:javascript复制-- 引入redis模块
local redis=require 'resty.redis'
-- 创建redis连接对象对象
local redisObj=redis:new()
-- 设置redis超时时间为1s
redisObj:set_timeout(1000)
-- 设置redis连接信息
local ok,err=redisObj:connect('192.168.31.204',6379)
--设置redis连接密码
redisObj:auth('123456')
-- 判断是否连接成功
if not ok then
ngx.say('failed to connect redis',err)
return
end
-- 存入数据
ok,err=redisObj:set('username','zhangsan')
-- 判断是否存入成功
if not ok then
ngx.say('failed to set key',err)
return
end
--从redis中获取数据
local res,err=redisObj:get('username')
ngx.say(res)
-- 关闭Redis连接
redisObj:close()
ngx.say('ok')
操作mysql:修改a.lua文件
代码语言:javascript复制local mysqL=require("resty.mysql")
local db=mysqL:new()
local ok,err=db:connect{
host="192.168.31.204",
port=3306,
user='root',
password='740969606',
database='test'
}
db:set_timeout(1000)
-- 设定sql
db:send_query('select * from User limit 1')
-- 读取数据
local res,err,errcode,sqlstate=db:read_result()
db:close()
-- 数据存储在res数组中 第一行数据就是res[1],字段是user_name 使用就是res[1].user_name
ngx.say('姓名:'..res[1].user_name..' ,学生年龄:'..res[1].user_age)
完成!
特殊说明: 以上文章,均是我实际操作,写出来的笔记资料,不会盗用别人文章!烦请各位,请勿直接盗用!转载记得标注来源!