SpringBoot+Redis簡単に使用
3210 ワード
1.導入依存
pom.xmlに追加
2.プロファイル
アプリケーション.ymlでredis接続情報を構成する
3.使用
Userエンティティークラスの作成
StringRedisTemplate(KeyとValueはString)を使用して、redis内のStringおよびListデータ構造のカスタムUserオブジェクトの格納を完了します.
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
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