一般会在Redis中存放键值对,那么如何存放一个对象呢?
1 import redis.clients.RedisClinet;
2 import redis.clients.SerializeUtil;
3 import redis.clients.jedis.Jedis;
4
5 public class Test {
6
7 /**
8 * Administrator
9 * @param args
10 */
11 public static void main(String[] args) {
12
13 // 操作单独的文本串
14 Jedis redis= new Jedis( "10.2.31.38", 6379);
15
16 redis.set( "key", "value");
17 System. out.println(redis.get( "key"));
18 System. out.println(redis.del( "key"));
19
20 // 操作实体类对象
21 Goods good= new Goods(); // 这个Goods实体我就不写了啊
22 good.setName( "洗衣机" );
23 good.setNum(400);
24 good.setPrice(19l);
25 redis.set( "good".getBytes(), SerializeUtil. serialize(good));
26 byte[] value = redis.get( "good".getBytes());
27 Object object = SerializeUtil. unserialize(value);
28 if(object!= null){
29 Goods goods=(Goods) object;
30 System. out.println(goods.getName());
31 System. out.println(goods.getNum());
32 System. out.println(goods.getPrice());
33 }
34 System. out.println(redis.del( "good".getBytes()));
35
36 // 操作实体类对象2(实际上和上面是一样的)
37 String key= "goods-key";
38 Goods g= new Goods();
39 g.setName( "电风扇--d" );
40 g.setNum(200);
41 String temp=RedisClinet. getInstance().set(g, key);
42 System. out.println(temp);
43
44 Object o=RedisClinet. getInstance().get(key);
45 if(o!= null)
46 {
47 Goods g1=(Goods)o;
48 System. out.println(g1.getName());
49 System. out.println(g1.getNum());
50 }
51 System. out.println(RedisClinet. getInstance().del(key));
52
53 }
54 }
55
56
57 2 RedisClinet 客户端类
58 package redis.clients;
59 import redis.clients.jedis.Jedis;
60 /**
61 *
62 * @author ajun
63 *
64 */
65 public class RedisClinet {
66 private static final String ip= "10.2.31.38";
67 private static final int port=6379;
68 protected static RedisClinet redis = new RedisClinet ();
69 protected static Jedis jedis = new Jedis( ip, port);;
70 static {
71
72 }
73 protected RedisClinet(){
74 System. out.println( " init Redis ");
75 }
76 public static RedisClinet getInstance()
77 {
78 return redis;
79 }
80
81 /**set Object*/
82 public String set(Object object,String key)
83 {
84 return jedis.set(key.getBytes(), SerializeUtil.serialize(object));
85 }
86
87 /**get Object*/
88 public Object get(String key)
89 {
90 byte[] value = jedis.get(key.getBytes());
91 return SerializeUtil. unserialize(value);
92 }
93
94 /**delete a key**/
95 public boolean del(String key)
96 {
97 return jedis.del(key.getBytes())>0;
98 }
99
100 }
101
102
103 3 序列化工具类
104
105 /**
106 *
107 */
108 package redis.clients;
109
110 import java.io.ByteArrayInputStream;
111 import java.io.ByteArrayOutputStream;
112 import java.io.ObjectInputStream;
113 import java.io.ObjectOutputStream;
114
115 /**
116 * @author Administrator
117 *
118 */
119 public class SerializeUtil {
120 public static byte[] serialize(Object object) {
121 ObjectOutputStream oos = null;
122 ByteArrayOutputStream baos = null;
123 try {
124 // 序列化
125 baos = new ByteArrayOutputStream();
126 oos = new ObjectOutputStream(baos);
127 oos.writeObject(object);
128 byte[] bytes = baos.toByteArray();
129 return bytes;
130 } catch (Exception e) {
131
132 }
133 return null;
134 }
135
136 public static Object unserialize( byte[] bytes) {
137 ByteArrayInputStream bais = null;
138 try {
139 // 反序列化
140 bais = new ByteArrayInputStream(bytes);
141 ObjectInputStream ois = new ObjectInputStream(bais);
142 return ois.readObject();
143 } catch (Exception e) {
144
145 }
146 return null;
147 }
148 }
















