首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >内存中的缓存是如何作为分布式的?

内存中的缓存是如何作为分布式的?
EN

Stack Overflow用户
提问于 2021-07-19 05:02:18
回答 1查看 23关注 0票数 0

我知道REDIS缓存是内存缓存的一个例子。但它(REDIS)也可以充当分布式缓存。

我的问题是,缓存的数据到底存储在内存缓存中的什么地方。缓存是否直接部署在应用服务器上?如果是,那么REDIS作为内存缓存是如何作为分布式的呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-19 06:16:16

基本的Redis服务器是在一台机器上运行并将数据存储在内存中的单个服务器。任意数量的客户端(应用程序)都可以连接到它并获取或更新值。应用程序和Redis可以在同一台机器上,但通常在不同的机器上(例如,多台机器与同一个Redis服务器对话)。

有几种方法可以使它变得分布式。您正在复制:每个Redis服务器都有相同数据的副本。此设置如下所示:https://redis.io/topics/replication

更有趣的分布式操作涉及多个Redis服务器,每个服务器维护不同的数据子集。这需要协调。这个设置被称为Redis集群,描述如下:https://redis.io/topics/cluster-spec。在最基本的级别上,当客户端想要读取或设置密钥时,它首先对其进行散列以获得插槽编号。每台服务器负责插槽的一个子集。客户端要么维护状态以知道哪个服务器负责哪个插槽,要么请求某个服务器,服务器会告诉它。然后,它只需使用常规的Redis命令来与此服务器就此密钥进行通信。

除此之外,还存在复杂性,因为由于故障或允许集群增长,服务器集可能会发生变化。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68433059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档