我使用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