Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

Quino hat einen Built-in Query-Cache der für einzelne Klassen aktiviert werden kann. Der Cache generiert basierend auf dem Query welches über die API kommt einen entsprechenden Cache-Key und speichert das Resultat der Abfrage im Memory.

Technisch basiert der Cache auf dem Microsoft InMemory-Caching.

API

Der Cache kann auf einer einzelnen Klasse wie folgt aktiviert werden:

Elements.Company = Builder.Add.Class(nameof(Elements.Company)).Cache()

Die Methode stellt verschiedene Overloads zur Verfügung um die Dauer, respektive den Ablauf der Cache-Einträge zu setzen.

Der folgende Eintrag setzt die absolute Cache-Dauer auf 4-Stunden:

.Cache(TimeSpan.FromHours(4))

Der folgende Eintrag setzt die absolute und relative Dauer auf 4-Stunden:

.Cache(TimeSpan.FromHours(4), TimeSpan.FromHours(4))

Der relative Ablauf basiert auf den letzten Aufruf des Cache-Eintrags. Wird ein Eintrag während dieser Dauer nicht mehr abgefragt so wird er aus dem Cache entfernt.

Defaults

Die Standardeinstellung des Caches kann über das Configuration System überschrieben werden.

.Configure<QueryCacheDataHandlerOptions>(x =>
      {
        x.AbsoluteExpirationInMinutes = 60;
        x.SlidingExpirationInMinutes = 60;
      })

Alternativ kann der Cache auch über das appsettings konfiguriert werden:

  "QueryCache": {
    "AbsoluteExpirationInMinutes": 60,
    "SlidingExpirationInMinutes": 60
  }

Die Standardeinstellungen werden verwendet wenn keine expliziten Einstellungen für eine Klasse konfiguriert werden.

  • No labels