1、解析16进制编码的中文参数
local encodeStr = "%E6%B0%94" local decodeStr = ""; for i = 2, #encodeStr - 1, 3 do local num = encodeStr:sub(i, i + 1); num = tonumber(num, 16); decodeStr = decodeStr .. string.char(num); end ngx.say(decodeStr)
2、类似replace
local str = "a1b1c1d" local result = string.gsub(str,"1","2") --将1替换成2
3、直连mysql
local mysql = require "resty.mysql" local db = mysql:new() db:connect{ host = "10.10.3.218", port = 3306, database = "test_db", user = "root", password = "123456", max_packet_size = 1024*1024 } local result = db:query("SELECT ID,NAME FROM TABLE") ngx.say(result[1]["ID"]) ngx.say(result[1]["NAME"])
4、直接Redis
local redis = require "resty.redis" local cache = redis.new() cache.connect(cache,"10.10.3.208", "6379") local result = cache:get("key")
5、使用管道
local redis = require "resty.redis" local cache = redis.new() cache.connect(cache,"10.10.3.208", "6379") cache:init_pipeline() for i=1,10 do cache:get("key") end local res = cache:commit_pipeline() for j=1,#res do ngx.say(res[j]) end
6、计算一共有多少页
local totalPage = math.floor((totalRow+pageSize-1)/pageSize)
原文:http://www.cnblogs.com/kgdxpr/p/3641383.html