5

私はRedisとBookSleeveの両方に不慣れです。BookSleeveとServiceStack.Redisのどちらを使用すべきかを評価しています。

ServiceStackの方がはるかにわかりやすいように見えますが、BookSleeveが提供するパイプラインのアイデアが気に入っています。

RedisとBookSleeveを実行していて、文字列の取得と設定は簡単ですが、pocosなどのオブジェクトのコレクションの設定と取得の例を見つけるのに苦労しています。

public class MyType
{
....
}

IEnumerable<MyType> types = ....

BookSleeveを使用してこれらを取得および設定するにはどうすればよいですか?

ありがとう。

4

2 に答える 2

5

BookSleeveはAPIを読み取り/書き込み文字列とblob(byte [])に公開しますが、特定のシリアル化ルートを強制したり、コレクションを単一の値として保存するか、リストとして保存するかを指示したりすることはありません。

基本的に、BookSleeveを使用すると、好きなシリアライザー(XML、json、protobufなど)を介して個別にシリアライズし、それを送信ます。これは通常、約2行または3行のコード(多くの場合、MemoryStreamを含む)です。

于 2013-01-27T10:00:42.240 に答える
1

ServiceStack.Redisを使用する場合、それは次の問題です。

var redisClient = new RedisClient();
redisClient.StoreAll(myTypes);

探しているパイプライン機能はわかりませんが、 ServiceStack.RedisのトランザクションAPI(常にパイプライン化されます)を使用してカスタムパイプライン操作を作成できます。または、使用できるトランザクション内で操作を実行したくない場合は、Redis.CreatePipeline()これらのテストを参照してくださいいくつかの例については

于 2013-01-27T04:04:14.367 に答える