我使用Jedis作为连接到Redis服务器的Java客户端。Jedis可以设置Java POJO吗?
问题1:看来没有方法获取/设置对象<?扩展Serializable>?所有的值必须是String或byte []?
其他客户端,如“JRedis”和Spymemcache(用于memcached服务器)可以。
问题2:如果我使用ShardedJedis,它不能设置认证/密码?而Jedis类可以(使用auth(String password))。
我使用Jedis作为连接到Redis服务器的Java客户端。Jedis可以设置Java POJO吗?
问题1:看来没有方法获取/设置对象<?扩展Serializable>?所有的值必须是String或byte []?
其他客户端,如“JRedis”和Spymemcache(用于memcached服务器)可以。
问题2:如果我使用ShardedJedis,它不能设置认证/密码?而Jedis类可以(使用auth(String password))。
回答问题1:
Redisson(用于Java Redis的基础架构)可以用POJO对象。你不需要每次都自己序列化/反序列化对象,并使用连接(获取/释放)。这一切都是由雷森森完成的。
这里是例子:
RBucket<AnyObject> bucket = redisson.getBucket("anyObject");
// set an object
bucket.set(new AnyObject());
// get an object
AnyObject myObject = bucket.get();
,或者您可以使用LiveObjectService。
Redisson支持多种流行的编解码器,像Jackson JSON
,Avro
,Smile
,CBOR
,MsgPack
,Kryo
,FST
,LZ4
,Snappy
和JDK Serialization
。
@xertorthio:感谢您分享JOhm项目的链接,看起来有些有趣!但是,当您提到“我不建议存储您的Java对象序列化,因为您将无法使用所有Redis超酷功能”,您指的是其他Redis超酷功能? –
@Nishant我猜他的意思是像INCR这样的东西对你的数据做原子改变。 –
似乎johm项目不活跃。这是该项目的一个活跃分支:[johm](https://github.com/agrison/johm) – WorM