synapse-product/synapse/storage
Matthew Hodgson bb81e78ec6
Split the state_group_cache in two (#3726)
Splits the state_group_cache in two.

One half contains normal state events; the other contains member events.

The idea is that the lazyloading common case of: "I want a subset of member events plus all of the other state" can be accomplished efficiently by splitting the cache into two, and asking for "all events" from the non-members cache, and "just these keys" from the members cache.  This means we can avoid having to make DictionaryCache aware of these sort of complicated queries, whilst letting LL requests benefit from the caching.

Previously we were unable to sensibly use the caching and had to pull all state from the DB irrespective of the filtering, which made things slow.  Hopefully fixes https://github.com/matrix-org/synapse/issues/3720.
2018-08-22 00:56:37 +02:00
..
engines run isort 2018-07-09 16:09:20 +10:00
schema typos 2018-08-08 13:33:16 +01:00
util run isort 2018-07-09 16:09:20 +10:00
__init__.py remove unused count_monthly_users 2018-08-02 15:55:29 +01:00
_base.py initial cut at a room summary API (#3574) 2018-08-16 09:46:50 +01:00
account_data.py run isort 2018-07-09 16:09:20 +10:00
appservice.py Make EventStore inherit from EventFederationStore 2018-07-26 12:48:51 +01:00
background_updates.py Run things as background processes 2018-07-18 20:55:05 +01:00
client_ips.py Run tests under PostgreSQL (#3423) 2018-08-13 16:47:46 +10:00
deviceinbox.py run isort 2018-07-09 16:09:20 +10:00
devices.py Fix some looping_call calls which were broken in #3604 2018-07-26 11:48:08 +01:00
directory.py run isort 2018-07-09 16:09:20 +10:00
end_to_end_keys.py add trailing comma 2018-07-23 09:56:23 +01:00
event_federation.py Merge branch 'master' into develop 2018-08-02 15:43:30 +01:00
event_push_actions.py Fix some looping_call calls which were broken in #3604 2018-07-26 11:48:08 +01:00
events_worker.py Pull in necessary stores in federation_reader 2018-08-06 15:23:57 +01:00
events.py speed up /members and add at= and membership params (#3568) 2018-08-15 16:35:22 +01:00
filtering.py run isort 2018-07-09 16:09:20 +10:00
group_server.py run isort 2018-07-09 16:09:20 +10:00
keys.py run isort 2018-07-09 16:09:20 +10:00
media_repository.py Keep track of last access time for local media 2018-01-17 10:24:43 +00:00
monthly_active_users.py call reap on start up and fix under reaping bug 2018-08-16 22:55:32 +01:00
openid.py Add an openidish mechanism for proving to third parties that you own a given user_id 2016-05-05 13:42:44 +01:00
prepare_database.py api into monthly_active_users table 2018-07-31 16:36:24 +01:00
presence.py run isort 2018-07-09 16:09:20 +10:00
profile.py run isort 2018-07-09 16:09:20 +10:00
push_rule.py Merge remote-tracking branch 'origin/develop' into rav/remove_who_forgot_in_room 2018-07-23 17:15:12 +01:00
pusher.py Logcontext fixes 2018-07-24 00:37:17 +01:00
receipts.py Update return value docstring 2018-07-12 09:45:37 +01:00
registration.py run isort 2018-07-09 16:09:20 +10:00
rejections.py run isort 2018-07-09 16:09:20 +10:00
room.py Move necessary storage functions to worker classes 2018-08-06 15:23:38 +01:00
roommember.py Rename async to async_helpers because async is a keyword on Python 3.7 (#3678) 2018-08-10 23:50:21 +10:00
search.py run isort 2018-07-09 16:09:20 +10:00
signatures.py Python 3: Convert some unicode/bytes uses (#3569) 2018-08-02 00:54:06 +10:00
state.py Split the state_group_cache in two (#3726) 2018-08-22 00:56:37 +02:00
stream.py initial cut at a room summary API (#3574) 2018-08-16 09:46:50 +01:00
tags.py run isort 2018-07-09 16:09:20 +10:00
transactions.py Fix some looping_call calls which were broken in #3604 2018-07-26 11:48:08 +01:00
user_directory.py s/becuase/because/g 2018-07-10 17:58:18 +01:00
user_erasure_store.py run isort 2018-07-09 16:09:20 +10:00