在pom.xml中加入java
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>
在application.yml中配置redis鏈接信息git
# 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
建立一個User實體類github
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對象的存儲web
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<User> users){ stringRedisTemplate.opsForList().rightPushAll("users", users.stream().map(JSON::toJSONString).collect(Collectors.toList())); return "success"; } @GetMapping("/users") public Object getUsers(){ List<User> 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; } }
若是在項目啓動或者調用接口時報錯,提示沒法鏈接Redis,能夠對redis.conf作以下配置。在redis的安裝目錄修改配置文件redis
vim redis.confspring
bind 127.0.0.1 改成 bind 0.0.0.0 表示容許任何鏈接
protected-mode yes 改成 protected-mode no 表示關閉保護模式數據庫
而後關閉redis後,使用新的配置文件啓動redis-server。在Redis的目錄json
src/redis-server redis.confvim
項目源碼在:https://github.com/AganRun/Learn/tree/master/SpringBoot-Redis服務器