Spring Abstrak Antarmuka CacheManager untuk berbagai implementasi cache, dan pengguna menggunakan antarmuka ini untuk memproses cache tanpa peduli dengan implementasi yang mendasarinya. Ini juga dapat diubah dengan mudah ke implementasi spesifik cache tanpa memodifikasi kode bisnis. Berikut adalah pengantar singkat untuk menggunakan cache di Springboot:
1. Tambahkan dependensi
<dependency> <GroupId> org.springframework.boot </groupid> <ArTifactId> Spring-boot-starter-cache </stifactid> </gandendency>
2. Nyalakan cache di kelas konfigurasi, seperti yang ditunjukkan pada gambar di bawah ini:
3. Tambahkan anotasi ke metode yang perlu digunakan, sebagai berikut:
@Override // @Cacheput Anotasi ini akan menyimpan nilai pengembalian metode ini, di mana nama cache adalah orang dan kunci dari data adalah id orang @cacheput (value = "people", key = "#person.id") PUBLICE Simpan (orang orang) {orang p = personrepository.save (orang); System.out.println ("Untuk ID, kunci adalah:"+p.getId ()+"Data cacheed"); mengembalikan P; } @Override // @cacheevict anotasi ini akan menghapus data dengan ID kunci dalam cache orang -orang @cacheevict (value = "people", key = "#id") void public Remove (Long ID) {System.out.println ("Hapus cache data dengan ID dan kunci"+id+"); // Operasi penghapusan yang sebenarnya tidak dilakukan di sini} @Override //@cacheable anotasi ini akan menentukan apakah cache dengan kunci #person.id dalam cache orang ada ketika metode dieksekusi. Jika ada, itu akan secara langsung mengembalikan data dalam cache. Jika tidak ada, database akan diperiksa dan hasil pengembalian akan di -cache. @Cacheable (value = "people", key = "#person.id") Publik FindOne (orang orang) {orang p = personRepository.findOne (person.getId ()); System.out.println ("Untuk ID, kunci adalah:"+p.getId ()+"Data cacheed"); mengembalikan P; }Bagian-bagian di atas telah menyelesaikan cache, tetapi cache saat ini berbasis memori secara default dan belum bertahan. Berikut ini adalah implementasi spesifik Redis sebagai cache, sebagai berikut:
4. Tambahkan dependensi
<dependency> <GroupId> org.springframework.boot </groupid> <ArTifactId> Spring-boot-starter-redis </artifactid> </dependency>
5. Tambahkan konfigurasi redis di file konfigurasi
redis.hostname = localhost redis.port = 6379
6. Mengkonfigurasi Redis di Container Musim Semi
@Configuration Public Class Redisconfig memperluas CachingConfigurersupport {private static final Logger Logger = LoggerFactory.getLogger (RonaConfig.class); @Autowired Private Environment Env; @Bean JedaconnectionFactory RedisconnectionFactory () {JEdisconnectionFactory 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) {redistemplate <string, string> redistemplate = redistemplate baru <> (); redistemplate.setConnectionFactory (CF); return redistemplate; } @Bean CacheManager Cachemanager (Redistemplate <?,?> Redistemplate) {ReceScachemanager Cachemanager = RedacacheManager baru (redistemplate); cachemanager.setDefaultExpiration (600); Return Cachemanager; }}Oke, sudah selesai, tidak perlu mengubah hal lain, bukankah itu sangat nyaman?
Selain itu, kelas yang akan di -cache harus diserialisasi.
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.