开发环境搭建

  1. docker run -d --name redis -p 6379:6379 redis:4.0


图片.png

依赖配置

maven

  1. <dependency>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-data-redis</artifactId>
  4. </dependency>

配置 Redis

  1. # redis config
  2. #redis机器ip
  3. spring.redis.host=127.0.0.1
  4. #redis端口
  5. spring.redis.port=6379
  6. #redis密码
  7. spring.redis.password=
  8. #目标数据库序号
  9. spring.redis.database=1
  10. #redis超时时间(毫秒),如果不设置,取默认值2000
  11. spring.redis.timeout=10000ms
  12. #连接池的最大数据库连接数。
  13. spring.redis.jedis.pool.max-active=300
  14. #最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示无限制。
  15. spring.redis.jedis.pool.max-wait=1000ms

HelloWorld

测试代码

  1. import cn.bx.springbootup.model.CacheValReq;
  2. import org.springframework.data.redis.core.StringRedisTemplate;
  3. import org.springframework.web.bind.annotation.*;
  4. import javax.annotation.Resource;
  5. @RestController
  6. public class RedisController {
  7. @Resource
  8. private StringRedisTemplate stringRedisTemplate;
  9. @PostMapping("/addCacheVal")
  10. public Boolean addCacheVal(@RequestBody CacheValReq req) {
  11. try {
  12. stringRedisTemplate.opsForValue().set(req.getKey(), req.getVal());
  13. } catch (Exception e) {
  14. e.printStackTrace();
  15. return false;
  16. }
  17. return true;
  18. }
  19. @GetMapping("/getCacheVal")
  20. public String getCacheVal(@RequestParam String key) {
  21. return stringRedisTemplate.opsForValue().get(key);
  22. }
  23. }

其中对请求参数CacheValReq的类如下

  1. public class CacheValReq {
  2. private String key;
  3. private String val;
  4. public String getKey() {
  5. return key;
  6. }
  7. public String getVal() {
  8. return val;
  9. }
  10. }

测试 添加数据

  1. curl --location --request POST 'localhost:8080/addCacheVal' \
  2. --header 'Content-Type: application/json' \
  3. --data-raw '{
  4. "key": "k1",
  5. "val": "v1"
  6. }'

测试获取数据

  1. curl --location --request GET 'localhost:8080/getCacheVal?key=k1'