springboot(2.1.1.RELEASE)+StringRedisTemplate的简单使用
1.引入pom文件
org.springframework.boot
spring-boot-starter-data-redis
org.springframework.boot
spring-boot-starter-web
commons-lang
commons-lang
2.0
2.配置application.properties文件
# Redis数据库索引(默认为0)
spring.redis.database=0
# Redis服务器地址
spring.redis.host=127.0.0.1
# Redis服务器连接端口
spring.redis.port=6379
# Redis服务器连接密码(默认为空)
spring.redis.password=123456
# 连接池最大连接数(使用负值表示没有限制)
spring.redis.pool.max-active=200
# 连接池最大阻塞等待时间(使用负值表示没有限制)
spring.redis.pool.max-wait=-1
# 连接池中的最大空闲连接
spring.redis.pool.max-idle=10
# 连接池中的最小空闲连接
spring.redis.pool.min-idle=0
# 连接超时时间(毫秒)
spring.redis.timeout=1000
ps:修改Redis的密码
3.初步整合Redis
@Service
public class RedisService {
@Autowired
private StringRedisTemplate template; //引入StringRedisTemplate 模板
public void setString(String key, String value, Long time) {
this.setObject(key, value, time);
}
public void setString(String key, String value) {
this.setObject(key, value, null);
}
public void setList(String key, String value, Long time) {
this.setObject(key, value, time);
}
public void setList(String key, List<String> value) {
this.setObject(key, value, null);
}
public void setObject(String key, Object value, Long time) {
// redis数据类型:set,zset,list,hash,string
if (StringUtils.isEmpty(key) || value == null) {
return;
}
// String 类型
if (value instanceof String) {
String strValueString = (String) value;
template.opsForValue().set(key, strValueString);
if (time != null) {
template.opsForValue().set(key, strValueString, time, TimeUnit.SECONDS);
}
return;
}
// List 类型
if (value instanceof List) {
@SuppressWarnings("unchecked")
List<String> listValue = (List<String>) value;
for (String string : listValue) {
template.opsForList().leftPush(key, string);
}
return;
}
//其他的略……
}
//获取值
public String getStringKey(String key) {
return template.opsForValue().get(key);
}
//List取值
public List<String> getListKey(String key) {
return template.opsForList().range(key, 0, -1);
}
}
4.操作数据
@RestController
public class IndexController {
@Autowired
private RedisService service;
@RequestMapping("/setString")
public String setString(String key, String value) {
service.setString(key, value);
return "Success";
}
@RequestMapping("/getStringValue")
public String getStringValue(String key) {
return service.getStringKey(key);
}
@RequestMapping("/setList")
public String setList(String key) {
List<String> list = new ArrayList<String>();
list.add("123");
list.add("nihaoya");
service.setList(key, list);
return "Success";
}
@RequestMapping("/getListValue")
public List<String> getListValue(String key) {
return service.getListKey(key);
}
}
5.查看结果
String类型
List类型
最后查询到的结果
6.Redis Windows版和客户端下载连接
链接:https://pan.baidu.com/s/1xJH8-yfG-QgYcj4o3XTMXQ
提取码:kkt2