Redis存储list对象

原创 2017年08月26日 14:02:41
public class JdModel implements Serializable{
	
	private String bookID;
    private String bookName;
    private String bookPrice;
    public String getBookID() {
        return bookID;
    }
    public void setBookID(String bookID) {
        this.bookID = bookID;
    }
    public String getBookName() {
        return bookName;
    }
    public void setBookName(String bookName) {
        this.bookName = bookName;
    }
    public String getBookPrice() {
        return bookPrice;
    }
    public void setBookPrice(String bookPrice) {
        this.bookPrice = bookPrice;
    }

}

public class SerializeUtil {
	
	public static byte[] serializeListObject(List<?> object) {
        ObjectOutputStream oos = null;
         ByteArrayOutputStream baos = null;
         try {
              // 序列化
             baos = new ByteArrayOutputStream();
             oos = new ObjectOutputStream(baos);
             //oos.writeObject(object);
             for(Object obj : object){  
            	 oos.writeObject(obj);  
             }  
              byte[] bytes = baos.toByteArray();
              return bytes;
        } catch (Exception e) {

        }
         return null;
  }
	
	public static byte[] serialize(Object object) {
        ObjectOutputStream oos = null;
         ByteArrayOutputStream baos = null;
         try {
              // 序列化
             baos = new ByteArrayOutputStream();
             oos = new ObjectOutputStream(baos);
             oos.writeObject(object);
              byte[] bytes = baos.toByteArray();
              return bytes;
        } catch (Exception e) {

        }
         return null;
  }

   public static Object unserialize( byte[] bytes) {
        ByteArrayInputStream bais = null;
         try {
              // 反序列化
             bais = new ByteArrayInputStream(bytes);
             ObjectInputStream ois = new ObjectInputStream(bais);
              return ois.readObject();
        } catch (Exception e) {

        }
         return null;
  }
   
   
   public static List<Object> deserialize(byte[] in) {  
       List<Object> list = new ArrayList();  
       ByteArrayInputStream bis = null;  
       ObjectInputStream is = null;  
       try {  
           if(in != null) {  
               bis=new ByteArrayInputStream(in);  
               is=new ObjectInputStream(bis);  
               while (true) {  
            	   Object obj=(Object) is.readObject();  
                   
                   if(obj == null){  
                       break;  
                   }else{  
                       list.add(obj);  
                   }  
               }  
               is.close();  
               bis.close();  
           }  
       } catch (IOException e) {  
        
       }  catch (ClassNotFoundException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	} finally {  
          
       }  
       return list;  
   } 
   

}

jedis.set("jdModelList".getBytes(), SerializeUtil.serializeListObject(bookdatas));
    	  byte[] in = jedis.get("jdModelList".getBytes());  
          List<Object> list = SerializeUtil.deserialize(in); 
          for(int i=0;i<list.size();i++){
        	  JdModel model= (JdModel)list.get(i);
        	  System.out.println(model.getBookName());
          }

相关文章推荐

Redis 存储List对象

如果需要用到Redis存储List对象,而list又不需要进行操作,可以按照MC的方式进行存储,不过Jedis之类的客户端没有提供API,可以有两种思路实现: 1.      分别序列化 eleme...

Redis 存储List对象

如果需要用到Redis存储List对象,而list又不需要进行操作,可以按照MC的方式进行存储,不过Jedis之类的客户端没有提供API,可以有两种思路实现: 1.    分别序列化 element...
  • dczjzz
  • dczjzz
  • 2016年07月29日 23:16
  • 152

redis存储List集合

  • 2015年06月16日 16:22
  • 1.47MB
  • 下载

jni操作list集合,来存储对象

  • 2011年12月01日 14:02
  • 88KB
  • 下载

Redis存储Object 和 list<object>

Redis 存储支持的类型没有object ,虽然有支持list,但是只支持List 有两种方法可以实现存储对象和泛型 1.用序列化和反序列化 2.json 序列化工具类,实现序列化和反序列话对象...
  • tuposky
  • tuposky
  • 2015年04月28日 17:56
  • 10472

Redis中List存储类型

在Redis中,List类型是按照插入的顺序排序的字符串链表。和数据结构中的普通链表一样,可以在其头部(left)和尾部(right)添加新的元素。在插入元素时,如果该键不存在,Redis将为该键创建...

Redis存储List<T>集合

spring与redis整合配置文件:
  • Kincym
  • Kincym
  • 2017年05月24日 15:29
  • 157

Redis序列化存储Java集合List等自定义类型

在“Redis学习总结和相关资料”http://blog.csdn.net/fansunion/article/details/49278209这篇文章中,对Redis做了总体的介绍,演示了Jedis...

Redis缓存Object,List对象

到目前为止(jedis-2.2.0.jar),在Jedis中其实并没有提供这样的API对对象,或者是List对象的直接缓存,即并没有如下类似的API jedis.set(String key, Ob...

Redis对字符串、Hash(对象)、列表(List)处理的操作命令

参数说明 在windows下 redis.windows.conf 配置项说明如下: 1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程   ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Redis存储list对象
举报原因:
原因补充:

(最多只允许输入30个字)