問題タブ [servicestack.redis]

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 投票する
1 に答える
488 参照

c# - RedisClientManager、タイプ 'System.StackOverflowException' の未処理の例外が mscorlib.dll で発生しました

私はRedisClientManagerを使用していますが、オブジェクトを設定しようとしているときに、タイプ「System.StackOverflowException」の未処理の例外がmscorlib.dllエラーで発生しました

そしてユーザー:

ApplicationUser のシリアル化中にエラーが発生しまし[JsonIgnore]た。入れ子になったループのために ICollection を追加しようとしました (クーポンにユーザーが含まれています)。何が問題なのかわかりません。

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

c# - ServiceStack.Redis GetNextSequence 呼び出しは何を redis データベースに入れますか?

ドキュメントを検索しましたが、IRedisTypedClient の "GetNextSequence" を追跡するために redis データベース (もしあれば) に入れられたものが見つかりませんでした。これは、自分のキー以外の追加のキーが表示されるようになったためです。これらの余分なキーを取得するために何か間違ったことをしているのか、それとも特定の値を追跡する ServiceStack の方法なのかはわかりません。もしそうなら、いつこれを行うのか知りたいので、表示されているすべての「ブレッドクラム」が何であるかを知っています.

これが私の簡単な例です:

GetNextSequence を実行すると、自分でストレージを行う前に、seq:BucketInfo を redis データベースに入れます。これは予想通りですか?

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

c# - IRedisClient からキャッシュのみのキャッシュ ヒットのキーと値のマッピングを取得する

ServiceStack が提供する Redis クライアントの v3 を使用しています。私は「デコレータ パターン」を実装しており、キャッシュ ミスがあった場合にデータのリポジトリを参照できるように、キャッシュ ロジックをリポジトリにラップするクラスを用意しています。問題はnull、エントリが存在するようにキャッシュに追加したいが、値がない場合があることです。これは、その値のデータベースにアクセスしないことを意味します。

私が知る必要があるのは、インターフェイスのキャッシュ ヒットのみのキー/値のマッピングを取得する方法があるかどうかです。IRedisClient

このインターフェイスを使用してキャッシュから値を取得するには、複数の方法があります。まず、方法を試してみましたGetAll<T>。これは、キャッシュからアイテムを返し、T存在しない場合はデフォルト値を返します。nullこれは、特定のキーのエントリを追加したように見えるため、役に立ちません。

次に試しGetValuesてみましたが、見つかった値のみが返され、関連するキーは返されません。

最後に、試してみGetValuesMap<T>ましたが、これはまったく同じように動作するようGetAll<T>です。

キャッシュヒットのみのマッピングを取得する方法を知っている人はいますか?

ありがとう!

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

c# - ServiceSTack.Redis で使用するコンテナーをセットアップする方法

初めて Redis キャッシングを実装しようとしています

C# アプリケーションに ServiceStack.Redis ライブラリをダウンロードしました

ここの指示に従っています: https://github.com/ServiceStack/ServiceStack.Redis

最初のステップはプールを作成することだと想定しているので、これを試しました

container.Register のようにコンテナをセットアップするにはどうすればよいですか

IoC コンテナーに関するこの記事を読みましたが、これについて頭を悩ませることができます。

コンテナーを作成する必要があるのはなぜですか? また、プールを作成できるようにコンテナーを実装するにはどうすればよいですか?

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

redis - Redis マスターとスレーブを ServiceStack クライアント マネージャーに正しく登録する方法は?

Google Compute Engine でデフォルトの Redis クラスターをプロビジョニングすると、1 つのマスターと 2 つの読み取り専用スレーブがあり、各マシンで Redis Sentinel が実行されています。以前のクラスターを考えると、ServiceStack サービスでこれを使用したいと思いますが、Sentinel の設定には困惑しています。通常、次のようなことを行います。

このセットアップではいくつかの点が不完全です。マスターと 2 つの読み取り専用スレーブを指定し、Sentinel を構成するにはどうすればよいですか?

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

redis - ServiceStack Redis 接続文字列をフォーマットする方法

以下のRedis接続文字列をフォーマットするにはどうすればよいですか:

接続文字列: myIP、keepAlive=180、ConnectRetry=30、ConnectTimeout=5000

単体テストの作成を開始しましたが、入力文字列が正しい形式ではありませんというエラー メッセージが表示され続ける

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

redis - ServiceStack Redis でオブジェクトを追加する方法

エンティティの保存に問題があるため、初めて C# アプリケーションに ServiceStack Redis (バージョン 4) を実装しています。

最初に、以下のインターフェースで「add」メソッドを実装しました。

これは、取得時に null に戻ったオブジェクトを格納していないようです。

そのため、代わりに「store」メソッドを実装し (同じエンティティを格納します—(値とビデオは同じオブジェクトです))、上記と同じエンティティを格納します。

redisClient.Store(ビデオ);

そしてそれを取得しました:

_redisClient.GetById<TValue>(91876);

これで、エンティティを取得できます。

私の質問は、add メソッドではなく、説明されている store メソッドが機能するのはなぜですか?

add メソッドでオブジェクトを保存できますか?

0 投票する
0 に答える
86 参照

c# - ServiceStack.Redis で空のリストを使用する

ServiceStack.Redis では、リストに少なくとも 1 つのエントリが含まれている場合にのみ、キーを持つリストが redis に存在します。
その特定のリストからすべてのエントリが削除された場合は、次のコマンドを実行します。

対応するリスト キーが redis から削除されたことを示します。値なしでリストをredisに持つことは可能ですか? リストが作成されると、値が追加されます/そのリストからすべての値が削除された後でも、KEYS * コードが実行されたときに対応するキーが使用可能になるはずです

このようなリスト/セットの作成方法