memcached 分布式缓存服务器

memcached 应用背景:针对大量重复数据请求访问,导致数据库压力变大,web访问速度变慢。在使用memcached后,服务端能通过缓存获取数据,而不需要访问数据库,从而提高网页响应效率。

memcached 分布式:memcached之间是不互相通信的,是不互相通信的分布式。服务器端并没有分布式的功能,只能基于客户端来进行分布式处理:这里写图片描述

向memcached保存数据时候的方式:
add 仅当存储空间中不存在键相同的数据时才保存
replace 仅当存储空间中存在键相同的数据时才保存
set 与add和replace不同,无论何时都保存

获取数据:get和get_multi:
一次取得多条数据时使用get_multi。get_multi可以非同步地同时取得多个键值, 其速度要比循环调用get快数十倍。
删除数据:delete

Slab Allocation机制:整理内存以便重复使用
memcached会将获取的内存分成很多个大小一定的块,然后再将这些块有序的集合成组。
这里写图片描述
-f 参数能调整slab之间的大小间距。(默认为2)

查看memcached内部状态:
Telnet 机器名 端口号

查看memcached slab使用状态:
memcached-tool 主机名:端口

删除数据机制:
memcached并不会释放已经分配出去的内存,记录超时以后,客户端没法看到已经删除的内容。其存储空间即可重复使用。(是指,客户端不能通过key取出他的值。Memcached在分配空间时,优先使用已经过期的key/value对空间,当空间占满时,Memcached就会使用LRU算法来分配空间,删除最近最少使用的key/value对,将其空间分配给新的key/value对。在某些情况下,如果不想使用LRU算法,那么可以通过“-M”参数来启动Memcached,这样,Memcached在内存耗尽时,会返回一个报错信息。)

以上都几乎是拾人牙慧,具体还是需要对memcached使用才能知道~
http://kb.cnblogs.com/page/42733/
这是别人的解析,写得很详细,可惜能力有限,后面一些东西看不懂~

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值