gpt4 book ai didi

java - 客户端是否需要担心多个内存缓存服务器?

转载 作者:可可西里 更新时间:2023-11-01 10:00:38 26 4
gpt4 key购买 nike

问题:-Java 客户端是否需要担心多个服务器?

含义:-我在 memcached 客户端中提供了两个服务器,但是当我设置或从缓存中获取 key 时,我是否需要向它提供任何服务器相关信息或 memcache 本身会处理它?<​​/p>

我的知识:-由于一致的散列,内存缓存本身会小心。

但是 spymemcached 2.8.0 是否提供一致的哈希???

最佳答案

Memcached 服务器是池化 服务器。这意味着您定义了一个服务器池(列表),当 Java 客户端尝试写入时,它会写入该池。

客户端的工作是决定池中的哪个服务器将接收和存储值以及它将如何从该池中检索值。

基本上,这允许您从一台 Memcached 服务器(可能在同一台机器上)开始,如果到了紧要关头,您可以在不触及应用程序代码的情况下向池中添加更多服务器。

由于客户端负责在服务器池中分发数据(客户端必须选择正确的 memcached 服务器来存储/获取数据),因此分发算法很少。

最简单的一个是 modula .该算法根据池中的 memcached 服务器数量分配 key 。如果池中的服务器数量发生变化,客户端将无法找到存储的数据,就会出现缓存未命中。在这种情况下,最好使用 consistent hashing .

最流行的 java memcached 客户端 spymemachedxmemcached支持一致性哈希。

在某些用例中,不是直接使用 memcached 客户端,而是可以使用 simple-spring-memcached 通过 AOP(拦截器)将缓存添加到 spring 应用程序中或 Spring 3.1 Cache Abstraction . Spring Cache 目前不支持 memcached 但 simple-spring-memcached提供这样的integration在快照构建和即将发布的 3.0.0 版本中。

关于java - 客户端是否需要担心多个内存缓存服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11116293/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com