如何使用 Redis Java 客户端 Jedis 缓存 Java 对象?
你应该将对象转换为 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);
你不能直接将对象存储到Redis中。因此,将对象转换为字符串,然后将其放入Redis中。为了做到这一点,您的对象必须被序列化。将对象转换为ByteArray并使用某种编码算法(例如base64编码),将其转换为字符串,然后存储在Redis中。在检索时,反转过程,使用解码算法(例如base64解码)将字符串转换为字节数组,然后将其转换为对象。
Jackson JSON
、Avro
、Smile
、CBOR
、MsgPack
、Kryo
、FST
、LZ4
、Snappy
和 JDK Serialization
。RBucket<AnyObject> bucket = redisson.getBucket("anyObject");
// set an object
bucket.set(new AnyObject());
// get an object
AnyObject myObject = bucket.get();