Spring Abstracts Интерфейс Cachemanager для различных реализаций кэша, и пользователи используют этот интерфейс для обработки кэша, не заботясь о базовой реализации. Он также может быть удобно изменен на конкретную реализацию кэша без изменения бизнес -кода. Вот краткое введение в использование кэша в Springboot:
1. Добавьте зависимости
<Depective> <groupid> org.springframework.boot </GroupId> <artifactid> Spring-boot-starter-cache </artifactid> </deperency>
2. Включите кэш в классе конфигурации, как показано на рисунке ниже:
3. Добавьте аннотации в методы, которые необходимо использовать следующим образом:
@Override // @Cacheput Эта аннотация будет кэшировать возвращаемое значение метода, где имя кэша - это люди, а ключом данных является идентификатор человека @CachePut (value = "people", key = "#person.id") Общественное лицо Сохранить (человек) {Person p = PersonRepository.save (человек); System.out.println («Для id, ключ:«+p.getid ()+«кэширован данных»); возврат P; } @Override // @cacheevict Эта аннотация удалит данные с помощью идентификатора ключа в кэшировании People @cacheevict (value = "people", key = "#id") public void remove (long id) {System.out.println («Удалите кэш данных с идентификатором и ключом"+id+""); // Фактическая операция удаления здесь не выполнена} @Override //@CACHABLE Эта аннотация будет определять, существует ли кэш с ключом #Person.id в кэше людей, которые люди будут выполнены при выполнении метода. Если он существует, он напрямую вернет данные в кэше. Если его не существует, база данных будет проверена, и результат возврата будет кэширован. @Cachable (value = "people", key = "#person.id") public findone (человек) {person p = personrepository.findone (person.getid ()); System.out.println («Для id, ключ:«+p.getid ()+«кэширован данных»); возврат P; }Приведенные выше части завершили кэш, но текущий кэш по умолчанию основан на памяти и не сохранялся. Ниже приведена конкретная реализация Redis в качестве кэша следующим образом:
4. Добавьте зависимости
<Depective> <groupid> org.springframework.boot </GroupId> <artifactid> Spring-boot-starter-redis </artifactid> </deperency>
5. Добавить конфигурацию Redis в файл конфигурации
redis.hostname = localhost redis.port = 6379
6. Настройка Redis в пружинном контейнере
@Configuration Public Class Redisconfig Extends CachingConfigurerSupport {Private Static Final Logger = loggerFactory.getLogger (redisconfig.class); @Autowired Private Environment Env Env; @Bean public jedisconnectionfactory redisconnectionFactory () {jedisconnectionFactory redisconnectionFactory = new jedisconnectionFactory (); redisconnectionFactory.SethostName (env.GetProperty ("redis.hostname")); redisconnectionFactory.setPort (integer.parseint (env.getProperty ("redis.port"))); вернуть RedisconnectionFactory; } @Bean public redistemplate <string, string> redistemplate (redisconnectionFactory cf) {redistemplate <string, string> redistemplate = new Redistemplate <> (); Redistemplate.setConnectionFactory (CF); вернуть Redistemplate; } @Bean public cachemanager cachemanager (redistemplate <?,?> Redistemplate) {rediscachemanager cachemanager = new Rediscachemanager (Redistemplate); cachemanager.setDefatexpiration (600); вернуть Cachemanager; }}Хорошо, это сделано, нет необходимости что -то менять, разве это не очень удобно?
Кроме того, классы, которые должны быть кэшированы, должны быть сериализованы.
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.