Lua 的 IO 框架 Luajit IO

码农软件 · 软件分类 · 高性能网络开发库 · 2019-09-01 07:59:42
  • 授权协议: BSD
  • 开发语言: Lua
  • 操作系统: 跨平台
  • 软件首页: http://luajit.io/

软件介绍

Luajit IO 是一个纯 Lua 的 IO 框架,提供 C 的高效率,简单但强大的设计,得益于 luajit 这个 JIT 引擎。可用来开发 TCP/UDP 服务器程序。

下面是连接 redis 的示例代码:

local ffi = require"ffi"
local null = ffi.new("void*")
local redis = require "resty.redis"

local function test_redis(req, rsp)
	local red = redis:new()

	-- red:set_timeout(1000) -- 1 sec

	-- or connect to a unix domain socket file listened
	-- by a redis server:
	--     local ok, err = red:connect("unix:/path/to/redis.sock")

	local ok, err = red:connect("127.0.0.1", 6379)
	if not ok then
		rsp:say("failed to connect: ", err)
		return
	end

	ok, err = red:set("dog", "an animal")
	if not ok then
		rsp:say("failed to set dog: ", err)
		return
	end

	rsp:say("set result: ", ok)

	local res, err = red:get("dog")
	if not res then
		rsp:say("failed to get dog: ", err)
		return
	end

	if res == null then
		rsp:say("dog not found.")
		return
	end

	rsp:say("dog: ", res)

	red:init_pipeline()
	red:set("cat", "Marry")
	red:set("horse", "Bob")
	red:get("cat")
	red:get("horse")
	local results, err = red:commit_pipeline()
	if not results then
		rsp:say("failed to commit the pipelined requests: ", err)
		return
	end

	for i, res in ipairs(results) do
		if type(res) == "table" then
			if not res[1] then
				rsp:say("failed to run command ", i, ": ", res[2])
			else
				-- process the table value
			end
		else
			-- process the scalar value
		end
	end

	-- put it into the connection pool of size 100,
	-- with 10 seconds max idle time
	local ok, err = red:set_keepalive(10000, 100)
	if not ok then
		rsp:say("failed to set keepalive: ", err)
		return
	end

	-- or just close the connection right away:
	-- local ok, err = red:close()
	-- if not ok then
	--     rsp:say("failed to close: ", err)
	--     return
	-- end
end

return test_redis

本文地址:https://www.codercto.com/soft/d/13620.html

程序设计方法(中文版)

程序设计方法(中文版)

Matthias Fellisen / 黄林鹏、朱崇恺 / 人民邮电出版社 / 2003-12 / 49.00元

《程序设计方法》以Scheme语言为基础介绍计算和程序设计的一般理论和实践。《程序设计方法》由8个部分和7个独立的章节(第8、13、18、24、29、33、38章)组成。8个部分主要讨论程序设计,独立章节则介绍一些与程序设计和计算相关的话题。《程序设计方法》第1至第3部分介绍了基于数据驱动的程序设计基础。第4部分介绍了程序设计中的抽象问题。第5部分和第6部分是与递归及累积相关的内容。《程序设计方法......一起来看看 《程序设计方法(中文版)》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具