Jedisの2つの方法
5162 ワード
redisでオブジェクトをシーケンス化するときは注意してください.
Jedisには2つの方法があります.
1,keyはstringタイプ、valueもstringタイプである.(必須)
2,keyがバイト配列であるとvaleuもバイト配列に移行する(必須)
keyがvalueに一つ一つ対応する点に注意してください.
体得:新しいことを学ぶ时、apiは一つ一つ呼び出すことができます.彼がどんな状況なのか比較してみよう.
2016年3月23日13:06:30
Jedisには2つの方法があります.
1,keyはstringタイプ、valueもstringタイプである.(必須)
2,keyがバイト配列であるとvaleuもバイト配列に移行する(必須)
keyがvalueに一つ一つ対応する点に注意してください.
体得:新しいことを学ぶ时、apiは一つ一つ呼び出すことができます.彼がどんな状況なのか比較してみよう.
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.EOFException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.HashMap;
import java.util.List;
import redis.clients.jedis.Jedis;
public class Test05 {
public static void main(String[] args) throws Exception {
Jedis jedis = new Jedis("localhost");
HashMap<String,Object> map = new HashMap<String, Object>();
map.put(" ", " ");
map.put(" ", " ");
// : key , String, , key value
jedis.rpushx("keyName".getBytes(),writeObject(map) );
// : vlaue list
List<byte[]> list=jedis.lrange("keyName".getBytes(), 0, -1);
// String
List<String> list2=jedis.lrange("keyName", 0, -1);
}
/**
* .
* , ;
* , .
*/
public static byte[] writeObject(Object o) throws Exception {
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(bos);
oos.writeObject(o);
oos.flush();
oos.close();
bos.close();
return bos.toByteArray();
}
/**
* , .
*/
public static Object readObject(byte[] object) throws Exception{
ByteArrayInputStream bis = new ByteArrayInputStream(object);
ObjectInputStream ois = new ObjectInputStream(bis);
Object o = null;
try {
o = ois.readObject();
} catch(EOFException e) {
System.err.print("read finished");
}
bis.close();
ois.close();
return o;
}
}
2016年3月23日13:06:30