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存储Object 和 list<object>

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

Redis存取List对象的实践

package redis;import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.u...
  • Bactryki28
  • Bactryki28
  • 2017年05月16日 14:58
  • 3313

Redis 存储List对象

转载:http://blog.csdn.net/gstormspire/article/d    如果需要用到Redis存储List对象,而list又不需要进行操作,可以按照MC的方式进...
  • u011203602
  • u011203602
  • 2015年09月21日 14:25
  • 1264

redis存储对象和集合

使用redis存储对象或集合时,不能直接存储。需要将对象或集 合通过序列化转换为可存储的json,这里使用了fastjson来转型 redis是一个key-value存储系统。和Memcached...
  • javamengxin
  • javamengxin
  • 2017年10月23日 15:53
  • 769

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

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

redis存储对象的方法

一,redis没有直接存储对象的方法,不过redis要以存储字节,所以可以先把对象自己写的一个序列化和反序列化的方法。 package com.gametech.utils; import java...
  • wgslucky
  • wgslucky
  • 2014年03月08日 09:07
  • 7254

Redis缓存Object,List对象

到目前为止(jedis-2.2.0.jar),在Jedis中其实并没有提供这样的API对对象,或者是List对象的直接缓存,即并没有如下类似的API jedis.set(String key, Ob...
  • leledodo
  • leledodo
  • 2016年10月14日 01:11
  • 2901

java使用redis缓存(String,bean,list,map)

代码实现了两种连接方式,一种是切片连接,另一种是非切片连接。但是实现的时候只采用的切片连接,非切片连接也是一样的,不一一列举。 首先实现一个序列化工具: package com.test.util...
  • wang_shuyu
  • wang_shuyu
  • 2016年12月10日 18:40
  • 1940

Redis 存储字符串和对象

今天用redis存储,发现客户端jedis提供的存储方法中存储的类型只有String和byte数据,没有能够存储对象的,网上发现可以序列化存储对象。这就开始了我第一次序列化之旅。 1...
  • abc19900828
  • abc19900828
  • 2014年10月22日 11:24
  • 55050

使用redis存储Java对象

Java序列化为byte数组方式。在Jedis开发中,我们很多时候希望直接把一个对象放到Redis中,然后在需要的时候取出来。Redis的key和value都支持二进制安全的字符串,存储Java对象不...
  • softwave
  • softwave
  • 2016年08月13日 22:53
  • 16796
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Redis存储list对象
举报原因:
原因补充:

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