Geheugenbeheer

Verwijderingsbeleid

Kies een beleid voor het uitzettingsbeleid dat voor uw toepassing werkt. Het standaardbeleid voor Azure Cache voor Redis is , wat betekent dat alleen sleutels waarvoor een TTL-waarde is ingesteld, in aanmerking komen volatile-lru voor uitzetting. Als er geen sleutels een TTL-waarde hebben, worden er geen sleutels door het systeem gebruikt. Als u wilt dat het systeem toestaat dat een sleutel wordt weggeslagen als deze onder geheugendruk staat, kunt u het beleid allkeys-lru overwegen.

Verlopen sleutels

Stel een verloopwaarde in voor uw sleutels. Een verloopdatum verwijdert sleutels proactief in plaats van te wachten tot er geheugendruk is. Wanneer er een uitzetting wordt uitgevoerd vanwege geheugendruk, kan dit leiden tot meer belasting op uw server. Zie de documentatie voor de opdrachten EXPIRE en EXPIREAT voor meer informatie.

Geheugenfragmentatie minimaliseren

Grote waarden kunnen geheugen na de uitzetting gefragmenteerd laten en leiden tot een hoog geheugengebruik en een hoge serverbelasting.

Geheugengebruik bewaken

Voeg bewaking toe op het geheugengebruik om ervoor te zorgen dat u geen geheugen meer hebt en de kans hebt om uw cache te schalen voordat u problemen ziet.

Uw instelling voor maxmemory-reserved configureren

Configureer uw instelling voor maxmemory-reserved om de reactiesnelheid van het systeem te verbeteren:

  • Een voldoende reserveringsinstelling is vooral belangrijk voor schrijfwerkbelastingen of als u waarden van 100 kB of meer opslaat in uw cache. Begin met 10% van de grootte van uw cache en verhoog dit percentage als u schrijfbelastingen hebt.

  • De instelling configureert de hoeveelheid geheugen, in MB per instantie in een cluster, die is gereserveerd voor  maxmemory-reserved   niet-cachebewerkingen, zoals replicatie tijdens failover. Door deze waarde in te stellen, kunt u een consistentere Redis-serverervaring hebben wanneer uw belasting varieert. Deze waarde moet hoger worden ingesteld voor workloads die grote hoeveelheden gegevens schrijven. Wanneer geheugen is gereserveerd voor dergelijke bewerkingen, is het niet beschikbaar voor opslag van gegevens in de cache.

  • De instelling configureert de hoeveelheid geheugen, in MB per instantie in een cluster, die is gereserveerd voor  maxfragmentationmemory-reserved   geheugenfragmentatie. Wanneer u deze waarde in stelt, is de ervaring van de Redis-server consistenter wanneer de cache vol of bijna vol is en de fragmentatieverhouding hoog is. Wanneer geheugen is gereserveerd voor dergelijke bewerkingen, is het niet beschikbaar voor opslag van gegevens in de cache.

  • Eén ding om rekening mee te houden bij het kiezen van een nieuwe geheugenreserveringswaarde ( of ) is hoe deze wijziging van invloed kan zijn op een cache die al wordt uitgevoerd met grote hoeveelheden maxmemory-reserved    maxfragmentationmemory-reserved gegevens. Als u bijvoorbeeld een cache van 53 GB met 49 GB aan gegevens hebt en vervolgens de reserveringswaarde wijzigt in 8 GB, wordt het maximaal beschikbare geheugen voor het systeem teruggewaarde tot 45 GB. Als uw huidige of uw waarden hoger zijn dan de nieuwe limiet van 45 GB, moet het systeem gegevens verwijderen totdat beide en onder  used_memory    used_memory_rss    used_memory   de  used_memory_rss   45 GB zijn. Uitzetting kan de serverbelasting en geheugenfragmentatie verhogen. Zie Beschikbare metrische gegevens en rapportage-intervallen voor meer informatie over metrische gegevens in de cache, zoals  used_memory    used_memory_rssen.

Volgende stappen