Nginx+Lua 积累
1、解析16进制编码的中文参数
local encodeStr = "%E6%B0%94"
local decodeStr = "";
for i = , #encodeStr - , do
local num = encodeStr:sub(i, i + );
num = tonumber(num, );
decodeStr = decodeStr .. string.char(num);
end
ngx.say(decodeStr)
2、类似replace
local str = "a1b1c1d"
local result = string.gsub(str,"","") --将1替换成2 local str = "A1B1C1"
local result = string.gsub(str,"1","0",2) --输出的结果为:A0B0C1
3、直连mysql
local mysql = require "resty.mysql"
local db = mysql:new()
db:connect{
host = "10.10.3.218",
port = ,
database = "test_db",
user = "root",
password = "",
max_packet_size = *
}
local result = db:query("SELECT ID,NAME FROM TABLE")
ngx.say(result[]["ID"])
ngx.say(result[]["NAME"])
4、直接Redis
local redis = require "resty.redis"
local cache = redis.new()
cache.connect(cache,"10.10.3.208", "")
local result = cache:get("key")
5、使用管道
local redis = require "resty.redis"
local cache = redis.new()
cache.connect(cache,"10.10.3.208", "")
cache:init_pipeline()
for i=, do
cache:get("key")
end
local res = cache:commit_pipeline()
for j=,#res do
ngx.say(res[j])
end
6、计算一共有多少页
local totalPage = math.floor((totalRow+pageSize-)/pageSize)
7、Lua Table 多字段排序
--排列顺序优先级从高到低依次为:
--第一:等级由高到低;
--第二:稀有度由高到低;
--第三:伙伴ID从高到低。
local function sort_(a, b)
local r
local al = tonumber(a.level)
local bl = tonumber(b.level)
local aq = tonumber(a.data.quality)
local bq = tonumber(b.data.quality)
local aid = tonumber(a.pid)
local bid = tonumber(b.pid)
if al == bl then
if aq == bq then
r = aid > bid
else
r = aq > bq
end
else
r = al > bl
end
return r
end table.sort(tableName,sort_)
8、四舍五入小数点保留2位
local function keepTwoDecimalPlaces(decimal)
decimal = math.floor((decimal * )+0.5)*0.01
return decimal
end ngx.say(keepTwoDecimalPlaces(1.369))
Nginx+Lua 积累的更多相关文章
- 搭建OpenResty(Nginx+Lua)
这篇文章是一个多月前写的,当时之所以搭建这个是为了最大程度上发挥Nginx的高并发效率(主要是结合lua脚本),参考的话,主要参考张开涛先生写的跟开涛学Nginx+lua系列文章,地址为:https: ...
- 使用Nginx+Lua代理Hadoop HA
一.Hadoop HA的Web页面访问 Hadoop开启HA后,会同时存在两个Master组件提供服务,其中正在使用的组件称为Active,另一个作为备份称为Standby,例如HDFS的NameNo ...
- 用Nginx+Lua(OpenResty)开发高性能Web应用
在互联网公司,Nginx可以说是标配组件,但是主要场景还是负载均衡.反向代理.代理缓存.限流等场景:而把Nginx作为一个Web容器使用的还不是那么广泛.Nginx的高性能是大家公认的,而Nginx开 ...
- OpenResty(nginx+lua) 入门
OpenResty 官网:http://openresty.org/ OpenResty 是一个nginx和它的各种三方模块的一个打包而成的软件平台.最重要的一点是它将lua/luajit打包了进来, ...
- Nginx+lua环境搭建
其实有点类似WampServer一站式安装包 wget http://openresty.org/download/ngx_openresty-1.7.10.1.tar.gz tar -zxvf ng ...
- Nginx+Lua(OpenResty)开发高性能Web应用
使用Nginx+Lua(OpenResty)开发高性能Web应用 博客分类: 跟我学Nginx+Lua开发 架构 ngx_luaopenresty 在互联网公司,Nginx可以说是标配组件,但是主要场 ...
- 深入浅出 nginx lua 为什么高性能
最近很多人问我nginx lua的优势是什么?为什么? 一.同步和异步.阻塞和非阻塞 如果要说清楚这个问题首先要了解:同步和异步.阻塞和非阻塞的关系 同步:php.java的正常代码都是同步执行的 异 ...
- Nginx+Lua+Redis 对请求进行限制
Nginx+Lua+Redis 对请求进行限制 一.概述 需求:所有访问/myapi/**的请求必须是POST请求,而且根据请求参数过滤不符合规则的非法请求(黑名单), 这些请求一律不转发到后端服务器 ...
- nginx+lua+redis初体验
1.下载nginx.lua.redis nginx下载地址 wget http://nginx.org/download/nginx-1.8.0.tar.gz lua下载地址 wget http:/ ...
随机推荐
- linux 普通用户切换成root免密码
[root@ok ~]# vim /etc/pam.d/su 下面是/etc/pam.d/su文件的内容 #%PAM-1.0 auth sufficient pam_rootok.so # Uncom ...
- 【PHP小项目使用MVC架构】
小项目名称是雇员管理系统. mvc是一种项目的开发模式,中文名称为模式视图控制器,是强制程序员将数据的输入.处理.输出分开的一种开发模式. 在这个小项目中,控制器使用service作为后缀名. 项目u ...
- JAVA和PYTHON同时实现AES的加密解密操作---且生成的BASE62编码一致
终于有机会生产JAVA的东东了. 有点兴奋. 花了一天搞完.. java(关键key及算法有缩减): package com.security; import javax.crypto.Cipher; ...
- mysql5.7.11安装配置
1.下载安装包. mysql-5.7.11版本: http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.11-winx64.zip 2.拷贝到任意盘: ...
- HTML5应用之文件拖拽上传
使用HTML5的文件API,可以将操作系统中的文件拖放到浏览器的指定区域,实现文件上传到服务器.本文将结合实例讲解HTML5+jQuery+PHP实现拖拽上传图片的过程,来看下HTML5的魅力吧. H ...
- GMap.Net开发之自定义Marker
上一篇文章介绍了如何在WinForm和WPF中使用GMap控件,这篇介绍下GMap中Marker的使用. 自定义Marker,可以理解为在地图上自定义图标(Custom Marker),先看看GMap ...
- DB2 日期相减
简单方法: 使用 days 字符型的日期:2012-01-01,2012-01-11 values days(date('2012-01-11')) - days(date('2012-01-01' ...
- 攻城狮在路上(壹) Hibernate(七)--- 通过Hibernate操纵对象(下)
一.与触发器协同工作: 当Hibernate与数据库的触发器协同工作时,会出现以下两类问题: 1.触发器使Session缓存中的数据和数据库中的不一致: 出现此问题的原因是触发器运行在数据库内,它执行 ...
- 数据结构之图 Part2 - 3
十字链表 简单的说就是邻接表和逆邻接表的合体,解决了原邻接表或者逆邻接表出度和入度的计算无法兼得的问题. using System; using System.Collections.Generic; ...
- EditPlus+VisualStudio配置VC简易开发环境环境
对于C++开发, 我想在Windows下大家用的最多的应该是MS的VC++.但其强大的功能背后却有着"启动速度慢","占用资源多"的缺点,尤其是VS后 ...