Redis的启动
进入Redis的目录
再打开另外一个控制台,连接已启动Redis
安装Redis的依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!--阿里巴巴fastjson -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.35</version>
</dependency>
阿里巴巴的fastjson用于将实体转换成JSON进行保存
写Redis的配置
# Redis数据库索引(默认为0)
spring.redis.database=0
# Redis服务器地址
spring.redis.host=127.0.0.1
# Redis服务器连接端口
spring.redis.port=6379
# Redis服务器连接密码(默认为空)
spring.redis.password=
# 连接池最大连接数(使用负值表示没有限制)
spring.redis.jedis.pool.max-active=20
# 连接池最大阻塞等待时间(使用负值表示没有限制)
spring.redis.jedis.pool.max-wait=-1
# 连接池中的最大空闲连接
spring.redis.jedis.pool.max-idle=10
# 连接池中的最小空闲连接
spring.redis.jedis.pool.min-idle=0
# 连接超时时间(毫秒)
spring.redis.timeout=1000
写Redis的公用方法
@Service
public class RedisService {
@Resource
private StringRedisTemplate stringRedisTemplate;
/**
* set redis: string类型
* @param key key
* @param value value
*/
public void setString(String key, String value){
ValueOperations<String, String> valueOperations = stringRedisTemplate.opsForValue();
valueOperations.set(key, value);
}
/**
* get redis: string类型
* @param key key
* @return
*/
public String getString(String key){
return stringRedisTemplate.opsForValue().get(key);
}
/**
* set redis: hash类型
* @param key key
* @param filedKey filedkey
* @param value value
*/
public void setHash(String key, String filedKey, String value){
HashOperations<String, Object, Object> hashOperations = stringRedisTemplate.opsForHash();
hashOperations.put(key, filedKey, value);
}
/**
* get redis: hash类型
* @param key key
* @param filedkey filedkey
* @return
*/
public String getHash(String key, String filedkey){
return (String) stringRedisTemplate.opsForHash().get(key, filedkey);
}
/**
* set redis:list类型
* @param key key
* @param value value
* @return
*/
public long setList(String key, String value){
ListOperations<String, String> listOperations = stringRedisTemplate.opsForList();
return listOperations.leftPush(key, value);
}
/**
* get redis:list类型
* @param key key
* @param start start
* @param end end
* @return
*/
public List<String> getList(String key, long start, long end){
return stringRedisTemplate.opsForList().range(key, start, end);
}
/**
* 设置key失效时间
* @param key key
* @param timeout timeout
* @return
*/
public boolean setTimeOut(String key, long timeout){
return stringRedisTemplate.expire(key, timeout, TimeUnit.SECONDS);
}
}
controller层调用
private static final org.slf4j.Logger logger = LoggerFactory.getLogger(Hello.class);
@Resource
private RedisService redisService;
/**
* Redis study
*/
@GetMapping("/opeRedis")
public String opeRedis(){
//测试redis的string类型
redisService.setString("lala","test1");
logger.info("lala为:{}", redisService.getString("lala"));
// 如果是个实体,我们可以使用json工具转成json字符串,
User user = new User("zhangsan", "123456");
redisService.setString("userInfo", JSON.toJSONString(user));
logger.info("用户信息:{}", redisService.getString("userInfo"));
//测试redis的hash类型
redisService.setHash("user","name", JSON.toJSONString(user));
logger.info("用户姓名:{}", redisService.getHash("user","name"));
//测试redis的list类型
redisService.setList("list", "football");
redisService.setList("list", "basketball");
List<String> valList = redisService.getList("list",0,-1);
for(String value :valList){
logger.info("list中有:{}", value);
}
return "success";
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。