memcach的原理
概念:Memcached是国外社区网站LiveJournal的开发团队开发的高性能内存缓存服务器,通过缓存数据库的结果,减少数据库访问次数,以提高动态WEB的速度,提高可扩展性;
运行过程:浏览器首次访问读取的是数据库中的数据,返回的同时保存到memcached中;第二次以后直接访问memcached
数据存储方式:Slab allocation:基本原理是先把内存安装指定的大小分割成特定长度的块,并把内存相同的块分成组,以完全解决内存碎片问题;
1、page:分配给slab的内存空间,默认是1M,分配给slab之后,根据slab的大小分配成chunk;
2、chunk:存储数据的内存空间
3、class:特定大小的chunk的分组
memcached收到数据后选择最合适的chunk缓存数据,memcached中保存着空闲的chunk列表,根据该列表选择chunk缓存数据;
slab的缺点:由于是分配了固定大小的内存,因此无法充分利用内存,所以比如在128字节的内存中存储100字节的数据,剩下的28个字节的内存就浪费了。
数据过期方式:Lazy Expiration +LRU
Lazy Expiration (懒到期): memcached不会在内部监视数据是否过期,而是在get的时候查看数据上的时间戳,检查记录是否过期;因此memcached不会在过期监视上消耗CPU时间;
LRU(最近最少使用机制):memcached优先使用过期记录的空间;但即使如此也会发生追加新纪录时空间不足的情况出现,此时就要使用最近最少使用机制来分配内存空间
因此,当memcached的内存不足时而且又无法总class中获得内存时就会通过最近最少使用机制搜索记录,并将这些记录删掉,将内存分配给新增的记录。
应用程序---》客户端程序分布式算法----》多个memcached;
memcached的一些特性和限制:
memcached中保存的数据量没有限制,只要内存足够;
memcached最大内存使用是2G,要使用更多的内存可以分多个端口开启多个memcached进程
最大30天的数据过期时间,设置为永久的也会在这个时间过期;
最大键长是250个字节,超过该值无法存储;
单个item的最大长度是1MB,超过1MB的数据不予存储;他是默认的slab大小
最大连接数是200,最大软连接数是1024
相关推荐
在终端(也即cmd命令界面)下输入 ‘c:\memcached\memcached.exe -d install’ 安装 3. 再输入: ‘c:\memcached\memcached.exe -d start’ 启动。NOTE: 以后memcached将作为windows的一个服务每次开机时自动启动...
memcached 64位 window memcached 64位 window memcached 64位 window
memcached, libevent, MemCachedClient
安装Memcached及Memcached配置
memcached安装软件 libevent-2.0.21-stable.tar.gz magent.tar.gz memcached-1.4.15.tar.gz
python-memcached python-memcached
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的...
MemCached For Win32 服务器 -p 监听的端口 -l 连接的IP地址, 默认是本机 -d start 启动memcached服务 -d restart 重起memcached服务 -d stop|shutdown 关闭正在运行的memcached服务 -d install 安装memcached服务 -...
使用memcached 方法 package com.war.common.util; import com.danga.MemCached.*; import java.util.Date; public class MemCached { protected static MemCachedClient mcc; protected static Logger log; ...
memcached可视化工具memadmin,memcached可视化工具memadmin
memcached的基本设置: -p 监听的端口 -l 连接的IP地址, 默认是本机 -d start 启动memcached服务 -d restart 重起memcached服务 -d stop|shutdown 关闭正在运行的memcached服务 -d install 安装memcached服务 -d ...
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的...
memcached.exe及memcached.dll
memcached协议中文版 memcached协议中文版 memcached协议中文版
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载,很好的提高了Web性能。Memcached需要有缓存服务端,采用java编程的话还需要memcached.jar,这就是java中实现memcached服务的...
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的...
安装Memcached及Memcached配置
到memcached根目录 1、安装:memcached.exe –d install 2、启动:memcached.exe -d start 此时memcached已经注册为开机启动服务完成安装。 使用参数: -p 监听的端口 -l 连接的IP地址, 默认是本机 -d start 启动...
Memcached 统计与监控,用telnet去连接memcached,并统计和监控memcached
memcached 安装文件,libevent库, C/C++ memcached 客户端库:libmemcached 全套工具:libevent-1.3.tar.gz,memcached-1.2.2.tar.gz,libmemcached-0.42.tar.gz 测试通过的