0

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

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

public interface ICacheClient : IDisposable
    bool Add<T>(string key, T value, DateTime expiresAt);

public void Add<TValue>(string key, TValue value)where TValue : class, new()
{
   _redisClient.Add(_cachePrefix + key, value);
}

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

_redisClient.GetById<TValue>(91876);

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

IEntityStore
   T Store<T>(T entity);

redisClient.Store(ビデオ);

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

_redisClient.GetById<TValue>(91876);

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

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

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

4

1 に答える 1