gpt4 book ai didi

caching - 由同一应用程序的多个实例共享 redis 实例

转载 作者:可可西里 更新时间:2023-11-01 10:53:33 27 4
gpt4 key购买 nike

我们被要求在使用 redis 的应用程序中实现缓存。应用程序应具有在启动时清除缓存 并对其进行初始化的逻辑。但是,redis 实例可以由应用程序的多个实例共享。

例如应用程序 X 有两个实例 X0X1 共享同一个 redis 实例。

问题: 对于多个实例,一个实例可能会尝试初始化缓存,而另一个实例正在清除缓存。

两个问题

1) 如何确保在初始化缓存时,其他实例不会清除它。

解决这个问题的一种方法是在redis中维护一个标志来检查它是否正在被清除或初始化。如果正在初始化缓存,请不要清除或重新初始化它。

2) 由多个应用程序实例共享 redis 实例是好的做法吗?

最佳答案

一般来说,共享redis不是一个好主意。如果您只有有限数量的应用程序实例,最好为每个创建一个单独的 Redis 进程。 Redis 是轻量级的,因此在同一台服务器上的不同部分上运行的多个进程在实践中效果很好。

如果您不能安装多个进程,您可以为每个实例设置 1 个数据库。 Redis 默认允许 16 个数据库。然后您可以独立刷新每个数据库。请记住,不鼓励使用 redis 中的数据库,并且已在 redis 集群中停用它们。

关于caching - 由同一应用程序的多个实例共享 redis 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49714221/

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