第一步:依赖包导入(pom.xml)
redis.clients
jedis
2.8.1
org.springframework.data
spring-data-redis
1.7.1.RELEASE
第二步:数据源与配置文件(ApplicationContext-redis.xml 与 redis.properties)
#redis中心
#绑定的主机地址
redis.host=127.0.0.1
#指定Redis监听端口,默认端口为6379
redis.port=6379
#授权密码(可以不使用,默认无密码,如果需要,去安装目录下修改配置)
redis.password=******
#最大空闲数:空闲链接数大于maxIdle时,将进行回收
redis.maxIdle=100
#最大连接数:能够同时建立的“最大链接个数”
redis.maxTotal=200
#最大等待时间:单位ms
redis.maxWait=1000
#使用连接时,检测连接是否成功
redis.testOnBorrow=false
#当客户端闲置多长时间后关闭连接,如果指定为0,表示关闭该功能
redis.timeout=10000
第三步:工具类封装(redisTemplate 和 Jedis各方法的使用)
/**
* redis工具类
* @author cg
* @date 2018年11月27日
*/
@Service("redisDaoSupport")
public class RedisDaoSupport{
//使用注解,引入redisTemplate对象
@Resource(name="redisTemplate")
RedisTemplate redisTemplate;
/**
* 删除/判断(修改此处暂不写,其实就是先删再存)
*/
//删除key和对应的value
public void delete(String key){
redisTemplate.delete(key);
}
//删除多个key和对应的value
public void delete(List keys){
redisTemplate.delete(keys);
}
//判断是否含key
public Boolean hasKey(String key){
return redisTemplate.hasKey(key);
}
/**
* 方式一:以Object形式存取,其实就是强行把各类型.toString之后存取,注意原则怎么存的怎么取,然后强转
*/
//保存key-Object
public void set(String key,Object obj){
redisTemplate.opsForValue().set(key, obj);
}
//获取key-Object
public Object get(String key){
return redisTemplate.opsForValue().get(key);
}
//保存key-Object,同时设置失效时间(秒),也可毫秒,分,时,天,具体进入TimeUnit查看更改。因为redis版本过低 我不支持毫秒级别及以下的 过期时间类型,如有需求升高版本就行
public void setAndTimeOut(String key,Object obj, Integer expise){
redisTemplate.opsForValue().set(key, obj, expise,TimeUnit.SECONDS);
}
/**
* 方式二:以各类型结构形式存取各对象,使用redisTemplate包方法
*/
//String存储
public void setString(String key,String str){
redisTemplate.opsForValue().set(key, str);
}
//String存储(设置失效)
public void setStringAndTimeOut(String key,String str,Integer expise){
redisTemplate.opsForValue().set(key, str);
redisTemplate.expire(key, expise, TimeUnit.SECONDS);
}
//String获取
public String getString(String key){
return redisTemplate.opsForValue().get(key).toString();
}
//List存储
public void setList(String key,List