gpt4 book ai didi

redis - 如何使用 ServiceStack Redis 添加对象

转载 作者:可可西里 更新时间:2023-11-01 11:38:05 24 4
gpt4 key购买 nike

我第一次在我的 c# 应用程序中实现 ServiceStack Redis(版本 4),但在存储实体时遇到问题。

我首先在下面的接口(interface)中实现了“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);

所以我实现了“存储”方法(存储相同的实体——(值和视频是相同的对象))并存储与上面相同的实体:

IEntityStore
T Store<T>(T entity);

redisClient.Store(视频);

并通过以下方式检索它:

_redisClient.GetById<TValue>(91876) ;

现在我可以检索实体了。

我的问题是,为什么所描述的存储方法有效,而不是添加方法?

我可以使用 add 方法存储对象吗?

最佳答案

ICacheClient 上的 Add 方法要求您向缓存的实体提供完整的 key 字符串,而 GetById 方法只需要 Id .

ICacheClient 上的所有方法总是需要完整的缓存键来检索缓存数据。 IRedisClient 上的高级 API或 IRedisTypedClient能够仅对实体和 ID 进行操作。

关于redis - 如何使用 ServiceStack Redis 添加对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28997434/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com