随笔分类 -  lua

摘要:一)需求背景现在app客户端请求后台服务是非常常用的请求方式,在我们写开放api接口时如何保证数据的安全,我们先看看有哪些安全性的问题请求来源(身份)是否合法?请求参数被篡改?请求的唯一性(不可复制)二)为了保证数据在通信时的安全性,我们可以采用参数签名的方式来进行相关验证案例:我们通过给某 [移动 阅读全文
posted @ 2019-09-04 11:29 reblue520 阅读(1378) 评论(0) 推荐(0) 编辑
摘要:当redis设置了密码时代码如下:[root@node5 lua]# cat /usr/local/lua/access_by_limit_ip.lua 用户redis客户端设置:添加黑名单IP:sadd limit:ip:blacklist 10.11.0.148获取黑名单IP:smembers 阅读全文
posted @ 2019-09-04 11:06 reblue520 阅读(1874) 评论(0) 推荐(0) 编辑
摘要:openresty开发系列37--nginx-lua-redis实现访问频率控制一)需求背景在高并发场景下为了防止某个访问ip访问的频率过高,有时候会需要控制用户的访问频次在openresty中,可以找到:set_by_lua,rewrite_by_lua,access_by_lua,content 阅读全文
posted @ 2019-09-04 10:54 reblue520 阅读(1257) 评论(0) 推荐(0) 编辑
摘要:openresty开发系列29--openresty中发起http请求有些场景是需要nginx在进行请求转发用户浏览器请求url访问到nginx服务器,但此请求业务需要再次请求其他业务;如用户请求订单服务获取订单详情,可订单详情中需要返回商品信息,也就需要再请求商品服务获取商品信息;这样就需要ngi 阅读全文
posted @ 2019-08-30 14:34 reblue520 阅读(4414) 评论(0) 推荐(0) 编辑
摘要:配置示例 lua脚本 阅读全文
posted @ 2019-08-30 14:34 reblue520 阅读(4701) 评论(0) 推荐(0) 编辑
摘要:openresty开发系列28--openresty中操作mysqlMysql客户端 应用中最常使用的就是数据库了,尤其mysql数据库,那openresty lua如何操作mysql呢? 默认安装OpenResty时已经自带了该模块。案例,mysql数据库的常用操作,编辑testmysql.lua 阅读全文
posted @ 2019-08-30 14:01 reblue520 阅读(1823) 评论(0) 推荐(0) 编辑
摘要:openresty开发系列27--openresty中封装redis操作在关于web+lua+openresty开发中,项目中会大量操作redis,重复创建连接-->数据操作-->关闭连接(或放到连接池)这个完整的链路调用完毕,甚至还要考虑不同的 return 情况做不同处理,就很快发现代码中有大量 阅读全文
posted @ 2019-08-30 13:53 reblue520 阅读(1624) 评论(2) 推荐(0) 编辑
摘要:openresty开发系列26--openresty中使用redis模块在一些高并发的场景中,我们常常会用到缓存技术,现在我们常用的分布式缓存redis是最知名的,操作redis,我们需要引入redis模块 require "resty.redis";我们现在做个可以操作redis进行赋值,读值的案 阅读全文
posted @ 2019-08-30 11:59 reblue520 阅读(4163) 评论(0) 推荐(0) 编辑
摘要:openresty开发系列25--openresty中使用json模块web开发过程中,经常用的数据结构为json,openresty中封装了json模块,我们看如何使用一)如何引入cjson模块,需要使用requirelocal json = require("cjson")json.encode 阅读全文
posted @ 2019-08-30 11:54 reblue520 阅读(4381) 评论(0) 推荐(0) 编辑
摘要:openresty开发系列24--openresty中lua的引入及使用openresty 引入 lua一)openresty中nginx引入lua方式 1)xxx_by_lua >字符串编写方式 2) xxx_by_lua_block >代码块方式 3) xxx_by_lua_file >直接引用 阅读全文
posted @ 2019-08-30 11:52 reblue520 阅读(7512) 评论(0) 推荐(0) 编辑
摘要:openresty开发系列23--lua面向对象面向对象编程(Object Oriented Programming,OOP)是一种非常流行的计算机编程架构。java,c++,.net等都支持面向对象面向对象特征1) 封装:指能够把一个实体的信息、功能、响应都装入一个单独的对象中的特性。2) 继承: 阅读全文
posted @ 2019-08-30 11:19 reblue520 阅读(597) 评论(0) 推荐(0) 编辑
摘要:openresty开发系列22--lua的元表举个例子,在 Lua table 中我们可以访问对应的key来得到value值,但是却无法对两个 table 进行操作。那如何计算两个table的相加操作a+b?local t1 = {1,2,3}local t2 = {4,5,6}local t3 = 阅读全文
posted @ 2019-08-30 11:15 reblue520 阅读(354) 评论(0) 推荐(0) 编辑
摘要:openresty开发系列21--lua的模块从lua5.1开始,Lua 加入了标准的模块管理机制,Lua 的模块是由变量、函数等已知元素组成的 table,因此创建一个模块很简单,就是创建一个 table,然后把需要导出的常量、函数放入其中,最后返回这个 table 就行。一)模块定义模块的文件名 阅读全文
posted @ 2019-08-30 10:58 reblue520 阅读(742) 评论(0) 推荐(0) 编辑
摘要:openresty开发系列20--lua的时间操作在 Lua 中,函数 time、date 和 difftime 提供了所有的日期和时间功能。在 OpenResty 的世界里,不推荐使用这里的标准时间函数,因为这些函数通常会引发不止一个昂贵的系统调用,同时无法为 LuaJIT JIT 编译,对性能造 阅读全文
posted @ 2019-08-30 10:57 reblue520 阅读(1336) 评论(0) 推荐(0) 编辑
摘要:openresty开发系列19--lua的table操作Lua中table内部实际采用哈希表和数组分别保存键值对、普通值;下标从1开始不推荐混合使用这两种赋值方式。local color={first="red", "blue", third="green", "yellow"}print(colo 阅读全文
posted @ 2019-08-30 10:18 reblue520 阅读(1491) 评论(0) 推荐(0) 编辑
摘要:openresty开发系列18--lua的字符串string操作string的相关操作1)string.upper(s)接收一个字符串 s,返回一个把所有小写字母变成大写字母的字符串。print(string.upper("Hello Lua")) -->output HELLO LUA2)stri 阅读全文
posted @ 2019-08-30 10:14 reblue520 阅读(2208) 评论(1) 推荐(0) 编辑
摘要:与其他脚本语言不同的是,Lua并不使用POSIX规范的正则表达式[4](也写作regexp)来进行模式匹配。主要的原因出于程序大小方面的考虑:实现一个典型的符合POSIX标准的regexp大概需要4000行代码,这比整个Lua标准库加在一起都大。权衡之下,Lua中的模式匹配的实现只用了500行代码, 阅读全文
posted @ 2019-08-29 15:11 reblue520 阅读(692) 评论(0) 推荐(0) 编辑
摘要:openresty开发系列16--lua中的控制结构if-else/repeat/for/while 一)条件 - 控制结构 if-else if-else 是我们熟知的一种控制结构。Lua 跟其他语言一样,提供了 if-else 的控制结构。 1)单个 if 分支 型 if 条件 then --body end 条件为真 ,执行if中的body -----------------... 阅读全文
posted @ 2019-08-29 15:04 reblue520 阅读(747) 评论(0) 推荐(0) 编辑
摘要:openresty开发系列15--lua基础语法4表table和运算符 lua中的表table 一)table (表)Table 类型实现了一种抽象的"关联数组"。即可用作数组,也可以用作map。lua中没有数组和map,都是用table这个类型--数组java int[] intArr = new 阅读全文
posted @ 2019-08-29 14:59 reblue520 阅读(576) 评论(0) 推荐(0) 编辑
摘要:openresty开发系列14--lua基础语法3函数一)function (函数)有名函数:optional_function_scope function function_name( argument1, argument2, argument3..., argumentn) function 阅读全文
posted @ 2019-08-29 14:56 reblue520 阅读(485) 评论(0) 推荐(0) 编辑