caching - Redis 作为缓存和使用相同实例的队列

标签 caching memory redis feed

我的应用程序需要两个缓存用例:

  1. Redis 作为缓存。我计划使用 allkeys-lru 内存策略按 id 缓存项目(JSON blob)。平均 JSON 项目将占用 <1 Mb。
  2. Redis 作为一个队列。我决定使用 Redis 队列 API 构建内容社交提要(类似于 Instagram 或 Facebook)。它将使用相同的内存策略。队列的容量约为 1000 个元素。平均队列(表示每个用户一个 Feed)大约需要 10 Mb。

我可以在不影响性能的情况下将 Redis 的单个实例用于这两个目的吗?拆分它们以获得更好的性能更好吗? 谢谢。

最佳答案

没有理由不去尝试;但是,我建议在同一个 Redis 实例中使用两个数据库,这样如果您想要将大小增加到两个单独的实例,您可以转储并重新定位到与另一个分开的数据库上。

两个实例会比一个实例快,但在您了解自己的需求之前,将成本加倍毫无意义 - 但如果涉及到这一点,保持数据库的独立将使该过程的痛苦减轻一些。

关于caching - Redis 作为缓存和使用相同实例的队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21998542/

相关文章:

java - 谷歌公共(public)缓存 - maximumSize 的默认值(和其他 "optional"设置) - 想要一个使用所有 "available"内存的缓存

java - Java 中的可序列化、可克隆和内存使用

c# - Redis IOException : "Existing connection forcibly closed by remote host" using ServiceStack C# client 错误

caching - 在哪些应用程序中缓存没有任何优势?

php - Codeigniter 缓存文件不会被删除

java - 空 java 程序中的大对象

performance - 对阻塞命令(例如 blpop)的 Redis 延迟进行基准测试?

java - 如何同时更新缓存的 Java 对象

ruby-on-rails - content_for 与片段缓存结合使用的解决方法

使用 connect-redis 和 Unix 域套接字的 Node.js Express session