发表于: 2018-01-16 21:45:49

1 539


今天完成的事情:(一定要写非常细致的内容,比如说学会了盒子模型,了解了Margin)

redis教程有点多,和繁杂,抄了一个工具类,晚上跑了一下没有跑通,

一直报一个错,查询的时候提示object不能转换为list 

package com.util;

import org.apache.log4j.Logger;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.ValueOperations;

import java.io.Serializable;
import java.util.Set;
import java.util.concurrent.TimeUnit;

/**
* Redis工具类
*/
public class RedisUtil {
private RedisTemplate<Serializable, Object> redisTemplate;
   
   /**
    * 批量删除对应的value        
    *  @param keys
    */
   public void remove(final String... keys) {
for (String key : keys) {
remove(key);
       }
}

/**
    * 批量删除key          
    * @param pattern
    */
   public void removePattern(final String pattern) {
Set<Serializable> keys = redisTemplate.keys(pattern);
       if (keys.size() > 0)
redisTemplate.delete(keys);
   }

/**
    * 删除对应的value  
    * @param key
    */
   public void remove(final String key) {
if (exists(key)) {
redisTemplate.delete(key);
       }
}

/**
    * 判断缓存中是否有对应的value  
    * @param key      
    * @return
    */
   public boolean exists(final String key) {
return redisTemplate.hasKey(key);
   }

/**
    * 读取缓存    
    * @param key    
    * @return
    */
   public Object get(final String key) {
Object result = null;
       ValueOperations<Serializable, Object> operations = redisTemplate
               .opsForValue();
       result = operations.get(key);
       return result;
   }

/**
    * 写入缓存    
    * @param key    
    * @param value      
    * @return
    */
   public boolean set(final String key, Object value) {
boolean result = false;
       try {
ValueOperations<Serializable, Object> operations = redisTemplate
                   .opsForValue();
           operations.set(key, value);
           result = true;
       } catch (Exception e) {
e.printStackTrace();
       }
return result;
   }

/**
    * 写入缓存      
    * @param key    
    * @param value    
    * @return
    */
   public boolean set(final String key, Object value, Long expireTime) {
boolean result = false;
       try {
ValueOperations<Serializable, Object> operations = redisTemplate
                   .opsForValue();
           operations.set(key, value);
           redisTemplate.expire(key, expireTime, TimeUnit.SECONDS);
           result = true;
       } catch (Exception e) {
e.printStackTrace();
       }
return result;
   }

public void setRedisTemplate(
RedisTemplate<Serializable, Object> redisTemplate) {
this.redisTemplate = redisTemplate;
   }
}

明天计划的事情:(一定要写非常细致的内容) 

继续redis
遇到的问题:(遇到什么困难,怎么解决的) 

一直报一个错,查询的时候提示object不能转换为list 

经过多番排查发现idea太智能了...

因为我使用redis的的get方法时候返回的是一个object,结果idea就极其智能的把我的Dao的方法给我改成了object的返回值

就导致后续调用这个借口的地方全部出错...

真是的气人

收获:(通过今天的学习,学到了什么知识)

以后要仔细看编译器的提示..


返回列表 返回列表
评论

    分享到