最新文章列表

爱奇艺开源lua-resty-couchbase

lua-resty-couchbase    使用cosocket纯lua实现的couchbase的client,已经在爱奇艺重要的播放服务稳定运行5年多,线上支持峰值QPS达到20W,在OpenResty架构下面,可以直接从nginx上面访问CouchBase.    开源地址:https://github.com/iqiyi/lua-resty-couchbase一个例子    lua_pac ...
mtnt2008 评论(0) 有787人浏览 2020-08-25 08:28

mac加载lfs报multiple Lua VMs detected

MacOSX下,通过终端,用生成的lua binary(Ver:5.3.5)执行lua代码,在require 'lfs'一行报 multiple Lua VMs detected 原因是我编译的lfs.so需要动态引用liblua.so,lua binary里又静态包含了这部分代码,所以需要把binary重新打包一下,也改为动态引用,这样就只需要共同引用同一个liblua.so 新建一个空文件夹, ...
贝壳水母 评论(0) 有619人浏览 2020-06-09 11:44

Redis使用LUA脚本计算HashMap中的Value的SUM

统计Redis中HashMap缓存中Value的数据值:   local sizeList = redis.call("HVALS", KEYS[1]) local total_size = 0 for index, line in pairs(sizeList) do total_size = ...
greatwqs 评论(0) 有1194人浏览 2020-04-02 17:55

Lua 脚本

        Redis 2.6 版本开始引入对 Lua 脚本的支持,通过在服务器中嵌入 Lua 环境,Redis 客户端可以使用 Lua 脚本,直接在服务端原子地执行多个 Redis 命令。如下所示: redis> EVAL "return redis.call('SET', KEYS[1], ARGV[1])" 1 "msg" "he ...
aisxyz 评论(0) 有667人浏览 2019-10-07 19:49

Kong自定义插件【request-match-deny】

1、插件作用   判断请求参数是否有确定的值,如果存在,则拒绝服务。   用于拦截恶意访问行为。 2、核心代码 local function decideUriExists(uri_value_tab,uri_key_tab) local exists = true local args = ngx.req.get_uri_args() for i = 1, #uri_va ...
can_do 评论(0) 有485人浏览 2019-09-24 12:14

Kong自定义插件【request-param-sequence】

1、插件作用 校验请求参数在URI中的顺序,必须按配置的参数顺序来,否则拒绝访问。 2、核心代码 local function decideUriExists(uri_key,uri_value,uri_param_tab) local exists = true local args = ngx.req.get_uri_args() for i = 1, #u ...
can_do 评论(0) 有515人浏览 2019-09-24 12:06

Kong自定义插件【request-keyword-param-check】

1、插件作用 校验请求参数间的关系,支持以下操作类型: (1)mandatory,表示请求uri中是必须携带的参数 (2)contain,表示两个参数之间是否有包含关系,前者是否包含后者 (3)exist,表示所配置参数必须同时有值 (4)begin,表示请求参数值是否以某个指定值开头 (5)end,表示请求参数值是否以某个指定值结尾 (6)firm,表示请求参数是否为指定的值 2、核心代码 ...
can_do 评论(0) 有458人浏览 2019-09-21 18:54

Lua学习点滴记录

1、Lua官网 http://www.lua.org/manual/5.3/manual.html 2、Lua与Java的比较 3、Lua与LuaJIT比对 http://luajit.org/performance_x86.html 4、Lua语法实战 【syntax】 0> 在 Lua 中, ...
can_do 评论(0) 有484人浏览 2019-09-21 09:45

通过Openresty提取具体URI代理到指定BackendServer以解决CORS问题

通过Openresty提取具体URI,代理到指定BackendServer,以解决CORS问题, 一、问题场景 Browser请求https//biz4h5.company.com/xxx/yyy 而biz4h5.company.com要访问前后台分离的后台接口,https//biz4api.company.com/aaa/bbb 如果biz4h5.company.com和biz4api.c ...
can_do 评论(0) 有995人浏览 2019-08-12 10:58

大型网站限流算法的实现和改造

最近写了一个限流的插件,所以避免不了的接触到了一些限流算法。本篇文章就来分析一下这几种常见的限流算法 分析之前 依我个人的理解来说限流的话应该灵活到可以针对每一个接口来做。比如说一个类里面有5个接口,那么我的限流插件就应该能针对每一个接口就行不同的限流方案。所以呢,既然针对的每个接口所以就需要一个可以唯一标示这个接口的key(我取的是类名+方法名+入参)。 分布式限流强烈推荐使用 ...
javenshi 评论(0) 有982人浏览 2019-06-14 10:18

编写Kong自定义插件具体步骤

【编写Kong自定义插件】=>request-filter 1> vim /etc/kong/kong.conf custom_plugins = request-filter 2> 目录/usr/local/share/lua/5.1/kong/plugins下添加自定义插件lua脚本 ../request-filter/ ├── handler.lua ├── schema.l ...
can_do 评论(0) 有1785人浏览 2019-05-08 18:53

Redis分布式锁实现实例

今天面试官问Redis分布式锁实现代码简单步骤,其中有一点面试官坚持说set操作和超时设置必须是2行代码,我当时懵了一下,我只能说这违反了“原子”操作,以下是我的实现示例代码: 上锁: @Override public boolean lock(String lockKey, String requestId, Long expireTime) { Assert.isTrue(St ...
宋建勇 评论(0) 有1227人浏览 2019-04-22 13:39

nginx学习之epoll

首先说一下传统的I/O多路复用select和poll,对比一下和epoll之间的区别:举个例子:假如有100万用户同时与一个进程保持TCP连接,而每一时刻只有几十或 ...
zy116494718 评论(0) 有683人浏览 2019-01-03 18:15

基础概念之Master与Worker

1.master与worker   nginx在启动后,在unix系统中会以daemon的方式在后台运行,后台进程包含一个master进程和多个worker进程。我们也可以手动地关掉后台模式,让nginx在前台运行,并且通过配置让nginx取消master进程,从而可以使nginx以单进程方式运行。很显然,生产环境下我们肯定不会这么做,所以关闭后台模式,一般是用来调试用的,在后面的章节里面,我 ...
zy116494718 评论(0) 有1825人浏览 2019-01-03 18:14

lua 调用C

   Lua 下通过虚拟栈传递参数,只要注册相应接口便可调用C函数。   #include "lua.h" // v5.1.5 #include "lualib.h" #include "lauxlib.h" // 原生函数 int ShowVal(const char *szReq, int &score); ...
tcspecial 评论(0) 有1297人浏览 2018-10-19 12:51

nginx+lua实现简单的waf网页防火墙功能

安装LuaJIT http://luajit.org/download/LuaJIT-2.0.4.tar.gz tar xf LuaJIT-2.0.4.tar.gz cd LuaJIT-2.0.4 make && make install 即可 下载ngx_devel_kit https://codeload.github.com/simpl/ngx_devel_kit ...
fhuan123 评论(0) 有959人浏览 2018-05-21 15:09

openresty聊天室的helloworld

openresty的websocket + redis的subscribe 参考 https://blog.csdn.net/orangleliu/article/details/50898014 利用redis的subscribe 参考http://www.runoob.com/redis/pub-sub-subscribe.html 安装redis brew install redis 安 ...
haoningabc 评论(0) 有803人浏览 2018-04-22 19:25

openresty websocket

mac安装openresty brew install openssl ./configure --prefix=/usr/local/openresty --with-openssl=/usr/local/Cellar/openssl/1.0.2o_1 make make install openssl还是有问题 shared等 参考 https://blog.csdn.ne ...
haoningabc 评论(0) 有1521人浏览 2018-04-18 17:08

用lua实现登陆超时拦截

local ngx = require("ngx") local resty_redis = require("resty.redis") local resty_cookie = require("resty.cookie") local cjson = require("cjson") local notFilte ...
lua 
yunlong167167 评论(0) 有1103人浏览 2018-02-06 17:07

openresty lua xpcall 异常处理函数循环被执行

-- require local result = require "utils.result" local _M = { _VERSION = '0.01', err_code = "E_0001"} --[[ -- 定制日志输出, xpcall错误处理函数 -- 函数中不能使用ngx.exit等操作 -- @param _e ...
langmnm 评论(0) 有1453人浏览 2017-09-12 17:59

最近博客热门TAG

Java(141747) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) .net(54785) 编程(39454) JSP(37542) 数据结构(36423) Eclipse(31254) PHP(29988) F#(26079) 算法(24867) 脚本(19840) J#(18922) JDBC(17888) ASP(17480) JDK(14881) JVM(14450)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics