memcached面试专题及答案

本文详细介绍了memcached的工作原理,包括两阶段哈希、客户端哈希选择节点以及非阻塞、事件驱动的服务器架构。讨论了memcached的水平扩展性和对比MySQL查询缓存、本地缓存(如PHP的APC)的优势和不足。同时,讲解了memcached的缓存机制,如LRU和超时失效,并提出了应对节点失效和数据导入导出的策略。强调了memcached的身份验证和多线程模式,并给出了key和item大小的限制及其理由。
摘要由CSDN通过智能技术生成

memcached 是怎么工作的?
Memcached 的神奇来自两阶段哈希( two-stage hash)。 Memcached 就像一个巨大的、存储
了很多<key,value>对的哈希表。通过 key,可以存储或查询任意的数据。
客户端可以把数据存储在多台 memcached 上。当查询数据时,客户端首先参考节点列表计
算出 key 的哈希值(阶段一哈希),进而选中一个节点;客户端将请求发送给选中的节点,
然后 memcached 节点通过一个内部的哈希算法(阶段二哈希),查找真正的数据( item)。
举个列子,假设有 3 个客户端 1, 2, 3, 3 台 memcached A, B, C:
Client 1 想把数据”barbaz”以 key “foo”存储。 Client 1 首先参考节点列表( A, B, C),计算 key
“foo”的哈希值,假设 memcached B 被选中。接着, Client 1 直接 connect 到 memcached B,
通过 key “foo”把数据”barbaz”存储进去。 Client 2 使用与 Client 1 相同的客户端库(意
味着阶段一的哈希算法相同),也拥有同样的 memcached 列表&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荣华富贵8

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值