SPRING_BOOT 集成REDIS
一、Redis 下载与安装
基于Windows平台下64位机器的安装
下载安装包,直接进行安装,这里默认安装在 C盘
二、Redis文件目录介绍
在这里我们只需要关注三个文件
Redis.windows-service.conf 配置文件
此配置文件如果不默认修改密码,则redis服务启动,不需要密码验证
这里我们设置为初始密码为123456
Redis-service 为redis服务启动
这里我们制定加载配置文件启动
命令为:reids-service.exe –service-start redis.windows-service.conf
加载完成之后,我们启动redis-cli客户端
获取所有的key值,则提示权限认证
这个时候我们输入密码,进行访问
三、Spring-boot进行集成Redis
1) pom文件添加依赖
2) application.properties添加配置属性
四、Spring-boot进行集成
1) 新建一个redis工具包
2) 新建RedisConf\RedisPoolFactory两个类
RedisConfig.java
RedisPoolFactory
3) RedisServer类的创建(这主要是添加了一个set、get方法)
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1 package miaosha.miaosha.redis; 2 3 4 5 import org.springframework.beans.factory.annotation.Autowired; 6 7 import org.springframework.context.annotation.Bean; 8 9 import org.springframework.stereotype.Service; 10 11 12 13 import com.alibaba.fastjson.JSON; 14 15 16 17 import redis.clients.jedis.Jedis; 18 19 import redis.clients.jedis.JedisPool; 20 21 import redis.clients.jedis.JedisPoolConfig; 22 23 24 25 @Service 26 27 public class RedisService { 28 29 30 31 @Autowired 32 33 JedisPool jedisPool; 34 35 36 37 @Autowired 38 39 RedisConfig redisConfig; 40 41 //这里用了jedis原生的客户端 42 43 //链接:https://github.com/xetorthio/jedis 44 45 public <T> T get(String key,Class<T> clazz){ 46 47 Jedis jedis = null; 48 49 try{ 50 51 jedis = jedisPool.getResource(); 52 53 String str = jedis.get(key); 54 55 T t = stringToBean(str,clazz); 56 57 return t; 58 59 }finally{ 60 61 returnToPool(jedis); 62 63 } 64 65 } 66 67 68 69 @SuppressWarnings("unchecked") 70 71 private <T> T stringToBean(String str,Class<T> clazz) { 72 73 if(str == null || str.length() < 0 || clazz == null){ 74 75 return null; 76 77 } 78 79 if(clazz == int.class || clazz == Integer.class){ 80 81 return (T)Integer.valueOf(str); 82 83 }else if(clazz == String.class){ 84 85 return (T)str; 86 87 }else if(clazz == long.class || clazz == Long.class){ 88 89 return (T)Long.valueOf(str); 90 91 }else { 92 93 return JSON.toJavaObject(JSON.parseObject(str), clazz); 94 95 } 96 97 } 98 99 100 101 private void returnToPool(Jedis jedis) { 102 103 if(jedis != null){ 104 105 jedis.close(); 106 107 } 108 109 } 110 111 112 113 public <T> boolean set(String key,T value){ 114 115 Jedis jedis = null; 116 117 try{ 118 119 jedis = jedisPool.getResource(); 120 121 String str = beanToString(value); 122 123 if(str == null || str.length() <= 0){ 124 125 return false; 126 127 } 128 129 jedis.set(key, str); 130 131 return true; 132 133 }finally{ 134 135 returnToPool(jedis); 136 137 } 138 139 } 140 141 142 143 public <T> String beanToString(T value){ 144 145 if(value == null ){ 146 147 return null; 148 149 } 150 151 152 153 Class<?> clazz = value.getClass(); 154 155 if(clazz == int.class || clazz == Integer.class){ 156 157 return ""+value; 158 159 }else if(clazz == String.class){ 160 161 return (String)value; 162 163 }else if(clazz == long.class || clazz == Long.class){ 164 165 return ""+value; 166 167 }else{ 168 169 return JSON.toJSONString(value); 170 171 } 172 173 } 174 175 }
五、服务启动
Controller来进行调用