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:
- There should never exist a cache key named
rq or starting with letters rq:, because those keys are reserved and needed by Python RQ.
- 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