lua脚本使用redis

news/2024/11/24 10:18:42/

1 安装工具包

luarocks install redis-lua

2 使用lua语言连接redis

local MyFirstHandler = {-- 插件的优先级,决定了插件的执行顺序;数字越大,优先级越高,越早执行PRIORITY = 1101,-- 插件的版本号VERSION = "0.1.0-1",
}-- 在Nginx worker启动时执行
function MyFirstHandler:init_worker()kong.log("data:init_worker") -- 用来确认是否加载成功的日志
end-- 收到请求,还没进入server处理时执行, 
-- 此处判断路径如果不是/sayHello和/sayBye直接返回字符串"only support /sayHello and /sayBye"
function MyFirstHandler:rewrite()kong.log("MyFirstHandler:rewrite")local rawPath = kong.request.get_raw_path() -- 使用PDK获取请求URLkong.log("rewrite rawpath: " .. rawPath)if rawPath ~= "/sayHello" and rawPath ~= "/sayBye" thenkong.log("not support rawPath: " .. rawPath)return kong.response.exit(404, "only support /sayHello and /sayBye")endkong.log("rewrite finish")
endfunction MyFirstHandler:access()kong.log("access")kong.service.request.set_header("req-key", "plugin-header-value")
end-- 注意,即使rewrite中使用了kong.response.exit, 这里也会执行
function MyFirstHandler:header_filter()kong.log("header_filter")local header = kong.service.response.get_header("rsp-key")if header ~= nil thenkong.log(header)kong.response.set_header("rsp-key", header .. " modify by plugin")end
endfunction MyFirstHandler:body_filter()kong.log("body_filter")
endreturn MyFirstHandler

3 更多redis-lua包的使用可以去官网找,给一个比较全的地址方便检索

Redis-Lua 入门指南:使用 Lua 脚本操作 Redis-易源AI资讯 | 万维易源

看了一下目前就这个文章内容比较全,完全够使用


http://www.ppmy.cn/news/1548795.html

相关文章

MIT协议:保留原始版权声明的自由开源协议

MIT协议,最近因为网络热点,变得火热起来了。 它的全名是Massachusetts Institute of Technology License,来自麻省理工学院。 上世纪80年代末,互联网刚刚起步,MIT协议就在那个时候诞生了。 它的目的很简单&#xff1…

利用uniapp开发鸿蒙:运行到鸿蒙模拟器—踩坑合集

从uniapp运行到鸿蒙模拟器上这一步,就有非常多的坑,一些常见的坑,官网都有介绍,就不再拿出来了,这里记录一下官网未记录的大坑 1.运行路径从hbuilderx启动鸿蒙模拟器 解决方法: Windows系统,官…

redis:主从复制

个人主页 : 个人主页 个人专栏 : 《数据结构》 《C语言》《C》《Linux》《网络》 《redis学习笔记》 文章目录 前言主从模式复制拓扑结构主从节点建立复制流程数据同步 psyncpsync运行流程全量复制流程部分复制流程实时复制总结 前言 分布式系统&#x…

slf4j 基于 logback 单独打印性能日志到另外一个文件

logback.xml 添加性能日志 <appender name"PERF" class"ch.qos.logback.core.rolling.RollingFileAppender"><file>${LOG_HOME}/perf.log</file><append>true</append><rollingPolicy class"ch.qos.logback.core.r…

MySQL初学之旅(3)约束

目录 1.前言 2.正文 2.1约束类型 2.2NULL约束 2.3UNIQUE约束 2.4DEFAULT约束 2.5PRIMARY KEY主键约束 2.6FOREIGN KEY外键约束 2.7CHECK约束 3.小结 1.前言 哈喽大家好啊&#xff0c;今儿来继续给大家分享最近学习的MySQL和约束相关的知识点&#xff0c;希望大家一起…

【AIGC】破解ChatGPT!如何使用高价值提示词Prompt提升响应质量

文章目录 为什么高价值提示词如此重要&#xff1f;&#x1f50d;1.1 提升响应的相关性和准确性1.2 节省时间与资源1.3 增强用户体验 了解ChatGPT的工作原理&#x1f9e0;2.1 语言模型的训练过程2.2 上下文理解与生成2.3 限制与挑战 高价值提示词的核心要素✍️3.1 清晰明确的指…

C语言基本知识 2.2void 函数

在C语言中&#xff0c; void 是一个重要的关键字&#xff0c;具有多种用途&#xff0c;以下是详细介绍&#xff1a; 函数返回值类型声明 - 当函数不需要返回任何值时&#xff0c;可以将函数的返回值类型声明为 void 。例如&#xff1a; void printMessage() { printf(…

计算机毕业设计 | SpringBoot+vue汽车资讯网站 汽车购买咨询管理系统(附源码+论文)

1&#xff0c;绪论 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及&#xff0c;互联网成为人们查找信息的重要场所&#xff0c;二十一世纪是信息的时代&#xff0c;所以信息的管理显得特别重要。因此&#xff0c;使用计算机来管理汽车资讯网站的相关信息成为必然…