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

Dlaczego powinienem zamknąć lub pozostawić otwarte połączenia Redis?

Ogólnie rzecz biorąc, otwarcie połączenia jest kosztowną operacją, dlatego współczesne najlepsze praktyki mają na celu utrzymanie ich otwartego. Z drugiej strony, otwarte połączenia wymagają zasobów (z bazy danych) do zarządzania, więc utrzymywanie otwartych wielu nieaktywnych połączeń również może być problematyczne. Ten kompromis jest zwykle rozwiązywany za pomocą pul połączeń.

To powiedziawszy, bardziej interesujące jest to, dlaczego PHP działa segfault. Limit czasu jest ewidentnie spowodowany przez długo działające polecenie (w twoim przypadku skrypt CLI), które blokuje Redis (który jest w większości jednowątkowy) przed obsługą połączeń aplikacji PHP. Chociaż jest to dobrze znane zachowanie Redisa, spodziewałbym się, że PHP (zdarzenie bez funkcji ponownego połączenia w bibliotece klienckiej) nie będzie tak żałośnie rozpierdalać.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Odinstaluj Redis na Mac OSX. Starsza wersja działa po zainstalowaniu aktualizacji

  2. Jak oddzielić bazę danych redis dla tych samych dwóch aplikacji w node.js

  3. RuntimeWarning:Używasz pracownika z uprawnieniami superużytkownika:to absolutnie nie jest zalecane

  4. Seler daje reset połączenia przez peer

  5. Porównanie memcache, redis i ehcache jako rozproszonej struktury buforowania