parent
bdfff9c36e
commit
05c9c7363b
|
@ -0,0 +1 @@
|
||||||
|
Cache user IDs instead of profiles to reduce cache memory usage. Contributed by Nick @ Beeper (@fizzadar).
|
|
@ -916,7 +916,9 @@ class RoomMemberWorkerStore(EventsWorkerStore):
|
||||||
event_to_memberships = await self._get_user_ids_from_membership_event_ids(
|
event_to_memberships = await self._get_user_ids_from_membership_event_ids(
|
||||||
missing_member_event_ids
|
missing_member_event_ids
|
||||||
)
|
)
|
||||||
users_in_room.update(event_to_memberships.values())
|
users_in_room.update(
|
||||||
|
user_id for user_id in event_to_memberships.values() if user_id
|
||||||
|
)
|
||||||
|
|
||||||
if event is not None and event.type == EventTypes.Member:
|
if event is not None and event.type == EventTypes.Member:
|
||||||
if event.membership == Membership.JOIN:
|
if event.membership == Membership.JOIN:
|
||||||
|
@ -942,15 +944,15 @@ class RoomMemberWorkerStore(EventsWorkerStore):
|
||||||
)
|
)
|
||||||
async def _get_user_ids_from_membership_event_ids(
|
async def _get_user_ids_from_membership_event_ids(
|
||||||
self, event_ids: Iterable[str]
|
self, event_ids: Iterable[str]
|
||||||
) -> Dict[str, str]:
|
) -> Dict[str, Optional[str]]:
|
||||||
"""For given set of member event_ids check if they point to a join
|
"""For given set of member event_ids check if they point to a join
|
||||||
event and if so return the associated user and profile info.
|
event.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
event_ids: The member event IDs to lookup
|
event_ids: The member event IDs to lookup
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
Map from event ID to `user_id` and ProfileInfo (or None if not join event).
|
Map from event ID to `user_id`, or None if event is not a join.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
rows = await self.db_pool.simple_select_many_batch(
|
rows = await self.db_pool.simple_select_many_batch(
|
||||||
|
|
Loading…
Reference in New Issue