Présentation de la mise en cache
Le module de cache utilise EhCache comme service de cache en cours de processus JVM par défaut, implémente un cadre de cache léger pour la mise en cache multi-niveaux (MultiLevel) en intégrant des services Redis externes et est profondément intégré au cadre YMP (prend en charge la mise en cache pour les méthodes de classe , qui peuvent être les valeurs des paramètres de méthode sont mises en cache), configuration flexible, facile à utiliser et à développer :
Dépendance du package Maven
<dependency> <groupId>net.ymate.platform</groupId> <artifactId>ymate-platform-cache</artifactId> <version>2.0-SNAPSHOT</version> </dependency>
Remarque :
- Ajoutez la configuration ci-dessus dans le pom.xml du projet, le module a introduit les dépendances du package principal par défaut, il n'est donc pas nécessaire de répéter la configuration.
Si vous devez activer Redis en tant que service de cache, veuillez ajouter la configuration de dépendance suivante :
<dependency> <groupId>net.ymate.platform</groupId> <artifactId>ymate-platform-persistence-redis</artifactId> <version>2.0-SNAPSHOT</version> </dependency>
Concept d'interface de base
Les développeurs peuvent compléter l'implémentation de l'extension personnalisée du module de cache en fonction sur l'interface suivante :
Interface du fournisseur de services de cache (ICacheProvider) :
- DefaultCacheProvider - la classe d'implémentation de l'interface du fournisseur de services de cache par défaut basée sur le service de cache EhCache ;
- RedisCacheProvider - la classe d'implémentation de l'interface du fournisseur de services de cache basée sur ; la base de données Redis ;
- MultievelCacheProvider - une classe d'implémentation d'interface de fournisseur de services de cache qui intègre EhCache et Redis et détermine comment obtenir des objets de cache via MultilevelKey
Interface Cache Key Generator (IKeyGenerator) :
- DefaultKeyGenerator ; sur les objets méthode et paramètre de classe fournis pour générer des clés de cache. La valeur par défaut est de sérialiser les objets méthode et paramètre et de prendre leurs valeurs MD5. utilise la propre implémentation de la technologie de sérialisation d'objets du JDK ; : Le paramètre Scope utilisé pour traiter l'annotation @Cacheable est défini sur un objet de cache de portée non DEFAULT, et les développeurs doivent implémenter l'interface
- ;