Merging redis-cache and redis-queue

Hi all, I’m wondering: why are two Redis Server instances needed for Frappe? Could the redis-cache and redis-queue be merged into a single Redis server?

EDIT: Answer is probably NO because of the cache-clearing functions that could impact the scheduled jobs

I cannot think of a technical reason why they couldn’t. The only 2 concerns I would have:

  1. There should never exist a cache key named rq or starting with letters rq:, because those keys are reserved and needed by Python RQ.
  2. Any commands/functions that clear the Redis cache (e.g. bench clear-cache, frappe.clear_cache()), would have to deliberately ignore key rq or starting with letters rq:
1 Like
  • They clear cache during some bench commands.
  • general superstition is clear cache and it should work.

So if something completely nukes cache, the queue is kept stable, queue is used for queue as well as socketio.

2 Likes