Cache
Cache auf Serverebene
PowerShell Universal bietet die Möglichkeit, einen Cache auf Serverebene zu verwenden, um Daten zu speichern, die Sie zwischen APIs, Automatisierung und Dashboards nutzen. Sie können die Lebensdauer von Cache-Elementen mit dem Cmdlet Set-PSUCache in jedem PowerShell-Skript konfigurieren, das Sie in PowerShell Universal ausführen. Sie können Elemente auch mit Get-PSUCache aus dem Cache abrufen.
Einige Beispiele für die Verwendung des Caches können sein:
Erfassen von Daten mit einem geplanten Job und Anzeigen dieser Daten in einem Dashboard
Erfassen von Daten aus einer API und Verwenden dieser Daten in einem Job
Erfassen von Eingaben aus einem Dashboard und Einreihen in die Warteschlange zur Ausführung in einem geplanten Job
Elemente im Cache festlegen
Um Elemente im Cache festzulegen, können Sie Set-PSUCache verwenden. Elemente im Cache werden mit CLIXML und dem PowerShell-Serialisierer in Zeichenfolgen serialisiert. Wenn Sie Objekte aus dem Cache abrufen, sind sie keine Live-Objekte mehr.
Set-PSUCache -Key "CurrentDate" -Value (Get-Date)Es gibt drei Arten von Techniken zur Cache-Invalidierung, die Sie einsetzen können.
Absolutes Ablaufdatum
Der Parameter AbsoluteExpiration definiert, zu welchem Zeitpunkt das Element im Cache invalidiert wird.
Das folgende Beispiel invalidiert das Cache-Element nach 10 Minuten.
Set-PSUCache -Key "CurrentDate" -Value (Get-Date) -AbsoluteExpiration (Get-Date).AddMinutes(10)Absolutes Ablaufdatum ab jetzt
Der Parameter AbsoluteExpirationFromNow definiert, wann ein Cache-Element invalidiert wird, wobei eine TimeSpan anstelle eines berechneten DateTime verwendet wird.
Das folgende Cache-Element wird in 1 Stunde invalidiert.
Gleitendes Ablaufdatum
Der Parameter SlidingExpiration erlaubt Ihnen, die Zeitspanne zu definieren, bevor das Cache-Element invalidiert wird. Jedes Mal, wenn auf das Cache-Element zugegriffen wird, wird der Timer zurückgesetzt.
Das folgende Cache-Element wird in 5 Minuten invalidiert. Wenn innerhalb dieser 5 Minuten darauf zugegriffen wird, wird es für weitere 5 Minuten zurückgesetzt.
Elemente aus dem Cache abrufen
Sie können das Cmdlet Get-PSUCache verwenden, um Elemente aus dem Cache abzurufen. Sie müssen lediglich den Schlüssel des Elements angeben, das Sie abrufen möchten. Das deserialisierte Objekt wird vom Cmdlet zurückgegeben.
Persistenter Cache
Sie können den Parameter -Persist von Set-PSUCache verwenden, um Daten in der Datenbank zu speichern. Dies ermöglicht verteiltes Caching und einen Cache, der Neustarts des PowerShell Universal-Dienstes übersteht.
Cache löschen
Sie können Elemente mit Remove-PSUCache oder Clear-PSUCache aus dem Cache entfernen.
$Cache-Bereich
APIs, Automatisierungsskripte und Dashboards unterstützen alle einen $Cache-Bereich. Dieser Bereich wird verwendet, um Daten über Runspaces hinweg zu cachen, die im Speicher jeder der Ausführungsumgebungen erhalten bleiben.
Wenn Sie zum Beispiel eine $Cache-Variable in einem Dashboard festlegen, ist sie in einer API nicht verfügbar. Dies gilt nicht bei Verwendung der integrierten Umgebung. Wenn ein Dashboard und eine API beide die integrierte Umgebung verwenden, teilen sie sich den Cache-Bereich.
Sie können Daten aus dem Cache-Bereich mit der Syntax für Variablenzuweisung und -abruf festlegen und abrufen.
$Cache-Bereich vs. Cache auf Serverebene: Der $Cache-Bereich unterscheidet sich vom Cache auf Serverebene, da er sich nur in der Ausführungsumgebung der Funktion befindet, die Sie verwenden. Sie sind unterschiedlich und können nicht dazu verwendet werden, den jeweils anderen abzurufen.
Cache anzeigen
Sie können den Cache auf Serverebene in der Admin-Konsole anzeigen, indem Sie zu Platform \ Cache navigieren.

API
Zuletzt aktualisiert
War das hilfreich?