0
0
Fork 0
mirror of https://github.com/matrix-org/dendrite synced 2024-11-18 07:40:53 +01:00
dendrite/internal/caching/caches.go

29 lines
806 B
Go
Raw Normal View History

2020-06-05 17:42:01 +02:00
package caching
2022-05-06 15:33:34 +02:00
import (
"time"
)
2020-06-05 17:42:01 +02:00
// Caches contains a set of references to caches. They may be
// different implementations as long as they satisfy the Cache
// interface.
type Caches struct {
RoomVersions Cache // RoomVersionCache
ServerKeys Cache // ServerKeyCache
RoomServerRoomNIDs Cache // RoomServerNIDsCache
RoomServerRoomIDs Cache // RoomServerNIDsCache
RoomInfos Cache // RoomInfoCache
FederationEvents Cache // FederationEventsCache
2022-03-01 17:32:48 +01:00
SpaceSummaryRooms Cache // SpaceSummaryRoomsCache
2022-05-06 15:33:34 +02:00
LazyLoading Cache // LazyLoadCache
2020-06-05 17:42:01 +02:00
}
// Cache is the interface that an implementation must satisfy.
type Cache interface {
Get(key string) (value interface{}, ok bool)
Set(key string, value interface{})
2020-06-12 12:07:26 +02:00
Unset(key string)
2020-06-05 17:42:01 +02:00
}
const CacheNoMaxAge = time.Duration(0)