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

Czy redis jest trwałym magazynem danych?

Redis nie jest zazwyczaj wdrożony jako „trwały” magazyn danych (w sensie „D” w ACID.), nawet z kronikowaniem. Większość przypadków użycia celowo poświęca trochę wytrzymałości w zamian za szybkość.

Jednak tryb przechowywania „Dołącz tylko plik” można opcjonalnie skonfigurować do działania w sposób trwały kosztem wydajności. Będzie musiał zapłacić za fsync() przy każdej modyfikacji. Aby to skonfigurować, ustaw te dwie opcje w pliku .conf:

 appendonly yes
 appendfsync always

Z dokumentacji:Jak trwały jest plik zawierający tylko dołączanie?

Sprawdź redis.conf, możesz skonfigurować ile razy Redis będzie fsync() datana dysku. Istnieją trzy opcje:

  • Fsync() za każdym razem, gdy nowe polecenie jest dołączane do pliku dziennika dołączania. Bardzo wolno, bardzo bezpiecznie.
  • Fsync() raz na sekundę. Wystarczająco szybko, a w przypadku katastrofy możesz stracić 1 sekundę danych.
  • Nigdy nie fsync(), po prostu oddaj swoje dane w ręce systemu operacyjnego. Szybsza i niebezpieczniejsza metoda.

(Zauważ, że domyślnym parametrem appendfsync w pliku konfiguracyjnym dostarczanym z Redis po wersji 2.0.0 jest everysec , a nie always .)




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Konwencja nazewnictwa i prawidłowe znaki dla klucza Redis

  2. Wbudowany Redis dla Spring Boot

  3. Redis nie może się połączyć w zajętym obciążeniu

  4. JedisPoolConfig nie można przypisać do GenericObjectPoolConfig

  5. Redis Python - jak usunąć wszystkie klucze zgodnie z określonym wzorcem w pythonie, bez iterowania w pythonie