問題タブ [booksleeve]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
960 参照

c# - Basic Booksleeve と Protobuf-net と Lists/SortedSets の実装?

protobuf-net と組み合わせたブックスリーブの使用に関して、かなり基本的な質問がいくつかあります。接続を管理するシングルトン クラスを実装したので、同じ接続を何度も再利用しています。ここで、コンボの実際の使用に関するいくつかの質問があります。

  1. "db" int と "key" 文字列の違い/重要性は何ですか?
  2. protobuf-net を使用して一連のオブジェクトを SortedSet/List にシリアル化するにはどうすればよいですか?
  3. protobuf-net を使用して、SortedSet/List から一連のオブジェクトを逆シリアル化するにはどうすればよいですか?

検索には Range() メソッドを使用する必要があると考えていました。

この件で何か助けていただければ幸いです。ありがとうございました。

0 投票する
1 に答える
469 参照

redis - Appharbor 上の Redis - Booksleeve GetString 例外

appharbor で Redis をセットアップしようとしています。彼らの指示に従いましたが、Booksleeve API に問題があります。最初に機能させるために使用しているコードは次のとおりです。

ただし、問題は文字列を正しく設定することですが、キー値ストアから同じ文字列を取得しようとすると、タスクが実行されるのを待ってタイムアウト例外がスローされます。ただし、このコードはローカルの redis サーバー接続で機能します。

API の使い方が間違っていますか? または、これは Appharbor に関連するものですか?

ありがとう

0 投票する
1 に答える
1692 参照

api - RedisBooksleeve-HashAPIを適切に使用する方法

RedisにBooksleeveハッシュAPIを使用しています。私は次のことをしています:

ただし、Aggregate例外が発生します:「間違った種類の値を保持しているキーに対するERR操作」

ここで何が間違っているのかわかりません(タスクをブロックすることを除いて:))。

注:CurrentConnectionは、BookSleeve.RedisConnectionのインスタンスです。

助けてください!

ありがとう

0 投票する
1 に答える
926 参照

booksleeve - Booksleeve - 複数のハッシュ値を設定して一度に取得する

ハッシュの複数のフィールドを個別に設定し、後でそれらを一度に取得しようとしています。以下のコードは機能するはずですか、それともここで何か間違っていますか? Service Stack サイトからダウンロードした Windows 上の redis-2.0.0-x64 に対してローカルで実行すると、task3 の結果には常に field2 だけが含まれます。

0 投票する
2 に答える
2342 参照

c# - Azure VM で Booksleeve Redis クライアントを使用する場合の Redis 接続エラー

最近、新しい Azure VM でサイド プロジェクトのホスティングを開始しました。アプリは Redis をメモリ内キャッシュとして使用します。ローカル環境ではすべて正常に動作していましたが、コードを Azure に移動したため、Booksleeve から奇妙な例外が発生しています。

アプリが最初に起動すると、すべて正常に動作します。ただし、非アクティブ状態が約 5 ~ 10 分間続くと、アプリへの次のリクエストでネットワーク例外が発生します (私は現在仕事中で、正確なエラー メッセージを把握していないため、家に帰ったら投稿します。これにより、内部の MessageQueue が閉じられ、その結果、後続のすべての Enqueue() で例外がスローされます (「キューが閉じられました」)。

それで、グーグルで調べた後、このSO投稿を見つけました:DIY接続マネージャーについて、BookSleeveを使用してRedis接続を維持しています。それが最善の方法である場合、私は確かに同様のものを実装できます。

だから、質問:

  1. RedisConnection が一定時間後に定期的に閉じるのは正常ですか?
  2. メソッドを見てきconn.SetKeepAlive()ましたが、さまざまな値を試してみましたが、違いはないようです。これ以上のことはありますか、それとも間違ったツリーを吠えていますか?
  3. 上記の投稿からの接続マネージャーのアイデアは、このシナリオを処理するための最良の方法ですか?
  4. 新しい Azure VM で Redis インスタンスをホストするとこの問題が発生する理由について、誰か追加の光を当てることができますか? また、Azure Redis VM に対してローカル環境を実行すると、この問題が発生することも確認できます。

前述のように、非アクティブ後に Redis 接続が停止するのが異常な場合は、家に帰ったときにログからスタック トレースと例外を投稿します。

ありがとう!

UPDATE Didier はコメントで、これは Azure が使用するロードバランサー に関連している可能性があると指摘しました。タイムアウトの詳細.aspx

その場合、このばかげた問題を説明できる接続マネージャーを実装する最良の方法は何でしょうか。作業単位ごとに接続を作成するべきではないと思いますよね?

0 投票する
1 に答える
438 参照

c# - Booksleeveを使用してRedisからC#ビット配列を返すにはどうすればよいですか?

私はこれにすべて間違ってアプローチしている可能性がありますが、REDISビットマップを使用してアプリケーション内のアクティビティを追跡したいと思います。次のようなコードがあります。

エントリ(b1とb2)を問題なく追加できます。ただし、ビット配列としてサーバーからビットマップを取り戻そうとすると、正しく機能しません(値は取得されますが、設定されているビットは完全に正しくありません)。Strings.Get関数を使用してビットを返そうとして何か間違ったことをしていると思いますが、他にどうすればよいかわかりません。それを行う唯一の明白な方法は、私が興味を持っている日付ごとにgetbitを個別に呼び出すことですが、これはサーバーへのかなりの量のラウンドトリップをもたらすようです。どんな助けでもいただければ幸いです!

0 投票する
1 に答える
511 参照

c# - Booksleeve redis クライアントの null 文字列はタイムアウトの原因になりますか?

だから私はこの単体テストを持っています:

結果はタイムアウトです。これは起こるはずですか、それとも私は何か間違ったことをしていますか?

0 投票する
1 に答える
2923 参照

database - Booksleeve と Redis を使用したチェック アンド セット (CAS) 操作

Booksleeve は CAS 操作 (つまり、Redis WATCHコマンド) をサポートしていますか? たとえば、次のようなものをどのように実装しますか?

複数のスレッドが同じオブジェクトを同じデータで変更しようとするときの競合状態を避けるために、これが必要です。

0 投票する
1 に答える
542 参照

c# - Booksleve: 使用する Redis のバージョンは?

Booksleeveに関するこの投稿と、公式の Windows Redis ディストリビューションがないという事実を参照して、ベスト プラクティスは何ですか? Win32 でコンパイルした方が良いですか、それとも「非公式」の win32/64 ディストリビューションが信頼性が高く維持されているのでしょうか?

0 投票する
1 に答える
765 参照

.net - Redis:どのようにINCRして挿入しますか?

CLI を開き、.NET ダミー ソリューションを開きます。ユーザーを作成し、一度にいくつかのデータを挿入したいと思います。CLI/REPLでこれを書いた方法

それはすべて問題ありませんが、これを一度に行うにはどうすればよいですか? 操作の最後にユーザー ID を取得できればいいのですが、実際にはこの例では必要ないので、3 つのコマンドを一度にパイプライン処理したいと考えています。それ、どうやったら出来るの?また、トランザクションでそれを行う必要がありますか?また、挿入する前に名前が存在するかどうかを確認する必要があるかもしれませんが、まだそこまで行っていません。