c++ 网络库mongols-1.2.0已经发布。
主要更新:
- 为nosql服务器medis_server添加lua脚本支持指令
- 优化线程池
- 优化tcp_threading_server
- 优化信号处理
例子:
可以用redis-cli与medis_server进行交互,如下:
LUACONTENT "local JSON = require('JSON') local t =JSON:encode({a=medis.ARGS[4],b=2,{c=4}}) medis.CMD('SET',medis.ARGS[3],t)" lua 100
LUASCRIPT 'html/lua/medis.lua' lua Tom
local echo=require('echo') medis.CMD('SET',medis.ARGS[3],echo.concat('hello,',medis.ARGS[4])) medis.RESULT={a='hello',b='world',1,3.5,'test'}
简介:
mongols是C++ 服务器基础设施库, 它的主要特性如下:
- tcp 服务器
- http 服务器
- websocket 服务器
- web 服务器
- leveldb 服务器
- lua 服务器
- sqlite 服务器
- medis 服务器
以上所有服务器均通过epoll机制实现,并且支持多线程化。
mongols不依赖于任何事件库,其并发性能却强于著名的libevent、libev和libuv。
下图为普通的helloworld测试:
下图为nginx欢迎页测试(比较于nginx):
而且,它提供非常友好的开发接口,使得任何试图基于tcp、resp或http协议开发高性能网络服务器的开发者都能够轻易地完成工作。
仓库:https://github.com/webcpp/mongols
文档:https://mongols.hi-nginx.com
转自 https://www.oschina.net/news/100500/mongols-1-2-0-released