Memcache相关
来源:互联网 发布:矩阵计算法则 编辑:程序博客网 时间:2024/05/16 23:56
原理:
许多 cache 工具类似,Memcached 的原理并不复杂。它采用了C/S的模式,在 server 端启动服务进程,在启动时可以指定监听的 ip,自己的端口号,所使用的内存大小等几个关键参数。一旦启动,服务就一直处于可用状态。Memcached 的目前版本是通过C实现,采用了单进程,单线程,异步I/O,基于事件 (event_based) 的服务方式.使用 libevent 作为事件通知实现。多个 Server 可以协同工作,但这些 Server 之间是没有任何通讯联系的,每个 Server 只是对自己的数据进行管理。Client 端通过指定 Server 端的 ip 地址(通过域名应该也可以)。需要缓存的对象或数据是以 key->value 对的形式保存在Server端。key 的值通过 hash 进行转换,根据 hash 值把 value 传递到对应的具体的某个 Server 上。当需要获取对象数据时,也根据 key 进行。首先对 key 进行 hash,通过获得的值可以确定它被保存在了哪台 Server 上,然后再向该 Server 发出请求。Client 端只需要知道保存 hash(key) 的值在哪台服务器上就可以了。
其实说到底,memcache 的工作就是在专门的机器的内存里维护一张巨大的 hash 表,来存储经常被读写的一些数组与文件,从而极大的提高网站的运行效率。
Memcache使用一致性哈希算法实现分布式缓存
注意点:
传输采用单进程,非阻塞的网络IO,LIBEVENT
基于libevent的事件处理
libevent是一套跨平台的事件处理接口的封装,能够兼容包括这些操作系统:Windows/Linux/BSD/Solaris 等操作系统的的事件处理。
包装的接口包括:
poll、select(Windows)、epoll(Linux)、kqueue(BSD)、/dev/pool(Solaris)Memcached 使用libevent来进行网络并发连接的处理,能够保持在很大并发情况下,仍旧能够保持快速的响应能力。
libevent: http://www.monkey.org/~provos/libevent/
参考资料:
http://wenku.baidu.com/view/13e51c2de2bd960590c6770c
http://blog.csdn.net/shagoo/article/details/1845625
- memcache相关
- memcache 相关
- Memcache 相关
- Memcache相关
- MemCache相关资料收集
- memcache的相关问答
- memcache相关基础
- Memcache 相关介绍
- memcache相关安装
- memcache和memcached相关
- Memcache相关学习
- memcache 的相关使用
- memcache相关信息
- mongodb ,redis,memcache 相关比较
- PHP学习之memcache集群相关
- PHP相关系列 - PHP Memcache类
- tomcat memcache session 共享配置相关
- Memcache
- ubuntu下更改分辨率
- [Matlab]科研中的心得(updating)
- linux永久添加新路径
- 经典收藏 50个jQuery Mobile开发技巧集萃
- 4.3.1 位置变化动作
- Memcache相关
- CCMoveBy和CCMoveTo有什么区别?
- android soundrecorder之一 linux alsa 音频架构
- Eclipse 配置 Heritrix 1.14.4
- 如何用Java进行3DES加密解
- DisplayObject简介
- Android源码架构介绍
- mvc jquery 表单提交
- The best way to check the GC status