redis已经应用相当广泛了,但redis本身并没有直接存储对象的方法,我们可以通过转换对象的方式来存储对象。大致总结了如下几种方案:
方案一:序列化对象为二进制
使用redis接口:
jedis.get(byte[] key)
jedis.set(byte[] key, byte[] value)
至于序列化方式,我们有很多种选择,比如:Java serialize,Protobuf,或者自己手动序列化都行
public byte[] serialize(Object obj);
public Object unSerialize(byte[] bytes);
方案二:序列化为字符串
使用redis接口:
jedis.get(String key);
jedis.set(String key, String value);
序列化为字符串,我们也有很多选择:Json(Jackson,FastJson),Xml等方式
方案三:转换对象为map
使用redis接口:
jedis.hgetAll(String key);
jedis.hmset(String key, Map<String,String> values);
参考:
https://my.oschina.net/OutOfMemory/blog/727422
https://my.oschina.net/yuyidi/blog/499951