MongoDB lua driver
唔,我知道有人已经做了 MongoDB 的 lua driver ,比如这个 。但我不想仅仅是对 C++ API 的封装,而想从协议层做起,这样日后可以方便改为异步模型,也好整合到 skynet 中去。
这里还有一份纯 Lua 的实现,是从协议层做的封装。但有几个问题,一是依赖 lua-socket 库,二是纯 lua 实现不如 C 库性能好,三是特性没有支持完整。
我曾经想在 C Driver 的基础上做封装。做的过程中发现 c driver 代码质量不高,且特性支持不完整,最终我考虑自己从协议层开始重新做一份。
mongo 的文档不算完整,我感觉协议定义也不是很严谨。所以在实现过程中遇到许多麻烦。原本认为一天能写完的,结果做了三天。今天终于可以发布一个初步的版本了。
https://github.com/cloudwu/lua-mongo
制作这个 driver 的思路是,把 bson 的编解码部分完全独立开,放到另一个项目 lua-bson 中。
这样,以后为 skynet 做特别版可以更灵活一些。因为 skynet 需要一个异步模型,bson 包的打包过程和 mongo 的 driver 可能在不同的 lua state 完成。
性能相关的部分我想放到 C 代码中完成,但 C 代码只提供最基本的 api ,功能性需求用 lua 实现即可。
目前只是一个初步的东西。因为我几乎没有用过 MongoDB ,对它的了解仅限于对协议的研究。希望有熟悉 mongo 的同学可以协助我来完善这个 driver 。
Comments
Posted by: 游优 | (9) September 29, 2017 04:44 PM
Posted by: 2341 | (8) June 24, 2015 11:57 AM
Posted by: boyxuper | (7) March 24, 2015 10:58 AM
Posted by: Cloud | (6) December 25, 2014 07:40 PM
Posted by: 过海漂 | (5) December 23, 2014 05:35 PM
Posted by: lyxmoo | (4) June 25, 2013 10:52 AM
Posted by: 深圳翻译公司 | (3) June 21, 2013 02:36 PM
Posted by: 深圳翻译公司 | (2) June 21, 2013 02:34 PM
Posted by: 您到底要做什么? | (1) June 19, 2013 02:32 PM