[JAVA] SpringBoot + Redis Démo facile à faire

introduction

Je pense que springboot est le framework le plus simple à utiliser pour les développeurs Java. redis est l'une des bases de données NOSQL les plus populaires. Cette fois, je vais faire une démo de CURD en utilisant springboot et redis.

Préparation préalable

    1. environnement:      SpringBoot      Redis      Gradle
  1. Construction de projet Demandez à Spring Initializr de générer automatiquement un modèle de projet.

Veuillez définir comme suit.    ① Gradle Project    ② Java    ③ Spring Boot 2.1.5

Spring_project.jpg

Ce que j'ai fait

    1. Tout d'abord, définissez les paramètres suivants pour installer la bibliothèque du projet. ① Ouvrez le fichier build.gradle et définissez-le sous la forme d'une valeur-clé comme indiqué ci-dessous.
   dependencies {
      implementation('org.springframework.boot:spring-boot-starter-data-redis')
      implementation('org.springframework.boot:spring-boot-starter-web')
      testImplementation('org.springframework.boot:spring-boot-starter-test')
   }
  1. Placement de service Redis Ouvrez application.properties et ajoutez le contenu suivant. (Vous n'êtes pas obligé d'avoir un mot de passe.)
   server.port=8088
   spring.redis.database=0
   spring.redis.host=localhost
   spring.redis.port=6379
   spring.redis.password=
   spring.redis.timeout=200
    1. La source implémentée.     Tout d'abord, créez RedisConfig.java,
@Configuration
public class RedisConfig {

@Bean
public RedisTemplate<String,Object> redisTemplate(RedisConnectionFactory factory){
    RedisTemplate<String,Object> template = new RedisTemplate <>();
    template.setConnectionFactory(factory);

    Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new  Jackson2JsonRedisSerializer(Object.class);
    ObjectMapper om = new ObjectMapper();
    om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
    om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
    jackson2JsonRedisSerializer.setObjectMapper(om);

    StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
    //Méthode de classement de type chaîne pour la clé
    template.setKeySerializer(stringRedisSerializer);
    //clé de type hachage Méthode de classement de type chaîne
    template.setHashKeySerializer(stringRedisSerializer);
    //valeur Méthode de commande jackson
    template.setValueSerializer(jackson2JsonRedisSerializer);
    //méthode de classement des valeurs de type hachage jackson
    template.setHashValueSerializer(jackson2JsonRedisSerializer);
    template.afterPropertiesSet();
    return template;
  }
}

Après cela, créez RedisService.java pour implémenter diverses fonctions.

    @Service
    public class RedisService {

      /**
       *Bean modèle d'injection redis
       */
      @Autowired
      private RedisTemplate<String,Object> redisTemplate;

      /**
       *Exclusion
       *
       * @clé param Peut 传 1 pièce ou plusieurs pièces
       */
      @SuppressWarnings("unchecked")
      public void del(String... key) {
        if (key != null && key.length > 0) {
          if (key.length == 1) {
            redisTemplate.delete(key[0]);
          } else {
            redisTemplate.delete(CollectionUtils.arrayToList(key));
          }
        }
      }

      /**
       *Abattage ordinaire
       *
           * @touche param 键
       * @retour 值
           */
      public Object get(String key) {
        return key == null ? null : redisTemplate.opsForValue().get(key);
      }

      /**
       *Libération ordinaire
       *
       * @touche param 键
       * @valeur param 值
       * @retourne vrai succès faux congédiement
       */
      public boolean set(String key, Object value) {
        try {
          redisTemplate.opsForValue().set(key, value);
          return true;
        } catch (Exception e) {
          e.printStackTrace();
          return false;
        }
      }
}

Enfin, j'ai fait un contrôleur pour tester la fonction.

@RestController
@RequestMapping(value = "/redis")
public class RedisController {
    /**
     *Bean modèle d'injection redis
     */
      @Autowired
      private RedisService redisService;

      /**
       *sauvegarder(mise à jour)Numéro d'installation
       * @param key
       * @param value
       * @return
       */
      @RequestMapping(value="/add",method=RequestMethod.GET)
      public String add(String key,String value) {
          redisService.set(key, value);

          return "add successfully";
      }

      /**
       *Nombre d'exemptions spécifié
       * @param key
       * @return
       */
      @GetMapping(value="/delete")
      public String delete(String key) {

          redisService.del(key);
          return "delete successfully";
      }

      /**
       *Nombre d'installations spécifié
       * @param key
       * @return
       */
      @GetMapping(value="/get")
      public String get(String key) {
          return redisService.get(key)==null ? "data don't exist!" :     redisService.get(key).toString();
      }
}

tester

Tout d'abord, démarrez le serveur Redis avec redis-server redis.windows.conf. Cela ressemble à ceci:  redis.jpg

Puis démarrez le projet.   ① Testez la fonction de sauvegarde Testateur: {city: tokyo} URL : localhost:8088/redis/add?key=city&value=tokyo Entrez l'URL de test dans votre navigateur et lorsque vous y accédez, vous verrez qu'elle est enregistrée avec succès. Jeu de numéros enregistrés.jpg

② Testez la fonction d'acquisition   URL : localhost:8088/redis/get?key=city Vous voyez, récupérez les données que vous avez enregistrées plus tôt.

Takeshi Kasetsu.jpg

③ Testez la fonction de suppression   URL : localhost:8088/redis/delete?key=city

Supprimez les données enregistrées.

删除数据.jpg

C'est la fin du test.

finalement

Si cet article vous intéresse, téléchargez la source ici par tous les moyens.

Site de l'article original: http://160.16.146.245/u/hyman/blogs/11

c'est tout

Recommended Posts

SpringBoot + Redis Démo facile à faire
Facile à créer Slack Bot avec Java
Facile à créer LINE BOT avec Java Servlet
Comment faire un pot ombré
Facile à entretenir FizzBuzz
Écrivons comment créer une API avec SpringBoot + Docker à partir de 0
Java - Comment créer JTable
Bibliothèque de traitement facile à créer
Pour effectuer des requêtes lourdes de manière asynchrone
[Rails] Comment faire des graines
Array.map facile à utiliser (&: méthode)
Comment identifier le chemin sur lequel il est facile de se tromper