Redis
 sql >> Baza danych >  >> NoSQL >> Redis

Co robi Redis, gdy zabraknie mu pamięci?

Jeśli masz włączoną funkcję pamięci wirtualnej (EDYTUJ:teraz przestarzałe ), a następnie Redis zaczyna przechowywać „niezbyt często używane” dane na dysku, gdy wyczerpie się pamięć.

Jeśli pamięć wirtualna w Redis jest wyłączona (domyślnie), a maxmemory parametr jest ustawiony (domyślnie), Redis nie użyje więcej pamięci niż maxmemory pozwala. Jeśli zmienisz maxmemory wyłączone, Redis zacznie używać pamięci wirtualnej (tj. wymiany), a wydajność ogromnie spadnie.

Nowsze wersje Redis mają różne zasady, gdy maxmemory został osiągnięty:

  • volatile-lru - usuń klucz spośród tych z ustawionym terminem ważności, próbując usunąć klucze, które nie były ostatnio używane.
  • volatile-ttl - usuń klucz spośród tych z ustawionym terminem ważności, próbując usunąć klucze z krótkim pozostałym czasem życia.
  • volatile-random - usuń klucz losowy spośród tych z ustawionym terminem ważności.
  • allkeys-lru - jakvolatile-lru , ale usunie każdy rodzaj klucza, zarówno normalne klucze, jak i klucze z ustawionym terminem ważności.
  • allkeys-random -jak volatile-random , ale usunie każdy rodzaj kluczy, zarówno normalne klucze, jak i klucze z ustawionym terminem ważności.

Jeśli wybierzesz zasadę, która usuwa tylko klucze z zestawem EXPIRE, to gdy Redis zabraknie pamięci, wygląda na to, że program po prostu przerywa operację malloc(). Oznacza to, że jeśli spróbujesz zapisać więcej danych, operacja zapisu po prostu się nie powiedzie.

Kilka linków, aby uzyskać więcej informacji:

  • http://antirez.com/post/redis-as-LRU-cache.html
  • http://eli.thegreenplace.net/2009/10/30/handling-out-of-memory-conditions-in-c/


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. policz liczbę sesji w connect-redis

  2. Redis — jakikolwiek sposób na wyzwolenie zdarzenia, gdy wartość nie jest już aktywnie zapisywana?

  3. Jak uruchomić Redis na Amazon OpsWorks dla aplikacji Rails?

  4. Przekaż referencję do instancji Redis do Gorilla/Mux Handler

  5. Problem z instalacją Redis cc:Nie znaleziono polecenia