jeo*_*vre 10
您应该将对象转换为json字符串进行存储,然后读取json并将其转换回您的对象。
您可以使用Gson来这样做。
//store
Gson gson = new Gson();
String json = gson.toJson(myObject);
jedis.set(key,json);
//restore
String json = jedis.get(key);
MyObject object=gson.fromJson(json, MyObject.class);
Run Code Online (Sandbox Code Playgroud)
您不能将对象直接存储到 redis 中。所以将对象转换成String然后放入Redis中。为了做到这一点,你的对象必须被序列化。将对象转换为 ByteArray 并使用某种编码算法(例如 base64encoding)并将其转换为 String 然后存储在 Redis 中。在检索逆过程时,使用解码算法(例如:base64decoding)将字符串转换为字节数组,并将其转换为对象。
我建议使用更方便的库来做到这一点:Redisson - 它是一个基于 Redis 的 Java 框架。与Jedis相比,它有一些优势
Redisson 会为您做到这一点,甚至更多。它支持许多流行的编解码器,例如Jackson JSON、Avro、Smile、CBOR、MsgPack、Kryo、FST、LZ4和。SnappyJDK Serialization
RBucket<AnyObject> bucket = redisson.getBucket("anyObject");
// set an object
bucket.set(new AnyObject());
// get an object
AnyObject myObject = bucket.get();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16375 次 |
| 最近记录: |