memched1.0源码阅读(1)——介绍
来源:互联网 发布:c语言输出最大公约数 编辑:程序博客网 时间:2024/06/13 21:49
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:要删除的对象的关键字
0 0
- memched1.0源码阅读(1)——介绍
- memched1.0源码阅读(2)——基础数据结构
- memched1.0源码阅读(3)——运行流程
- memched1.0源码阅读(4)——事件的处理流程
- Horizon 源码阅读(一)—— Horizon 整体介绍
- Horizon 源码阅读(一)—— Horizon 整体介绍
- FAAC源码阅读(1)——AAC和音频编码的介绍
- FAAC源码阅读(1)——AAC和音频编码的介绍
- spring源码阅读1——环境搭建&阅读方法
- LevelDB源码阅读(1)—— SSTable的生成
- JDK源码阅读——ArrayList(1)
- Kafka源码阅读 —— KafkaController(1)
- Spring源码阅读(十二)—事务
- cJSON代码阅读(1)——JSON介绍
- DC4C代码阅读(1)——介绍
- Diksam代码阅读(1)——Diksam介绍
- flume源码阅读-总体介绍
- flume源码阅读-总体介绍
- Android Bluetooth蓝牙技术基础讲解
- JavaScript高级程序设计(读书笔记)(六)
- RxJava(六) retryWhen操作符实现错误重试机制
- 协同过滤之ALS-WR算法
- 割点和桥问题 poj1144模板题
- memched1.0源码阅读(1)——介绍
- a 标记点击后通过ajax返回的布尔值结果进行判断是否在新窗口打开链接
- iOS测试远程推送工具SmartPush-master
- android之onNewIntent()用法
- xcode6如何调试定位错误
- 查验身份证号是否合法
- JAVA集合
- 第三章数据库索引技术
- 网站收藏