diff options
author | Mark Haines <mjark@negativecurvature.net> | 2015-02-11 15:44:09 +0000 |
---|---|---|
committer | Mark Haines <mjark@negativecurvature.net> | 2015-02-11 15:44:09 +0000 |
commit | 40f332e5348bd301bb623870eddb3adf1ca363f3 (patch) | |
tree | 20f3eda004e9b35217263033a525382dbaac6422 /synapse/storage/__init__.py | |
parent | Mention new libs in CHANGES (diff) | |
parent | Invalidate the cache for an event if it is redacted (diff) | |
download | synapse-40f332e5348bd301bb623870eddb3adf1ca363f3.tar.xz |
Merge pull request #65 from matrix-org/get_event_cache
Add an in-memory cache for get_event in the storage layer
Diffstat (limited to 'synapse/storage/__init__.py')
-rw-r--r-- | synapse/storage/__init__.py | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/synapse/storage/__init__.py b/synapse/storage/__init__.py index a63c59a8a2..a33e2298f6 100644 --- a/synapse/storage/__init__.py +++ b/synapse/storage/__init__.py @@ -164,6 +164,9 @@ class DataStore(RoomMemberStore, RoomStore, stream_ordering=None, is_new_state=True, current_state=None): + # Remove the any existing cache entries for the event_id + self._get_event_cache.pop(event.event_id) + # We purposefully do this first since if we include a `current_state` # key, we *want* to update the `current_state_events` table if current_state: @@ -420,6 +423,8 @@ class DataStore(RoomMemberStore, RoomStore, ) def _store_redaction(self, txn, event): + # invalidate the cache for the redacted event + self._get_event_cache.pop(event.redacts) txn.execute( "INSERT OR IGNORE INTO redactions " "(event_id, redacts) VALUES (?,?)", |