Nginx加载Lua脚本lrucache缓存

news2024/10/6 1:36:55

1、简介

lrucache缓存是单进程的,就像redis一样,所以不需要锁。

2、nginx配置

#lua_code_cache off;

# 把这个缓存打开,因为里面的在new对象的时候,只允许实例一个对象,如果不打开的话

# 每次次请求会创建一个对象,变量就没意义了。

location /lua {
            default_type   text/html;
            #content_by_lua_file lua/main.lua;

            # 加入下面配置
            content_by_lua_block {
                 require("my/cache").go()
            }
        }
 

3、测试脚本

local _M = {}
lrucache = require "resty.lrucache"
-- allow up to 200 items in the cache
c, err = lrucache.new(200)
if not c then
    error("failed to create the cache: " .. (err or "unknown"))
end
function _M.go()
    count = c:get ("count")
    ngx.say ("count:", count, " --<br/>")
    if not count then
        c:set("count", 1)
        ngx.say("1azy set i ", c:get ("count"), " <br/>")
    else
        c:set("count", count+1)
        ngx.say("count ", count, "<br/>")
    end
end
return _M

 启动后访问报错,按照报错的位置创建文件夹和文件即可加载到文件,我把脚本放到了/usr/local/openresty1.15.8/lualib/my/cache.lua里。

my/cache:的配置个人理解,my是项目目录,cache是lua脚本名称。我尝试只写一个main,结果直接报错。都没有取加载文件。

 

 执行访问成功。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/47320.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RK3588平台开发系列讲解(DisplayPort篇)DP相关模式说明

平台内核版本安卓版本RK3588Linux 5.10Android12🚀返回专栏总目录 文章目录 一、DP Alt Mode二、DP Legacy Mode2.1、Controller2.2、PHY三、Split Mode沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇将介绍DP的相关模式。

KNN最近邻算法分析及实现(Python实现)

KNN最近邻算法分析及实现&#xff08;代码附录后文&#xff09;1 KNN算法简介2 KNN基本原理3 简单实现KNN分析代码附录(Python)&#xff1a;呆&#xff0c;站住别跑&#xff0c;留个赞&#xff0c;给个关注嘛都看到这了Author&#xff1a; Nirvana Of Phoenixl Proverbs for yo…

Mysql视图和触发器

视图 视图是什么&#xff0c; 是否真实存在? 个人理解&#xff1a;视图视图&#xff0c;只是你可以看见的一层抽象层, 它并不真实存在, 而是在真实存在的一张或者多张表之上的一层封装, 对于select查询语句的提前封装. 不涉及数据的存储. 这样的一层封装好处是蛮多的. 对于…

Kamiya丨Kamiya艾美捷小鼠转铁蛋白ELISA说明书

Kamiya艾美捷小鼠转铁蛋白ELISA预期用途&#xff1a; 小鼠转铁蛋白ELISA是一种高灵敏度的双位点酶联免疫分析&#xff08;ELISA&#xff09;小鼠生物样品中转铁蛋白的测定。仅供研究使用。 引言 转铁蛋白是一种金属结合蛋白&#xff0c;可逆地与血浆中的酸溶性铁结合。它的功…

python中json的使用dump,dumps,loads,load简单了解

参考&#xff1a;https://www.runoob.com/python3/python3-json.html&#xff0c;https://zhuanlan.zhihu.com/p/264393909 json的作用 JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式 &#xff08;图片是参考链接中的图片&#xff09; json.dumps(): 对数据…

Node.js 入门教程 26 npm 依赖与开发依赖 27 Node.js 包运行器 npx

Node.js 入门教程 Node.js官方入门教程 Node.js中文网 本文仅用于学习记录&#xff0c;不存在任何商业用途&#xff0c;如侵删 文章目录Node.js 入门教程26 npm 依赖与开发依赖27 Node.js 包运行器 npx27.1 轻松地运行本地命令27.2 无需安装的命令执行27.3 使用不同的 Node.js …

[SWPUCTF 2018]SimplePHP

考点&#xff1a;文件上传 试了一下&#xff0c;直接上传php文件是不行的&#xff0c;.user.ini和.htaccess也不行 能看到有提示&#xff0c;flag在f1ag.php中 在查看文件功能处发现get传参&#xff0c;可能是文件包含 尝试包含当前页面 ?filefile.php 得到 <?php h…

一些感悟(随笔小记)

不知不觉已经坚持快70天了&#xff0c;之前虽然断断续续学过几个月但是没有形成自己的体系&#xff0c;导师安排的各种任务和课程也极大的影响了自己自学的进度&#xff0c;当时真的很迷茫。好在因为那一股冲劲制定了百日救赎计划&#xff0c;虽然在庞大的知识体系中100天真的微…

精彩回顾 | 苏州农商银行新一代云原生信息科技架构体系实践

11月18日&#xff0c;2022年第五届中国金融科技产业大会暨第四届中新&#xff08;苏州&#xff09;数字金融应用博览会“基础软件与云原生系统软件”分论坛成功举办。该论坛由由中国计算机学会CTO CLUB&#xff08;苏州&#xff09;承办&#xff0c;江苏省金融科技云原生融合创…

【Kubernetes系列】工作负载资源之StatefulSet

StatefulSet概述解决的问题组件Pod 选择算符卷声明模板最短就绪秒数更新策略滚动更新分区滚动更新最大不可用 Pod强制回滚副本数StatefulSet的网络标识StatefulSet存储状态概述 StatefulSet 是用来管理有状态应用的工作负载 API 对象。 StatefulSet 用来管理某 Pod 集合的部署…

IDEA的乱码与file.encoding = UTF-8

file.encoding UTF-8的作用其实就是使用UTF-8作为文件encoding和decoding时的默认方案。 我们知道存储文本文件时&#xff0c;文本变为二进制时要对文件进行encoding&#xff0c;这是一个字节转字符的过程&#xff0c;转换的具体工作由JAVA的API完成&#xff08;例如&#xf…

ACM近年区域赛的所有题型

之前写了个退役文章记录想记录下&#xff0c;但是没有干货&#xff0c;还是给删了&#xff0c;所以前面的是退役小记&#xff0c;后面是我个人写近2年所有区域赛场次记录的题型 目录 退役小记&#xff08;没兴趣可以不看&#xff09; 这里简单记下我的acm生涯 省赛和三场区…

MySQL第一弹

目录 一、数据库的基本概念 1、数据 (Data) 2、表 3、数据库 4、数据库管理系统(DBMS) 5、数据库系统 6、DBMS的工作模式如下 二、数据库的发展史 1.第一代数据库&#xff08;淘汰&#xff09; 2.第二代数据库&#xff08;现在用的基本上都是二代&#xff09; 3.第…

Netty02——Netty 入门

目录1.概述1.1.Netty 是什么&#xff1f;1.2.Netty 的作者1.3.Netty 的地位1.4 Netty 的优势2. Hello World2.1 目标2.2 服务器端2.3 客户端2.4 流程梳理2.5.提示3. 组件3.1 EventLoop3.1.1.概述3.1.2.案例演示3.2 Channel3.2.1.ChannelFuture3.2.2.CloseFuture3.2.3.异步提升的…

火车头采集无分页列表-滚动加载列表采集软件免费

互联网的信息和数据不断攀升&#xff0c;每个人都离不开数据的汇总以及分析&#xff0c;不管是整理数据&#xff0c;还是分析同行的数据。今天小编就教大家如何有效地快速抓取自己想要的网页数据。 不管是列表页的网站&#xff0c;还是滚动加载的网站或者需要登录才能采集的网站…

终于学完了9年资深工程师推荐的Java项目化程序设计案例文档

时间飞逝&#xff0c;转眼间毕业七年多&#xff0c;从事 Java 开发也六年了。我在想&#xff0c;也是时候将自己的 Java 整理成一套体系。 这一次的知识体系面试题涉及到 Java 知识部分、性能优化、微服务、并发编程、开源框架、分布式等多个方面的知识点。 写这一套 Java 面试…

时间序列:时间序列模型---随机游走过程(The Random Walk Process)

本文是Quantitative Methods and Analysis: Pairs Trading此书的读书笔记。 随机游走过程是一种特殊的ARMA序列。从分子运动到股价波动等现象都被建模为随机游走。 随机游走过程是AR(1)序列&#xff0c;而且,时间序列在时刻的值为&#xff1a; 随机游走过程本质上是到当前时间…

【ZYNQ】IP核_DDR4_SDRAM(MIG)的详细介绍

IP核_DDR4_SDRAM的详细介绍内核架构内存控制器本机接口控制与数据路径控制路径数据路径读写合并重新排序组状态机ECCRMW(Read-Modify-Write)流程ECC模块ERROR地址时延ECC端口描述地址奇偶校验Clamshell 拓扑迁移功能MicroBlaze MCS ECCMemory 设置内核设计时钟复位协议描述用户…

libxlsxwriter初体验

C如何写Excel&#xff1f; 大家时间都这么宝贵&#xff0c;没有起因的问题是不值得被优先研究的。这篇博客的起因就是希望找到一个比较合适于C的开源库&#xff0c;用以在C中生成Excel文档。其实C可用的开源Excel库&#xff0c;很多博主都已经撰文提及。例如&#xff1a;# c操…

独立站运营优化方法

一个跨境卖家出海&#xff0c;除了建立独立站&#xff0c;要考虑的核心问题是引流和转型。独立站流量从哪里来&#xff1f;面对多元化的海外市场&#xff0c;如何选择更适合品牌的引流渠道和方式&#xff1f; 米贸搜在与海外主流社交媒体、搜索引擎深度连接的基础上&#xff0…