使用Spring Cloud进行数据库缓存(或通常在微服务之间维护一致的列表)

问题描述 投票:1回答:0

总的来说,我对Spring Cloud和微服务还很陌生,这是我一直在努力理解的概念。

假设我有一个连接到mongo数据库的微服务X,并且已经使用@EnableCaching批注启用了Spring缓存。 我已经进行了设置,以便每当我将对象保存/持久保存到mongo时,它也会被添加到我的缓存中( @cachePut ),同样,当我从mongo中删除一个对象时,它也会从缓存中被删除( @CacheEvict )。

如果我有一个微服务X实例,那么一切都很好,但是如果我站了50个微服务X实例,会发生什么呢? 它们是否都共享相同的缓存,如果可以的话,它如何工作? 如果它们都有各自的缓存,那么如果将objectA添加到一个实例的缓存和数据库中,然后又将其从另一个实例中删除,该怎么办? 即使已将对象A从mongo中删除,它也仍将位于第一个实例的缓存中。

希望有人可以解决这个问题

spring microservices spring-cloud spring-cache
© www.soinside.com 2019 - 2024. All rights reserved.