memcahched部署方案

Memcached特性

1.1 简介

Memcached是一个高性能的分布式内存对象缓存系统,用于减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hash map。

1.2 工作机制

Memcached的高性能源于两阶段哈希(two-stage hash)结构。Memcached就像一个巨大的、存储了很多<key,value>对的哈希表。通过key,可以存储或查询任意的数据。

客户端可以把数据存储在多台Memcached上。当查询数据时,客户端首先参考节点列表计算出key的哈希值(阶段一哈希),进而选中一个节点;客户端将请求发送给选中的节点,然后Memcached节点通过一个内部的哈希算法(阶段二哈希),查找真正的数据(item)并返回给客户端。从实现的角度看,Memcached是一个非阻塞的、基于事件的服务器程序。

1.3无代理分布式缓存部署

 memcahched部署方案

l  多台Memcached可以提高数据响应时间;

l  每个Memcached服务存储部分缓存数据;

l  其中一台服务宕机则对应数据丢失,无法恢复;

1.4代理分布式缓存部署

 memcahched部署方案

 

利用magent代理memcached实现主从备份来保证缓存数据完好无损;

1.magent每次写数据都会写到主memcached和从memcached上,并且向主从memcached写的算法一样;

2.当主memcached宕掉,magent会向从memcached中读取数据;

3.当主memcached恢复后,magent将重新向主memcached中读数据;此时由于主memcached刚恢复,其中并无数据,因此会导致部分数据无法读取,这也是magent的一大缺点。

转载于:https://www.cnblogs.com/atwanli/articles/6943551.html