Exemple d'utilisation du module de cache
Exemple 1 : Exploitez les données mises en cache directement via le module de cache
public static void main(String[] args) throws Exception { YMP.get().init(); try { // 操作默认缓存 Caches.get().put("key1", "value1"); System.out.println(Caches.get().get("key1")); // 操作指定名称的缓存 Caches.get().put("default", "key2", "value2"); System.out.println(Caches.get().get("default", "key2")); } finally { YMP.get().destroy(); } }
Remarque : Lors de la spécification du nom du cache, veuillez confirmer si la configuration correspondant au nom existe déjà ;
Résultat de l'exécution :
value1 value2
Exemple 2 : Mise en cache des méthodes de classe basée sur des annotations
L'annotation @Cacheable est utilisée ici, qui permet d'identifier si les résultats d'exécution des méthodes de la classe sont mis en cache.
Tout d'abord, l'annotation @Cacheable doit être dans Déclaré sur une classe qui a été enregistrée auprès du gestionnaire d'objets de classe YMP, indiquant que la classe prend en charge la mise en cache
Deuxièmement, ajoutez l'annotation @Cacheable sur la méthode qui en a besoin ; pour mettre en cache les résultats de l'exécution ;
Description du paramètre d'annotation @Cacheable :
cacheName : nom du cache, la valeur par défaut est default
key : clé de cache, si elle n'est pas définie, elle sera automatiquement générée à l'aide de keyGenerator ; generateur : classe d'implémentation de l'interface du générateur de clés, la valeur par défaut est DefaultKeyGenerator.class ;
scope : portée du cache, peut Les valeurs sélectionnées sont APPLICATION, SESSION et DEFAULT, la valeur par défaut est DEFAULT, les paramètres non-DEFAULT nécessitent la coopération du cache interface du processeur scope (ICacheScopeProcessor) ;
timeout : délai d'expiration des données du cache, paramètre facultatif, la valeur doit être supérieure ou égale à 0, 0 signifie que le cache par défaut est de 300 secondes
Exemple de code :
@Bean @Cacheable public class CacheDemo { @Cacheable public String sayHi(String name) { System.out.println("No Cached"); return "Hi, " + name; } public static void main(String[] args) throws Exception { YMP.get().init(); try { CacheDemo _demo = YMP.get().getBean(CacheDemo.class); System.out.println(_demo.sayHi("YMP")); System.out.println(_demo.sayHi("YMP")); // System.out.println("--------"); // System.out.println(_demo.sayHi("YMPer")); System.out.println(_demo.sayHi("YMP")); System.out.println(_demo.sayHi("YMPer")); } finally { YMP.get().destroy(); } } }
No Cached Hi, YMP Hi, YMP -------- No Cached Hi, YMPer Hi, YMP Hi, YMPer
;