备注:

  springboto整合redis依赖于spring-boot-starter-data-redis这个jar

一,项目环境和依赖

  1.POM.xml配置

    <parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.1.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>

  2.application.properties文件配置

#=========redis基础配置=========
spring.redis.database=0
spring.redis.host=127.0.0.1
spring.redis.port=6379
# 连接超时时间 单位 ms(毫秒)
spring.redis.timeout=3000 #=========redis线程池设置=========
# 连接池中的最大空闲连接,默认值也是8。
spring.redis.pool.max-idle=200 #连接池中的最小空闲连接,默认值也是0。
spring.redis.pool.min-idle=200 # 如果赋值为-1,则表示不限制;pool已经分配了maxActive个jedis实例,则此时pool的状态为exhausted(耗尽)。
spring.redis.pool.max-active=2000 # 等待可用连接的最大时间,单位毫秒,默认值为-1,表示永不超时
spring.redis.pool.max-wait=1000

二.测试代码

@RestController
@RequestMapping("/api/v1/redis")
public class RdisTestController { @Autowired
private StringRedisTemplate redisTpl; //jdbcTemplate @Autowired
private RedisClient redis; @GetMapping(value="add")
public Object add(){ //redisTpl.opsForValue().set("name", "xdclass2018");
redis.set("username", "xddddddd");
return JsonData.buildSuccess(); } @GetMapping(value="get")
public Object get(){ //String value = redisTpl.opsForValue().get("name");
String value = redis.get("username");
return JsonData.buildSuccess(value); } @GetMapping(value="save_user")
public Object saveUser(){
User user = new User(1, "abc", "11", new Date());
String userStr = JsonUtils.obj2String(user);
//项目名:模块名:id/或者其他相关参数
boolean flag = redis.set("base:user:11", userStr);
return JsonData.buildSuccess(flag); } @GetMapping(value="find_user")
public Object findUser(){ String userStr = redis.get("base:user:11");
User user = JsonUtils.string2Obj(userStr, User.class); return JsonData.buildSuccess(user); } }

三:代码规范

  注意:使用Redis缓存数据时,key的命名规范建议:

    项目名:模块名:特殊(标识)   例如   base:user:id

  这样做的好处是可以在redis中直观的看到各个模块的缓存数据

  例如:使用RDM工具观察到,按以上方式创建的key,会自动创建层级文件夹

  

代码地址:

  

最新文章

  1. Javascript权威指南——第一章Javascript概述
  2. php获取一维,二维数组长度的方法(有实例)
  3. jq 截取字符串
  4. 决策树ID3算法示例
  5. make menuconfig 出错
  6. 【3】docker命令集
  7. 红米 Note3 (kenzo)刷入 Lineage OS
  8. 广州.NET微软技术俱乐部 - 动手实验室
  9. MySQL空间索引简单使用
  10. day25类的组合多态封装
  11. POJ3468(线段树区间求和+区间查询)
  12. 解决IE弹框提示“是否停止运行此脚本”问题
  13. openstack部署心得
  14. 迷你MVVM框架 avalonjs 学习教程13、模板引用
  15. windows多线程同步
  16. c语言格式控制符
  17. IDEA 配置
  18. Alpha 冲刺 —— 十分之二
  19. CSS学习笔记(11)--Flex 布局教程:语法篇
  20. ulua

热门文章

  1. java写文件UTF-8格式
  2. ltp-ddt smp_cpu_affinity
  3. 线程安全与非线程安全集合说一下,底层怎么实现的(hashmap,concurrenthashmap)
  4. CentOS-7 开放80端口
  5. call_user_func_array — 调用回调函数,并把一个数组参数作为回调函数的参数
  6. vue中v-model详解
  7. 谷歌使用navigator.mediaDevices.getUserMedia 调用摄像头拍照功能,不兼容IE
  8. 51nod 1714:B君的游戏(博弈 sg打表)
  9. 【leetcode】1023. Camelcase Matching
  10. js-放大镜效果