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-reservedniet-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-reservedgeheugenfragmentatie. 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-reservedmaxfragmentationmemory-reservedgegevens. 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 onderused_memoryused_memory_rssused_memorydeused_memory_rss45 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, zoalsused_memoryused_memory_rssen.