Jak zmienić pamięć Redis Max

Jak zmienić pamięć Redis Max

Aby skonfigurować maksymalną ilość pamięci, której użyje Redis, możesz użyć „Maxmemory” dyrektywa w pliku konfiguracyjnym Redis („Redis.conf '). Ta dyrektywa ma wartość liczb całkowitą, reprezentując maksymalną liczbę bajtów, których Redis użyje do przechowywania danych w pamięci.

Na przykład, aby ustawić maksymalną pamięć na „1 GB”, (lub 1024*1024*1024 bajtów) Możesz użyć następującej konfiguracji:

Maxmemory 1073741824
1Maxmemory 1073741824

Możesz także określić zasady dotyczące tego, w jaki sposób Redis powinien obsłużyć sytuację, gdy osiągnie maksymalny limit pamięci. Odbywa się to za pomocą „MaxMemory-Policy” dyrektywa, która może przyjąć jedną z następujących wartości:

  • NoeViction: Redis zwróci błąd po osiągnięciu maksymalnego limitu pamięci i należy dodać nowy klucz.
  • Allkeys-lru: Redis usunie najstarniej używane klucze, aby zrobić miejsce na nowe klucze.
  • lotny Lru: Redis usunie najstarniej używane klawisze wśród kluczy z zestawem wygasania, aby zrobić miejsce na nowe klucze.
  • Allkeys-Random: Redis losowo wybierze klucze do usunięcia, aby zrobić miejsce na nowe klucze.
  • lotny Random: Redis losowo wybierze klawisze z zestawem wygasania do usunięcia, aby zrobić miejsce na nowe klucze.
  • Volatile-TTL: Redis usunie klucze z najkrótszym czasem na życie, aby zrobić miejsce na nowe klucze.

Na przykład, aby ustawić „MaxMemory-Policy” Do „Allkeys-lru”, Możesz użyć następującej konfiguracji:

MaxMemory-Policy Allkeys-Lru
1MaxMemory-Policy Allkeys-Lru

Zauważ, że Maxmemory I Maxmemory-Policy Dyrektywy muszą być ustawione w pliku konfiguracyjnym Redis (Redis.conf) i nie można go ustawić za pomocą polecenia konfiguracyjnego w czasie wykonywania. Będziesz musiał ponownie uruchomić Redis, aby zmiany weszły.

Warto również zauważyć, że Redis automatycznie spróbuje uwolnić pamięć, gdy brakuje jej dostępnej pamięci, poprzez uwalnianie pamięci używanej przez najnowocześniej używane klucze. Jednak proces ten jest ograniczony przez MAXMEMORY SAMPLES Dyrektywa, która określa liczbę klawiszy, które będą próbować Redis w celu ustalenia kluczy do usunięcia. Domyślnie ta wartość jest ustawiona na 3, więc Redis będzie próbował tylko 3 kluczy w celu ustalenia kluczy do usunięcia. W razie potrzeby możesz dostosować tę wartość, używając MAXMEMORY SAMPLES dyrektywa w pliku konfiguracyjnym Redis.