我的应用程序需要两个用例来缓存:
allkeys-lru
内存策略通过id缓存项目(JSON blob)。平均JSON项目将采用< 1 Mb。我是否可以将单个Redis实例用于这两个目的而不会影响性能?为了获得更好的性能,拆分它们会更好吗? 谢谢。
答案 0 :(得分:3)
没有理由不去尝试;我建议在同一个redis实例中使用两个数据库,这样如果你想将大小增加到两个独立的实例,你可以在db上转储和重定位,而不是另一个。
两个实例会比一个实例更快,但是在你知道你的需求是什么之前没有任何意义可以将成本加倍 - 但保持数据库的独立性会使这个过程不那么痛苦。
答案 1 :(得分:2)
Redis是单线程的,因此您可以使用2个redis而不是1个来获得更多的CPU能力。您仍然需要管理2个数据库(可以很好地进行扩展,但需要更多的备份操作等)。
如果你在redis中不需要很多CPU能力(需要大量计算的功能,比如在LUA脚本中),我认为通过使用2个redis而不是一个来看你会发现很大的差别。大多数情况下,I / O是驱动性能最慢的部分,而Redis是一个内存数据库,它不会产生很大的影响。