Introduction à Redis
Redis (site officiel: https://redis.io) est une base de données de cache persistante basée sur la mémoire, enregistrée au format Key-Value. Redis est entièrement gratuit et open source. Il est écrit en langue ANSI C. Comme les autres produits de cache de valeur clé, Redis a les trois fonctionnalités suivantes.
• Redis prend en charge la persistance des données, qui peuvent enregistrer des données en mémoire sur le disque et peuvent être chargées à nouveau pour être utilisées pendant le redémarrage;
• Redis prend non seulement des données simples de type de valeur clé, mais fournit également le stockage de structures de données telles que des chaînes, des listes liées, des collections, des collections ordonnées et des hachages;
• Redis prend en charge la sauvegarde des données, c'est-à-dire la sauvegarde des données en mode maître-esclave.
Sur un système Mac, vous n'avez pas besoin de télécharger Redis pour l'utiliser. Voici les commandes pertinentes pour télécharger les packages compressés de Redis à partir du serveur d'hébergement de Redis et les décompresser.
wget http://download.redis.io/releases/redis-4.0.8.tar.gztar xzf redis-4.0.8.tar.gzcd redis-4.0.8Make
Avant d'utiliser les services fournis par Redis, vous devez d'abord démarrer les services liés à Redis. La commande pour démarrer Redis sur le système Mac est la suivante.
src/redis-server
Ensuite, rouvrez un client Redis et utilisez la commande suivante pour vous connecter au serveur Redis.
SRC / Redis-Cliredis> Set Foo Barokredis> Get Foo "Bar"
Intégrer la base de données Redis
Avant d'utiliser Redis, vous devez introduire des dépendances connexes. Les scripts qui dépendent de la méthode Maven sont les suivants:
<dependency> <proupId> org.springframework.boot </rombasid> <ArtefactId> printemp-boot-starter-data-redis </retifactid> </pedidency>
Après cela, nous écrivons la configuration pertinente de Redis en YML. Ici, nous recommandons d'écrire différentes configurations selon différents environnements auparavant. Le port par défaut utilisé par Redis est 6379. Habituellement, Redis utilise une base de données n ° 0 par défaut, et il y a 16 bases de données par défaut:
#redis Configuration redis: # Base de données de la base de données: 0 # Adresse du serveur Hôte: 127.0.0.1 # Port de connexion du serveur Port: 6379 # Mot de passe du lien: # lien Pool Pool: # Nombre maximum de connexions (valeur négative signifie non limite) Max-actif: 8 # Bloquer maximum Temps d'attente (valeur négative signifie aucune limite) Widle: 1 # MAXIM RIDLE LIEN MAX-IDLE: 8 # minimum Idle MAX: 1 # MAXIM RIDLE LINK Temps de temps mort (millisecondes) Timeout: 0
S'il s'agit de la méthode Application.Properties, certaines configurations sont les suivantes:
Spring.redis.hostname = 127.0.0.1spring.redis.port = 6379 printemps.redis.pool.maxactive = 8 printemps.redis.pool.maxwait = -1 printemps.redis.pool.maxidle = 8
Créez un nouveau fichier redisconfig.java pour stocker des fichiers de configuration.
@Configuration @ pertecaching // Ouvrez la classe publique Annotation RedisConfig étend CachingConfigurersupport {@bean public cacheManager CacheManager (Redemplate <?,?> Redetemplate) {CacheManager Cachemanager = New RedisCacheManager (Redeistetemplate); retour Cachemanager; } @Bean public Redetemplate <String, String> redestEmplate (redisconnectionfactory factory) {redetemplate <string, string> reditemplate = new Redemplate <String, String> (); Redistemplate.setConnectionFactory (Factory); retour redestemplate; }}Créez une classe Redessice.java dans le package de services.
Public Interface RedisService {public void set (clé de chaîne, valeur d'objet); Objet public get (clé de chaîne); }Créez une nouvelle classe d'implémentation de service redéserviceImpl.java.
@ServicePublic Class RedisServiceIMPL implémente Redesservice {@Resource private reidemplate <String, object> redesttemplate; public void set (string key, object value) {valueOperations <string, object> vo = redetemplate.opsforvalue (); vo.set (clé, valeur); } public objet get (string key) {valueOperations <string, object> vo = redetemplate.opsforvalue (); return vo.get (key); }}Créer un nouveau code de couche contrôleur userController.java
@ Contrôleur @ requestmapping (path = "/ user") public class userController {@autowired private userService userService; @Autowired Private Redisservice Redisservice; // Obtenez un utilisateur à partir de redis @ requestmapping (value = "/ getuserFromredis", méthode = requestMethod.get) public @ResponseBody User GetRedis (@RequestParam String key) {return (user) rededservice.get (key); } // Obtenez tous les utilisateurs @RequestMapping (value = "/ getUsers", méthode = requestMethod.get) public @ResponseBody Page <serv> list (modèle modèle, pagable pagable) {return userservice.findall (pagable); } // Ajouter user @getmapping (value = "/ addUser") public @ResponseBody String addUser (@RequestParam String dictum, @RequestParam String Mot de passe, @RequestParam String username) {user user = new user (); user.setDictum (dictum); user.setpassword (mot de passe); user.setUsername (nom d'utilisateur); System.out.println (utilisateur); userService.saveuser (utilisateur); redesservice.set (user.getId () + "", utilisateur); retourner "enregistré"; }}Le code de la classe d'entité User.java conçu dans cet article est le suivant: le stockage d'objets dans Redis nécessite la sérialisation.
@ Entité @ table (name = "S_USER") La classe publique User implémente Serializable {private static final long SerialVersionUID = 1l; @Id @GeneratedValue (Strategy = GenerationType.Auto) ID entier privé; Nom d'utilisateur de chaîne privée; mot de passe de chaîne privé; dicton de chaîne privé; @Onetomany (mappedBy = "user", fetch = fetchType. Lazy, cascade = {cascadeType. All}) private set <Poth> setphoto; // Omit Getter et Setter @Override public String toString () {return "utilisateur [id =" + id + ", username =" + username + ", mot de passe =" + mot de passe + ", dictum =" + dictum + ", setphoto =" + setphoto + "]"; }}Résumer
Ce qui précède est la méthode de la base de données redis de Springboot qui vous est présentée par l'éditeur. J'espère que cela vous sera utile. Si vous avez des questions, veuillez me laisser un message et l'éditeur vous répondra à temps. Merci beaucoup pour votre soutien au site Web Wulin.com!