12 2017 档案
golang动态加载原生代码思路
摘要:update: 实现在此,欢迎star: https://github.com/dearplain/goloader 实现后的一些介绍:http://www.cnblogs.com/dearplain/p/8543804.html golang动态加载原生代码思路(非plugin,非so文件。使用m 阅读全文
posted @ 2017-12-30 11:55 dearplain 阅读(6750) 评论(0) 推荐(1)
boltdb的实现和改进
摘要:整个代码不是很复杂,可以从代码中理解如何实现。 特点:btree,很小巧,但实现了完整事务机制,稳定,即使丢电也不会导致数据库错误。 整个结构如下: meta page (前两页) > freelist page (第三页) | > bucket page (属于leaf page 开始是第4页) 阅读全文
posted @ 2017-12-09 16:02 dearplain 阅读(2048) 评论(2) 推荐(0)
如何保证数据掉电不损坏?
摘要:1. 建议使用ext3 ext4等日志式文件系统,并打开journal。 2. 文件系统无法保证write是原子的,所以,建议直接使用一些优秀的数据库保存数据或者配置,比如sqlite。 sqlite可以考虑打开synchronous = FULL, fullfsync = 1。如果还是出现文件损坏 阅读全文
posted @ 2017-12-06 17:15 dearplain 阅读(1127) 评论(0) 推荐(0)