memcahched部署方案

本文深入探讨了Memcached——一种高性能的分布式内存对象缓存系统。它通过在内存中缓存数据和对象来减少数据库读取次数,显著提升动态网站的运行速度。文章详细解释了Memcached的工作机制,包括其独特的两阶段哈希结构和如何通过代理实现数据的主从备份。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Memcached特性

1.1 简介

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

1.2 工作机制

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

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

1.3无代理分布式缓存部署

 

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

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

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

1.4代理分布式缓存部署

 

 

利用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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值