21

私はRedisを初めて使用します。

Jedisをダウンロードして、クラスパスに追加しました。ただし、Javaオブジェクトを「値」として格納する方法は提供されません。

私は何かが足りないのですか、それともジェダイはJavaオブジェクトを値として保存する方法を提供していませんか?

ありがとう、-Venkat

4

5 に答える 5

15

Java 用の Redis ベースのフレームワーク - Redissonで簡単に実行できます。

RBucket<AnyObject> bucket = redisson.getBucket("anyObject");
// set an object
bucket.set(new AnyObject());
// get an object
AnyObject myObject = bucket.get();

// supports some useful functions like:
bucket.trySet(object);
bucket.compareAndSet(oldObject, newObject);
AnyObject prevObject = bucket.getAndSet(new AnyObject());

シリアル化を処理し、内部接続プールを維持するため、オブジェクトを Redis に送信する必要があるたびに処理する必要はありません。Redisson がそれを行います。Java オブジェクトを操作していたように、Redis を操作します。

多くの一般的なコーデック ( Jackson JSONAvroSmileCBORMsgPackKryo、および)FSTをサポートしています。LZ4SnappyJDK Serialization

免責事項: 私は Redisson の主任開発者です

于 2016-08-26T11:10:54.730 に答える
9

直接的な手段はありません。シリアル化して結果のバイト配列を格納することによってのみ実行できます。スプリングを使用する場合は、 http://static.springsource.org/spring-data/redis/docs/1.0.x/api/org/springframework/data/redis/serializer/package-summary.htmlを参照してください。

于 2012-03-30T23:32:02.030 に答える
7

シリアライゼーションを使用して目的を達成することはできますが、Java オブジェクトを値として格納することは redis の方法ではありません。

Jedis 開発者によるこの回答を参照してください: https://stackoverflow.com/a/12355876/2237351

于 2013-04-09T12:22:07.240 に答える