缓存之Memcached简介
2015-05-31 18:20
441 查看
前言
前篇简单较少了EnCache,本篇将介绍Memcached,之后还会将两者进行对比。
正题
一.简介
Memcached是高性能的分布式内存缓存服务器。一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性.
Memcached为key->value非关系型数据库,key为一般字串,值唯一。value除了php中的资源不能存,其它的数据都能存储(字符串、数值、数组、对象、布尔值、null、二进制<图片、视频>)
二.提速方法:
1、传统:模拟cached方法(存储到数据库时生成一份静态文件到磁盘中)
2、直接操作内存(内存表,memcached服务维持了一张内存表 hashdata)
3、CPU寄存器(最高速的,但是代价成本高)
三.特征:
1、协议简单(文本行协议)
memcached的服务器客户端通信并不使用复杂的XML等格式,而使用简单的基于文本行的协议。因此,通过telnet也能在memcached上保存数据、取得数据。
2、基于libevent事件处理
libevent是个程序库,它将Linux的epoll、BSD类操作系统的kqueue等事件处理功能封装成统一的接口。即使对服务器的连接数增加,也能发挥O(1)的性能。memcached使用这个libevent库,因此能在Linux、BSD、Solaris等操作系统上发挥其高性能。
3、内置内存存储方式
为了提高性能,memcached中保存的数据都存储在memcached内置的内存存储空间中。由于数据仅存在于内存中,因此重启memcached、重启操作系统会导致全部数据消失。另外,内容容量达到指定值之后,就基于LRU(Least Recently Used)算法自动删除不使用的缓存。memcached本身是为缓存而设计的服务器,因此并没有过多考虑数据的永久性问题
4、不互相通信的分布式
memcached尽管是“分布式”缓存服务器,但服务器端并没有分布式功能。各个memcached不会互相通信以共享信息。那么,怎样进行分布式呢?这完全取决于客户端的实现。在接下来的教程苦李将会详细介绍memcached的分布式。
前篇简单较少了EnCache,本篇将介绍Memcached,之后还会将两者进行对比。
正题
一.简介
Memcached是高性能的分布式内存缓存服务器。一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性.
Memcached为key->value非关系型数据库,key为一般字串,值唯一。value除了php中的资源不能存,其它的数据都能存储(字符串、数值、数组、对象、布尔值、null、二进制<图片、视频>)
二.提速方法:
1、传统:模拟cached方法(存储到数据库时生成一份静态文件到磁盘中)
2、直接操作内存(内存表,memcached服务维持了一张内存表 hashdata)
3、CPU寄存器(最高速的,但是代价成本高)
三.特征:
1、协议简单(文本行协议)
memcached的服务器客户端通信并不使用复杂的XML等格式,而使用简单的基于文本行的协议。因此,通过telnet也能在memcached上保存数据、取得数据。
2、基于libevent事件处理
libevent是个程序库,它将Linux的epoll、BSD类操作系统的kqueue等事件处理功能封装成统一的接口。即使对服务器的连接数增加,也能发挥O(1)的性能。memcached使用这个libevent库,因此能在Linux、BSD、Solaris等操作系统上发挥其高性能。
3、内置内存存储方式
为了提高性能,memcached中保存的数据都存储在memcached内置的内存存储空间中。由于数据仅存在于内存中,因此重启memcached、重启操作系统会导致全部数据消失。另外,内容容量达到指定值之后,就基于LRU(Least Recently Used)算法自动删除不使用的缓存。memcached本身是为缓存而设计的服务器,因此并没有过多考虑数据的永久性问题
4、不互相通信的分布式
memcached尽管是“分布式”缓存服务器,但服务器端并没有分布式功能。各个memcached不会互相通信以共享信息。那么,怎样进行分布式呢?这完全取决于客户端的实现。在接下来的教程苦李将会详细介绍memcached的分布式。
相关文章推荐
- Web缓存技术-Memcached
- memcached 项目中使用
- memcached linux安装
- Linux下memcache的安装和启动(转)
- php 配置memcache
- 分布式缓存Memcache和Redis
- MySQL中InnoDB的Memcached插件的使用教程
- MySQL中InnoDB的Memcached插件的使用教程
- MSM--Memcached_Session_Manager介绍及使用
- memcache同步session的方法
- Linux Memcache 查看列出所有key方法
- 为基于 MAC OS X 的 php 开发环境安装 memcache
- 用memcache存取session
- redis简介以及与memcached比较
- (tengine+keepalived)+(apache+tomcat)+memcached+mysql实现高可用、负载均衡、可扩展架构
- Ubuntu配置Memcached和PHP扩展
- memcached内存分配机制
- memcached介绍和基本命令
- memcached缓存的执行过程
- zabbix之固定端口监控redis ,zabbix监控memcached