mirror of
https://github.com/zulip/zulip.git
synced 2025-11-06 06:53:25 +00:00
This code removes a lot of complexity with very likely positive overall impact on system performance and negligible downside. We already cache display recipients on a per-user level, so there's no need for another cache layer on top of that that keys them with recipient ids. We avoid strange things where Alice/Bob and Bob/Charlie get put into the top layer cache and then we still have a cache miss on Alice/Charlie despite the lower level cache being able to support per-user lookups. This change does introduce an extra database round trip if any of our messages have a huddle, but the query is extremely cheap, and we can always try to cache that function more directly or try to re-use some of our other huddle-based caches. As part of this, we clean up the names for the lower-level per-user cache of display recipients, and we simplify the cache keys. We also stop passing in a full Recipient object to the `bulk_get_huddle_user_ids` functions. The local impact of this change should be easy to measure (at least approximately), since we use this function every time a user gets messages via the /messages endpoint.
26 KiB
26 KiB