两个不同版本的应用程序(调试和发布)共享相同的Redis实例。 Debug和Release都有相同的源代码,因此存储在Redis中的缓存密钥相同。
因此,当Debug redis.StringSet(key1, value1)
Release时,很容易覆盖key1
或读取不正确的值(因为它应该有自己的key1
)。
有没有办法避免这种干扰?
答案 0 :(得分:6)
不要这样做 - 分享很糟糕。每个环境旋转一个Redis实例,每个服务器的开销都可以忽略不计。
答案 1 :(得分:2)
在同一Redis实例中使用两个数据库。 SELECT指令允许您选择要使用的实例。 可以通过环境变量为您的应用程序提供数据库的编号,因此应用程序实例的应用程序代码保持不变。
答案 2 :(得分:1)
另一种方法是为您的密钥提供一个通用的命名模式(前缀),并在属性文件中配置前缀。
您可以在不同的环境中轻松使用不同的属性文件。