memcache

它是一个高性能的分布式的内存对象缓存系统,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等,用于在动态应用中减少数据库负载,提升访问速度。

memcached是什么?它是一个应用软件,是作为缓存服务器的服务器端运行在服务器上,需要使用特定的语言编写客户端与其进行通信来进行数据的缓存和获取。

memcached的内存分配和重用机制:它采用预申请的方式管理内存分配,目的是提高性能、防止内存碎片化,page为内存分配最小单位(默认1M),slab划分数据空间,page申请是依赖于slab区域来申请,memcached不是将所有大小的数据放在一起的,而是预先将数据空间划分为一系列的slabs,每个slab只负责一定范围内的数据存储,默认下一个slab的最大值为前一个的1.25倍。chunk才是存放缓存数据的单位,例如slab1的所有chunk都是104byte。
slab:内存块是memcached一次申请内存的最小单元,在memcached中一个slab的默认大小为1M;
slabclass:特定大小的chunk的组。
chunk:缓存的内存空间,一个slab被划分为若干个chunk;
item:存储数据的最小单元,每一个chunk都会包含一个item;
factor:增长因子,默认为1.25,相邻slab中的item大小与factor成比例关系;

magent是什么?使用它可以搭建高可用性的集群memcached服务。
magent采用的是:Consistent Hashing。
Consistent Hashing原理:首先求出memcached服务器(节点)的哈希值, 并将其配置到0~232的圆(continuum)的一些分布均匀的点上。 然后用同样的方法求出存储数据的键的哈希值,并映射到圆上。然后从数据映射到的位置开始顺时针查找,将数据保存到找到的第一个服务器上。 如果超过232仍然找不到服务器,就会保存到第一台memcached服务器上。

启动memcache命令
memcached -d -m 256 -u root -l 192.168.0.215 -p 12000 -c 256 -P /tmp/memcached.pid
-m:最大内存,-f:指定slab的增长因子
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值