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

Jaka jest domyślna strategia pamięci podręcznej podczas korzystania z Redis z rozruchem sprężynowym lub sprężynowym?

Domyślnie odkładasz pamięć podręczną na bok, nasze użycie pamięci podręcznej w aplikacji Spring Boot wygląda podobnie

@Cacheable(cacheNames = "someCache")
public String cacheThis(String id){
    return "this Is it";
}

W większości scenariuszy w aplikacji Spring Boot buforujemy wyniki zapytań JPA lub innych zapytań do bazy danych. W takich przypadkach dodajemy Cacheable w metodzie zapytania, która daje nam funkcję buforowania pamięci podręcznej.

Aplikacja może emulować funkcjonalność buforowania z odczytem poprzez implementację strategii buforowania z boku. Ta strategia ładuje dane do pamięci podręcznej na żądanie.

Ref:https://docs.microsoft.com/en-us/azure/architecture/patterns/cache-aside

Używanie wzorca buforowania na bok nie zawsze jest rozwiązaniem problemu, w zależności od przypadku użycia może być konieczna zmiana strategii buforowania. Zmiana strategii buforowania nie jest prosta, z wyjątkiem niektórych adnotacji, które znamy z frameworka Spring, takich jak

  • Pamięć w pamięci podręcznej
  • Wykluczenie z pamięci podręcznej
  • Przesyłanie pamięci podręcznej

Musisz zaktualizować kod aplikacji, aby korzystać z innych strategii buforowania, chociaż możesz zbudować dowolną strategię buforowania przy użyciu tych adnotacji. Jeśli nie lubisz używać tych adnotacji, pobaw się rzeczywistym obiektem pamięci podręcznej, w dowolnym momencie możesz wywołać metody pamięci podręcznej, aby zmodyfikować pamięć podręczną.

np.

Cache myCache = cacheManager.getCache("myCache"); 

Gdy masz już obiekt pamięci podręcznej, możesz wywołać wszystkie odpowiednie metody, niektóre metody mogą nie działać zgodnie z oczekiwaniami ze względu na ograniczenia bazowej pamięci podręcznej.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Redis nie może się połączyć w zajętym obciążeniu

  2. Pamięć masowa Kubernetes NFS przy użyciu PV i PVC

  3. wykonanie polecenia redis eval w celu uruchomienia skryptu Lua w nodeJS

  4. Wprowadzenie do struktur danych Redis:zestawy

  5. Dobry sposób na użycie socket.io z klastrem na serwerze wielordzeniowym?