Redis的启动

进入Redis的目录
QQ图片20200121155641.png
再打开另外一个控制台,连接已启动Redis
QQ图片20200121155755.png

安装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";  
}

stray
129 声望10 粉丝

引用和评论

1 篇内容引用
0 条评论