[JAVA] SpringBoot + Redis Einfache Demo

Einführung

Ich denke, Springboot ist das einfachste Framework für Java-Entwickler. redis ist eine der beliebtesten NOSQL-DBs. Dieses Mal werde ich eine Demo von CURD mit Springboot und Redis machen.

Vorbereitungen

    1. Umgebung:      SpringBoot      Redis      Gradle
  1. Projektaufbau Bitten Sie Spring Initializr, automatisch eine Projektvorlage zu generieren.

Bitte wie folgt einstellen.    ① Gradle Project    ② Java    ③ Spring Boot 2.1.5

Spring_project.jpg

Was ich getan habe

    1. Nehmen Sie zunächst die folgenden Einstellungen vor, um die Bibliothek für das Projekt zu installieren. ① Öffnen Sie die Datei build.gradle und legen Sie sie wie unten gezeigt in Form eines Schlüsselwerts fest.
   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. Redis Service Placement Öffnen Sie application.properties und fügen Sie den folgenden Inhalt hinzu. (Sie müssen kein Passwort haben.)
   server.port=8088
   spring.redis.database=0
   spring.redis.host=localhost
   spring.redis.port=6379
   spring.redis.password=
   spring.redis.timeout=200
    1. Die implementierte Quelle.     Erstellen Sie zunächst 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();
    //String-ähnliche Bestellmethode für Schlüssel
    template.setKeySerializer(stringRedisSerializer);
    //Hash-ähnlicher Schlüssel String-ähnliche Bestellmethode
    template.setHashKeySerializer(stringRedisSerializer);
    //Wert Bestellmethode Jackson
    template.setValueSerializer(jackson2JsonRedisSerializer);
    //Hash-ähnliche Wertbestellungsmethode Jackson
    template.setHashValueSerializer(jackson2JsonRedisSerializer);
    template.afterPropertiesSet();
    return template;
  }
}

Erstellen Sie anschließend RedisService.java, um verschiedene Funktionen zu implementieren.

    @Service
    public class RedisService {

      /**
       *Injection Redis Template Bean
       */
      @Autowired
      private RedisTemplate<String,Object> redisTemplate;

      /**
       *Ausschluss
       *
       * @Parameterschlüssel Kann piece 1 Stück oder viele Stücke
       */
      @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));
          }
        }
      }

      /**
       *Gewöhnliches Schlachten
       *
           * @Parametertaste 键
       * @Rückkehr 值
           */
      public Object get(String key) {
        return key == null ? null : redisTemplate.opsForValue().get(key);
      }

      /**
       *Ordentliche Freigabe
       *
       * @Parametertaste 键
       * @Parameterwert 值
       * @Rückgabe wahrer Erfolg falsche Entlassung
       */
      public boolean set(String key, Object value) {
        try {
          redisTemplate.opsForValue().set(key, value);
          return true;
        } catch (Exception e) {
          e.printStackTrace();
          return false;
        }
      }
}

Schließlich habe ich einen Controller erstellt, um die Funktion zu testen.

@RestController
@RequestMapping(value = "/redis")
public class RedisController {
    /**
     *Injection redis Template Bean
     */
      @Autowired
      private RedisService redisService;

      /**
       *sparen(aktualisieren)Nummerninstallation
       * @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";
      }

      /**
       *Angegebene Anzahl von Ausnahmen
       * @param key
       * @return
       */
      @GetMapping(value="/delete")
      public String delete(String key) {

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

      /**
       *Angegebene Anzahl von Installationen
       * @param key
       * @return
       */
      @GetMapping(value="/get")
      public String get(String key) {
          return redisService.get(key)==null ? "data don't exist!" :     redisService.get(key).toString();
      }
}

Prüfung

Starten Sie zuerst den Redis-Server mit dem Redis-Server redis.windows.conf. Es sieht aus wie das:  redis.jpg

Starten Sie dann das Projekt.   ① Testen Sie die Speicherfunktion Testator: {Stadt: Tokio} URL : localhost:8088/redis/add?key=city&value=tokyo Geben Sie die Test-URL in Ihren Browser ein und wenn Sie darauf zugreifen, werden Sie sehen, dass sie erfolgreich gespeichert wird. Gespeicherte Nummer set.jpg

② Testen Sie die Erfassungsfunktion   URL : localhost:8088/redis/get?key=city Sie sehen, erhalten Sie die Daten, die Sie zuvor gespeichert haben.

Takeshi Kasetsu.jpg

③ Testen Sie die Löschfunktion   URL : localhost:8088/redis/delete?key=city

Löschen Sie die gespeicherten Daten.

删除数据.jpg

Dies ist das Ende des Tests.

Schließlich

Wenn Sie an diesem Artikel interessiert sind, laden Sie die Quelle hier herunter auf jeden Fall.

Originalartikel-Website: http://160.16.146.245/u/hyman/blogs/11

das ist alles

Recommended Posts

SpringBoot + Redis Einfache Demo
Einfach, Slack Bot mit Java zu machen
Einfacher LINE BOT mit Java Servlet
Wie man ein schattiertes Glas macht
Einfach zu wartender FizzBuzz
Lassen Sie uns schreiben, wie API mit SpringBoot + Docker von 0 erstellt wird
Java - So erstellen Sie JTable
Einfach zu erstellende Verarbeitungsbibliothek
Schwere Abfragen asynchron durchführen
[Schienen] Wie man Samen macht
Einfach zu bedienende array.map (&: Methode)
So identifizieren Sie den Pfad, auf dem leicht Fehler gemacht werden können