Caching 我可以为任务队列和缓存使用相同的Redis实例吗?

Caching 我可以为任务队列和缓存使用相同的Redis实例吗?,caching,redis,Caching,Redis,我已经阅读了关于stackoverflow的几个类似问题的回复,虽然似乎出于两个目的共享一个实例是可以的,但我想知道潜在的缺点 我主要担心的是缓存会填满内存,减慢或中断任务队列。这可能吗?我大量使用缓存,所以我应该担心这种情况吗?理论上,您可以使用相同的Redis实例进行任务队列和缓存 有一些缺点 更长的查询时间 高内存使用率 高CPU使用率 备份 任何故障安全任务队列都会进行大量redis调用,以将任务从一个数据结构移动到另一个数据结构,并执行其他操作。您应该检查您的任务队列,对于1个队列

我已经阅读了关于stackoverflow的几个类似问题的回复,虽然似乎出于两个目的共享一个实例是可以的,但我想知道潜在的缺点


我主要担心的是缓存会填满内存,减慢或中断任务队列。这可能吗?我大量使用缓存,所以我应该担心这种情况吗?

理论上,您可以使用相同的Redis实例进行任务队列和缓存

有一些缺点

  • 更长的查询时间
  • 高内存使用率
  • 高CPU使用率
  • 备份
任何故障安全任务队列都会进行大量redis调用,以将任务从一个数据结构移动到另一个数据结构,并执行其他操作。您应该检查您的任务队列,对于1个队列u和N个队列,它在几秒钟内会进行多少redis调用。如果Redis队列的数量与您应该看到的队列数量成正比,那么您的Redis服务器可以处理此类请求

由于您对任务队列和缓存使用的是同一个Redis实例,所以缓存中的条目数可能非常大,请注意它没有超出内存限制。丢失缓存数据可以,但不应丢失任务队列数据

由于大量查询,CPU利用率将增加,希望不会达到90%左右,请注意CPU峰值

考虑到您将使用相同的Redis服务器作为任务队列,您应该为Redis服务器启用备份,以便可以从备份中恢复任务。当您进行备份时,很可能会对整个数据进行备份,而不仅仅是任务队列