Spring Abstracts Die CacheManager -Schnittstelle für verschiedene Cache -Implementierungen, und Benutzer verwenden diese Schnittstelle, um Caches zu verarbeiten, ohne sich um die zugrunde liegende Implementierung zu kümmern. Es kann auch bequem in die spezifische Implementierung des Cache geändert werden, ohne die Geschäftsordnung zu ändern. Hier ist eine kurze Einführung in die Verwendung von Cache im Springboot:
1. Fügen Sie Abhängigkeiten hinzu
<Depopentcy> <gruppe> org.springFramework.boot </Groupid> <artifactId> Spring-Boot-Starter-Cache </artifactid> </abhängig>
2. Schalten Sie den Cache in der Konfigurationsklasse ein, wie in der folgenden Abbildung gezeigt:
3. Fügen Sie den Methoden, die verwendet werden müssen, Anmerkungen hinzu, wie folgt:
@Override // @cacheput Diese Annotation wird den Rückgabewert der Methode zwischengespeichert, wobei der Cache -Name Personen und der Schlüssel der Daten die ID der Person sind @cacheput (value = "people", key = "#Person.id") öffentliche Person Save (Person Person) {Person p = personRepository.save.save (Person); System.out.println ("Für ID, Schlüssel ist:"+p.getId ()+"Daten zwischengespeichert"); Rückkehr p; } @Override // @CacheeVict Diese Annotation löscht die Daten mit der Schlüssel -ID im people cache @cacheevict (value = "people", key = "#ID") public void remove (Long ID) {System.out.println ("Entfernen Sie den Datencache mit ID und Key"+id+"). // Der tatsächliche Löschvorgang wird hier nicht durchgeführt} @Override //@cacheable Diese Annotation bestimmt, ob der Cache mit der Schlüsselnummer person.id im Cache -Personen existiert, wenn die Methode ausgeführt wird. Wenn es existiert, gibt es die Daten direkt im Cache zurück. Wenn es nicht vorhanden ist, wird die Datenbank überprüft und das Rückgabeergebnis zwischengespeichert. @Cacheable (value = "people", key = "#person.id") öffentliche Person findOne (Person Person) {Person p = PersonRepository.findone (person.getId ()); System.out.println ("Für ID, Schlüssel ist:"+p.getId ()+"Daten zwischengespeichert"); Rückkehr p; }Die oben genannten Teile haben den Cache abgeschlossen, der aktuelle Cache ist jedoch standardmäßig Speicherbasis und wurde nicht bestehen. Das Folgende ist eine spezifische Implementierung von Redis als Cache wie folgt:
4. Fügen Sie Abhängigkeiten hinzu
<Depopenty> <gruppe> org.springFramework.boot </Groupid> <artifactId> Spring-Boot-Starter-Redis </artifactid> </abhängig>
5. Fügen Sie die Redis -Konfiguration in die Konfigurationsdatei hinzu
redis.hostname = localhost redis.port = 6379
6. Konfigurieren Sie Redis im Federbehälter
@Configuration Public Class Redisconfig erweitert CachingConfigurersupport {private static Final Logger logger = loggerfactory.getLogger (redisconfig.class); @Autowired Private Environment Env; @Bean public JedisconnectionFactory redisconnectionFactory () {Jedisconnectory -redisconnectionFactory = new JedisconnectionFactory (); redisconnectionFactory.sethostname (env.getProperty ("redis.hostname")); redisconnectionFactory.setport (Integer.ParseInt (env.getProperty ("redis.port"))); Return RedisconnectionFactory; } @Bean public redistemplate <String, String> redISTemplate (redisconNectionFactory cf) {redItemplate <String, String> redistemplate = new redistemplate <> (); redistemplate.setConnectionFactory (CF); Redistemplate zurückgeben; } @Bean public CacheManager CacheManager (redistemplate <?,?> Redistemplate) {rediscachemanager cacheManager = new rediscachemanager (redistemplate); CacheManager.SetDefaultExpiration (600); CacheManager zurückgeben; }}Ok, es ist getan, es muss nicht etwas anderes geändert werden. Ist es nicht sehr bequem?
Darüber hinaus müssen die zugeschnittenen Klassen serialisiert werden.
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.