【Memcached】集群搭建——Memcached

来源:互联网 发布:免费看书软件 编辑:程序博客网 时间:2024/05/21 10:19

前几天,在张晗的带领下,我们开始研究Memcached的集群,跟着张晗这样的大牛混,要把握好这个学习的机会啊。但是一上来,就被这个东西搞晕了。首先,我不知道Memcached的这个东西,也不知道集群是怎么回事啊,只是听大家讲课的时候谈到过这一块的内容。所以,任务落到了自己身上,感觉好兴奋啊!


【Memcached】

首先介绍一下,Memcached。在上篇博客中,我们简单介绍了Cache的分类,但没有进行详细的总结。

memcached是属于一种服务端缓存中的数据缓存,它是一个开源的高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库的负载,它通过在内存中缓存数据对象来减少对数据库的读取次数,从而提高动态,数据库驱动网站的速度。

这个意思就是说,当网站发出数据请求的时候,第一次我们从数据库读取,并同时写入到Memcached中一份,然后当我第二次读取的时候,我直接从Memcached读取,不用去数据库读取了。

Memcached原理


【Memcached的特点】

1、协议简单

通过简单的基于文本行的协议来进行通信,通过命令行使用Telnet来连接Memcached的服务器,并在服务器上保存数据,获取数据。

2、基于libevent的事件处理

对于libevent这个东西还不是太了解,只是知道它是作为底层的事件触发网络库而被广泛应用。它可以做到跨平台使用。Memcached的通过使用Libenvent库实现网络连接服务,在保守情况下,Memcached的最大同时连接数为200。但是,根据系统线程能力的大小,这个数值也是可以调整的。

3、内置内存存储方式

Memcached它有自己的一套内存分配算法和管理方式,和共享内存没有太大关系,通常情况下,每个memcached的进程可以管理2GB的内存空间。详情请见《Memcached的内存机制》

4、memcached不互通信的方式

虽然,memcached的是一个分布式内存对象缓存系统,但是服务端并没有分布式功能,各个memcached的之间不会互相通信,已达到共享信息。例如,我有3台memcached服务器,每台服务器上存有相同的数据,现在我有100个用户去访问数据,我根据一定的读取算法,设置30个人去访问服务器1, 30个人访问服务器2,剩下的40个人呢,访问服务器3。如果中间服务器2坏掉了的话,那原本访问服务器2的30个人,不会自动转移到其他服务器读取。但是,我们可以通过客户端来完成这种功能,实现分布式。


【Memcached不足】

1、易丢失

Memcached使用内存来管理数据,当服务器重启的时候,或者进程中止,数据变会丢失,它不能够持久保存数据。

2、缺乏认证以及安全管制

连接Memcached的不需要用户名和密码,在同一局域网内,任何人都可以连接。

3、内部之间不互相通信


【总结】

第一次开始接触Memcached的时候,是贵贵讲课,那个时候,没有听清她说的是啥,然后百度的时候,就摆成了Memcache,那时候不清楚到底应该是什么?然后就看了一下Memcache和Memcached他们之间的区别。才知道,memcache和memcached实际上是两个不同的扩展版本,但对于前者来说,已经很久没有更新了,大多都是用后者。

0 0
原创粉丝点击