欢迎大家赞助一杯啤酒🍺 我们准备了下酒菜:Formal mathematics/Isabelle/ML, Formal verification/Coq/ACL2, C++/F#/Lisp
Memlink/developer
来自开放百科 - 灰狐
Memlink 开发者
目录 |
API
目前,memlink支持的客户端库,有c,python,php,java这四种。python,php,java客户端实际上是利用c客户端来做成不同语言的模块。因此c以外语言的客户端同样可以达到很高的性能。 详细信息
工作方式
MemLink是一个独立的服务程序,类似于memcached,不同的是它并不是提供key-value数据的存储,而是在内存中存储的是列表数据。
具体结构
- 线程工作方式
- Hash
- 数据存储
- 数据操作
- 数据存储空间的回收
- 数据dump
日志记录
日志记录方式为记录所有的写操作的日志。在写操作完成的时候记录,记录成功后才给客户端返回成功。
日志文件名为bin.log.xxx。其中的xxx为自增的版本号。日志文件在dump操作完成后会新生成一个日志文件,文件名中版本号自动加一。如果日志文件中的索引号用完,也会新生成一个日志文件。
主从同步
MemLink支持一个主,多个从的同步模式。
客户端协议
客户端协议是指使用者用php,c等语言写的程序连接上MemLink进行操作使用的协议。我们这里支持的是文本方式的协议,基本结构类似memcached的客户端协议。
命令编号
有客户端命令以及同步命令,对应都有一个命令编号。
启动流程
Server启动流程
配置信息
程提供了多个配置项
性能
Memlink用于持久化存储论坛中forum=>thread list,thread=>post list数据,下面对比了不同数据存储引擎存储上述逻辑关系的查询性能和内存开销。详细信息
链接
- 详细信息请访问: MemLink详细设计文档
<discussion>characters_max=300</discussion>
分享您的观点