SpringBoot+Redis簡単に使用

3210 ワード

1.導入依存
pom.xmlに追加

    org.springframework.boot
    spring-boot-starter-data-redis

2.プロファイル
アプリケーション.ymlでredis接続情報を構成する
# Redis     (   0)
# Redis     
# Redis       
#         (          )
#            (          )
#            
#            
#       (  )
spring:
  redis:
    database: 0
    host: 192.168.88.200
    port: 6379
    jedis:
      pool:
        max-active: 20
        max-wait: -1
        max-idle: 10
        min-idle: 0
    timeout: 1000

3.使用
Userエンティティークラスの作成
import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.data.redis.serializer.JdkSerializationRedisSerializer;

@Data
@Accessors(chain = true)
public class User extends JdkSerializationRedisSerializer {

    private Integer id;
    private String name;
}

StringRedisTemplate(KeyとValueはString)を使用して、redis内のStringおよびListデータ構造のカスタムUserオブジェクトの格納を完了します.
import com.agan.entity.User;
import com.alibaba.fastjson.JSON;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;

@RestController
public class RedisController {

    @Autowired
    private StringRedisTemplate stringRedisTemplate;

    @PostMapping("/user")
    public Object addUser(@RequestBody User user){
        stringRedisTemplate.opsForValue().set("user", JSON.toJSONString(user));
        return "success";
    }

    @GetMapping("/user")
    public User getUser(){
        return JSON.parseObject(stringRedisTemplate.opsForValue().get("user"), User.class);
    }

    @PostMapping("/users")
    public Object addUsers(@RequestBody List users){
        stringRedisTemplate.opsForList().rightPushAll("users", users.stream().map(JSON::toJSONString).collect(Collectors.toList()));
        return "success";
    }

    @GetMapping("/users")
    public Object getUsers(){
        List users = new ArrayList<>();
        while (true){
            User user = JSON.parseObject(stringRedisTemplate.opsForList().leftPop("users"), User.class);
            if (Objects.isNull(user)) {
                break;
            }
            users.add(user);
        }
        return users;
    }

}

PS
プロジェクトの起動または呼び出しインタフェースでエラーが発生し、Redisに接続できないことを示すメッセージが表示された場合は、redis.confを次のように構成できます.redisのインストールディレクトリでプロファイルを変更する
vim redis.conf
bind 127.0.0.1からbind 0.0.0.0に変更すると、任意の接続protected-mode yesをprotected-mode noに変更すると、保護モードがオフになります.
その後redisを閉じると、新しいプロファイルを使用してredis-serverを起動します.Redisのディレクトリ
src/redis-server redis.conf
プロジェクトソース:https://github.com/AganRun/Learn/tree/master/SpringBoot-Redis