【发布时间】:2011-02-28 22:35:30
【问题描述】:
当其中一些项目使用 Redis 数据库时,您如何管理开发和/或测试机器上的多个项目?
有两个主要问题:
- Redis 没有命名数据库(只有数字 0-16)
- 测试可能会在每次运行时执行 FLUSHDB
目前,我认为我们有三个选择:
- 为每个项目、每个开发和测试环境分配不同的数据库
- 项目名称前缀键使用类似
redis-namespace - 您可以随时在项目之间切换时对数据库进行核对和播种
如果多个项目将“0”分配给主要用途,将“1”分配给测试等,则第一个是有问题的。即使项目 B 决定更改为“2”和“3”,项目中的另一个成员也可能在另一个项目中为他而发生冲突。换句话说,这种方法对 SCM 不友好。
对于第二个,这是一个坏主意,因为它增加了运行时性能和内存效率的不必要开销。而且无论你做什么,当你加入该项目时,另一个项目可能已经巧合地使用了相同的密钥。
第三种选择是妥协的产物,但有时我希望在为其他项目部署小补丁时保持本地数据不受影响。
我知道这可能是对 Redis 的功能请求,但我现在需要一个解决方案。
有什么想法、做法吗?
【问题讨论】:
标签: redis