memched1.0源码阅读(1)——介绍
2016-05-30 17:30
239 查看
1、介绍
memched是一个高性能的分布式内存对象缓存系统。它通过在内存中数据来减少磁盘io的次数。memched是一个基于键值对存储的hashmap。
memched可以在内存中存储任意数据,每块数据被称为一个对象(item),它有两个部分组成:key和value。
memched基于libevent开发,使用了
JudySL http://judy.sourceforge.net/这个第三方库(我不知道其他版本还有没有使用这个库,在1.0版本中使用了这个库)。网络通信部分交给libevent处理,而数据存储部分则交给了JudySL来处理。
memched中的内存分配和回收由slabs分配器实现。slabs内存分配器类似于Linux中的slabs内存子系统(想了解Linux的slabs子系统可以自行查看相关文档)
2、启动
启动memched时使用的命令:
-d 以守护进程的方式运行memched
-m 设置memched可以使用的内存的大小,单位是MB
-l 设置监听的ip地址,通常不用设置
-p 设置监听的端口,默认在11211监听
-u 指定用户
-f 设置增长因子(目前还不大懂)
3、用法
memched的几种用法:
(1)存储。相关命令set、add、replace。告诉服务器存储一些由键值对标识的数据。客户端发送一行命令,后面跟着数据块;
(2)读取。相关命令get。告诉服务器返回由键值指定的数据。
(3)删除。相关命令delete。告诉服务器删除某个对象。
(4)查询状态。相关命令stat。查询服务器的状态。
(5)其他命令。version、quit等命令。
4、命令的详细用法
(1)存储命令
<command> <key> <flags> <exptime> <bytes>
<data block>
command:是set(不存在的时候增加、存在的时候替换)、add(不存在的时候添加)、replace(替换)等
key:关键字
flags:其他的一些标志
bytes:数据块的长度(字节数)
Data block:数据块
(2)读取命令
<command> <key1 key2 ...>
command:就是get
key:要读取的数据的关键字,可以包含多个关键字,使用空格隔开
(3)删除命令
<command> <key>
command:delete
key:要删除的对象的关键字
memched是一个高性能的分布式内存对象缓存系统。它通过在内存中数据来减少磁盘io的次数。memched是一个基于键值对存储的hashmap。
memched可以在内存中存储任意数据,每块数据被称为一个对象(item),它有两个部分组成:key和value。
memched基于libevent开发,使用了
JudySL http://judy.sourceforge.net/这个第三方库(我不知道其他版本还有没有使用这个库,在1.0版本中使用了这个库)。网络通信部分交给libevent处理,而数据存储部分则交给了JudySL来处理。
memched中的内存分配和回收由slabs分配器实现。slabs内存分配器类似于Linux中的slabs内存子系统(想了解Linux的slabs子系统可以自行查看相关文档)
2、启动
启动memched时使用的命令:
-d 以守护进程的方式运行memched
-m 设置memched可以使用的内存的大小,单位是MB
-l 设置监听的ip地址,通常不用设置
-p 设置监听的端口,默认在11211监听
-u 指定用户
-f 设置增长因子(目前还不大懂)
3、用法
memched的几种用法:
(1)存储。相关命令set、add、replace。告诉服务器存储一些由键值对标识的数据。客户端发送一行命令,后面跟着数据块;
(2)读取。相关命令get。告诉服务器返回由键值指定的数据。
(3)删除。相关命令delete。告诉服务器删除某个对象。
(4)查询状态。相关命令stat。查询服务器的状态。
(5)其他命令。version、quit等命令。
4、命令的详细用法
(1)存储命令
<command> <key> <flags> <exptime> <bytes>
<data block>
command:是set(不存在的时候增加、存在的时候替换)、add(不存在的时候添加)、replace(替换)等
key:关键字
flags:其他的一些标志
bytes:数据块的长度(字节数)
Data block:数据块
(2)读取命令
<command> <key1 key2 ...>
command:就是get
key:要读取的数据的关键字,可以包含多个关键字,使用空格隔开
(3)删除命令
<command> <key>
command:delete
key:要删除的对象的关键字
相关文章推荐
- SharePoint Server2016的User Profile Services服务
- 判断 网络状态
- xcode6如何调试定位错误
- 割点和桥问题 poj1144模板题
- a 标记点击后通过ajax返回的布尔值结果进行判断是否在新窗口打开链接
- Intellij IDEA使用MAVEN打包丢失代码源文件夹下配置文件
- 局部变量中使用到继承纯虚类的异常现象
- C语言函数变参问题
- WinXP系统服务详细列表
- 五大常用算法之四:回溯法
- 五大常用算法之五:分支限界法
- 五大常用算法之二:动态规划算法
- 五大常用算法之一:分治算法
- c++控制台程序实现定时器
- Oracle sqlplus设置显示格式命令详解
- setAttribute()、getAttribute()与ele[attr]与自定义属性
- Android Bluetooth蓝牙技术基础讲解
- 欢迎使用CSDN-markdown编辑器
- [leetcode] 【链表】 82. Remove Duplicates from Sorted List II
- JiBX1.2 处理XML