微服务实战系列之MemCache

前言

书接前文,马不停蹄,博主继续书写Cache的传奇和精彩。
Redis主要用于数据的分布式缓存,通过设置缓存集群,实现数据的快速响应,同时也解决了缓存一致性的困扰。
EhCache主要用于数据的本地缓存,因无法保障数据的安全性,通常用于单节点数据的缓存。如果需要实现分布式,可以搭载Redis实现二级缓存。

今天博主带来Cache新成员:MemCache,它又有哪些独一无二的绝技呢?请各位盆友紧随博主,以防“迷路”



在这里插入图片描述

Q:什么是MemCache

看到MemCache一词,首先想到什么?内存。可见它又是一款基于内存的缓存工具。那继续看官方是如何定义的,请转向:

MemCache是一个免费开源、高性能的分布式内存对象缓存系统,旨在通过减轻数据库负载来加速动态web应用程序。
MemCache开放的API可支持Java、C/C++/C#、Perl、Python、PHP、Ruby等大部分流行的程序语言。

通过以上描述,表明MemCache支持分布式,倘若我们构建分布式缓存时,又多了一件可选择的武器。

在这里插入图片描述

既然提到了分布式,那是如何实现的呢?我们继续期待。

Q:MemCache如何实现分布式

这首先要看MemCache是如何运转的。

1. 内存机制

MemCache是一个基于内存的缓存系统,对内存的管理自然有一套严格的标准(slab负责管理),让我们把目光聚焦下图:
在这里插入图片描述
MemCache将内存空间分割为若干slab组(class),每个slab又分割为若干page(每个page默认是1M),而每个page又分为若干chunk。总结一句话:“MemCache最终把数据存于chunk中”。

MemCache为了快速管理内存和分配内存,将已使用内存和未使用内存,编制为一个链表结构。对于新加入的数据,先更新header(H);对应过期的数据,先更新Tail(T)。

为了将新加入的数据合理存储,MemCache会通过计算将其放在与其大小“相当”的slab中。因此一定程度上容忍内存“浪费”

当然鉴于MemCache的内存机制,也提出了一些基础限制。
比如单条数据(Item)最大不超1M,又比如key最大不超250字符等等,在此博主不再赘述,可以另行查阅相关文档。

2. 分布式实现

MemCache的分布式无法自己完成,通常是由MemCache客户端API负责实现。通过基于一致Hash算法,完成节点(node)匹配和节点路由(router),最终实现数据的分布式缓存。

在这里插入图片描述
这么来看,MemCache分布式是不是很简洁?博主不禁感叹:“这是一个被算法支配的世界”
当然如何安装和使用它,可以参考其他博主文章,相对简单,这里不再表述。

Q:MemCache适应场景有哪些

MemCache基于内存,必然消失于内存,比如重启服务器,针对于开发人员而言,简直是个灾难。
因此它适合存储无需持久化的数据且数据量不宜太大,因此分布式是一个很好的选择。正如“鸡蛋不宜放在同一个篮子”一样,数据也不宜放在同一个slab。


结语

MemCache作为分布式缓存的另一选项,势必为微服务提供了一定的技术可能。我们说内存一般决定性能,性能高低势必影响最终的用于体验。
如何选择合适的Cache的工具或系统,取决于业务场景和形式。抛开业务谈技术皆是耍流氓,希望各位盆友明辨取舍的关键。

好了,各位盆友,今天的话题到此结束,期待大家的反馈和分享,甚至讨论(热烈期待中…)。
在这里插入图片描述

  • 22
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Memcache是一个快速、高效的分布式内存对象缓存系统,常用于提高网站性能和减轻数据库负载。要安装Memcache,需要进行以下步骤: 1. 下载安装包:首先需要下载Memcache的安装包。可以在官方网站上找到最新的稳定版本,并选择与操作系统和服务器兼容的安装包。 2. 解压安装包:下载完成后,将安装包解压到任意目录。解压后的文件夹中应该包含了安装所需的文件和脚本。 3. 安装依赖库:在安装Memcache之前,需要确保系统中已经安装了相应的依赖库。常见的依赖库有libevent和libevent-devel,可以通过包管理器安装,如yum或apt-get。 4. 编译和安装:进入解压后的Memcache文件夹,在命令行中执行编译和安装命令。通常是执行./configure,然后执行make和make install命令。这些命令会编译和安装Memcache到系统中。 5. 配置和启动:安装完成后,需要进行一些配置和启动操作。可以编辑配置文件,设置Memcache的监听地址、端口号和缓存大小等参数。然后,启动Memcache服务,可以通过执行memcached命令或使用脚本启动。 6. 测试和验证:安装完成并启动Memcache后,可以进行一些简单的测试和验证工作。可以使用telnet或memcached客户端工具连接到Memcache服务器,并进行一些数据操作,如set、get等。 总结: Memcache的安装包实际上是一个压缩文件,包含了安装所需的文件和脚本。安装Memcache之前,需要确保系统已经安装了相应的依赖库。安装过程包括解压安装包、安装依赖库、编译和安装、配置和启动、测试和验证等步骤。安装完成后,可以使用telnet或memcached客户端工具连接到Memcache服务器,并进行数据操作。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值