memcache-介绍

来源:互联网 发布:win平板必备软件 编辑:程序博客网 时间:2024/05/16 10:07

Memcached 介绍

Memcached 是一个高性能,分布式内存对象key-value缓存系统,具备通用性,存在的目的是为动态web查询加速,并减轻数据库的负担。站点首次从RDBMS中获取数据保存到memcached,第二次就会从memcached中获得数据渲染页面。


memcached为了防止内存碎片,做了什么处理?

memcached为了减少内存碎片,它把内存事先分割成固定大小的几个区(slab),每个区里再分割相同大小的块(chunk)。在使用memcached的添加缓存值时,它自动选择合适的chunk来储存信息,大的value用大的chunk,小的value用小的chunk。

slab的大小由 memcached能使用的内存和增长比例(growth factor,默认1.25)来决定。启动memcached时,分别可以使用-m和-f参数来设定。

memcached这样做只是能减少内存碎片,但还是会有内存碎片,内存碎片是不可以避免的。


key,value数据长度限制

key-value缓存系统,其中每个缓存有一个独特的名字和存储空间,key是操作数据的唯一标识。其对memcached的key value长度都有限制

key 长度不能超过255字符长度

value 长度不能超过1024 * 1024字符长度(即 1M)

注:在新版开发计划中提到key可能会扩充到65535个字节


flag标识作用?

flag是"标志"的意思,可以用此参数来标志内容的类型.

长度为:0-2^16-1  #2^16=65536


数据类型存储约束

memcached存储的数据形式只能是字符串.

如果要存储其它类型,比如数组类型则需要序列化。同时取出数据是则需要反序列化其通过flag来判断取出来的数据类型


expire时间参数,默认是30天

单位:秒(s)

如果expire<=30*24*60*60,则代表自当前时间的偏移。2592000秒一个月的时间

即在time()+expire秒内有效.

如果expire >30 * 24 * 60 * 60 ,则直接代表时间戳.

即在1970年+expire秒以内有效.

如果expire=0,则设置数据永不过期


bytes参数设置

key要准备存储的字节长度

Memcached 启动

-p <num>              监听的TCP端口 (缺省: 11211)

-d                  以守护进程方式运行Memcached

-u <username>       运行Memcached的账户,非root用户

-m <num>             最大的内存使用, 单位是MB,缺省是 64 MB

-c <num>                     软连接数量, 缺省是 1024

-v                         输出警告和错误信息

-vv                       打印客户端的请求和返回信息

-h                         打印帮助信息

-i                          打印memcached和libevent的版权信息

-f 设置slab增长因子



0 0
原创粉丝点击