Redis事务处理具有高吞吐量

时间:2017-03-14 13:03:38

标签: stackexchange.redis

我的问题是关于最佳做法。

我将所有简单的用户页面视图发送到redis。我想做的是每个用户,

应该有一个用户看过的页面列表。 该列表需要限制最多20个项目。 最后,该列表需要有一个到期时间(密钥到期)。 实现是(我使用StackExchange.Redis用于应用程序):

  var transaction = _cache.CreateTransaction();

                transaction.ListLeftPushAsync(key, JsonConvert.SerializeObject(value), When.Always, CommandFlags.FireAndForget);
                transaction.KeyExpireAsync(key, TimeSpan.FromDays(Constants.Constants.TopnUserCacheDurationinDays), CommandFlags.FireAndForget);

                if (new Random().Next(7) == 6)
                {
                    transaction.ListTrimAsync(key, 0, Constants.Constants.TopNUserHistoryLimit, CommandFlags.FireAndForget);
                }

                return transaction.ExecuteAsync();

问题是,这种实施是否有利于我的需求。我觉得smth不对。因为一秒钟内有大约300个请求。因此,我每秒发送1次请求,包含3次作业300次。

有什么建议吗?

0 个答案:

没有答案