Redis
 sql >> база данни >  >> NoSQL >> Redis

Каква е стратегията за кеширане по подразбиране, когато използвате Redis с пружинно или пружинно зареждане?

По подразбиране получавате кеш настрана, нашето използване на кеша в приложението за зареждане на Spring изглежда нещо подобно на това

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

В повечето от сценариите в приложението за пролетно зареждане ние кешираме резултата от JPA или други DB заявки. В такива случаи добавяме Cacheable на метода на заявката, който ни дава функция за отстраняване на кеша.

Едно приложение може да емулира функционалността на кеширане при четене чрез прилагане на стратегията за отстраняване на кеша. Тази стратегия зарежда данни в кеша при поискване.

Препратка:https://docs.microsoft.com/en-us/azure/architecture/patterns/cache-aside

Използването на шаблона за отстраняване на кеша не винаги е решение на проблема, в зависимост от вашия случай на използване може да се наложи да промените стратегията за кеширане. Промяната на стратегията за кеширане не е проста, освен някои пояснения, които познаваме от рамката на Spring като

  • Кеширане
  • CacheEvict
  • CachePut

Трябва да актуализирате кода на приложението си, за да използвате други стратегии за кеширане, въпреки че можете да изградите всяка стратегия за кеширане, използвайки тези пояснения. Ако не обичате да използвате тези пояснения, играйте с действителния кеш обект, по всяко време можете да извикате Cache методи, за да промените кеша.

напр.

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

След като имате кеш обект, можете да извикате всички подходящи методи, някои методи може да не работят според очакванията поради ограничението на основния кеш.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Най-бързият начин за съхранение на numpy масив в redis

  2. ruby resque без зареждане на релсите среда

  3. Как мога да получа всички набори в redis?

  4. Redis:Показва размера/размера на базата данни за ключовете

  5. Мигриране на socket.io от 0.9.x на 1.x, Проблеми с конфигурирането на RedisStore