【问题标题】:How to Add/Update/Delete a value in Redis cache如何在 Redis 缓存中添加/更新/删除值
【发布时间】:2019-06-13 04:32:16
【问题描述】:

我是分布式缓存的新手,我有下面的代码,如果它不存在,它将数据库表中的用户列表值存储在缓存中。

var cacheKey ="samplekey";

var userListdata = //contains list of users from a db table

var data = _distributedCache.GetString(cacheKey);
if (!string.IsNullOrEmpty(data))
{
    var tModel = JsonConvert.DeserializeObject<List<user>>(data);
    return new CommandActionResult<List<user>>(tModel, CommandActionStatus.NothingModified);
}
else
{
    var jsonData = JsonConvert.SerializeObject(userListdata);
    _distributedCache.SetString(cacheKey, jsonData);
    return new CommandActionResult<List<user>>(null, CommandActionStatus.NothingModified);
}

如果我有一个新用户要从表中添加/删除/更新,我该如何添加/更新/删除 samplekey 缓存键?

【问题讨论】:

  • 你用的是什么缓存?雷迪斯?
  • @NgôHùngPhúc 是 redis

标签: c# redis .net-core


【解决方案1】:

你可以改变方法。将每个用户保存在 userListdata 中,就像 redis 缓存中的唯一 keyValuePair 一样。然后你可以用它来插入/更新/删除。

// add the users to azure redis cache
foreach (var user in userListdata)
{
    _distributedCache.StringSet(user.Id, JsonConvert.SerializeObject(user));
}
// update/delete your records
var data = _distributedCache.GetString(cacheKey);
if (!string.IsNullOrEmpty(data)){
    _distributedCache.KeyDelete(cacheKey);
    _distributedCache.StringSet(cacheKey, newValues);
}
// else insert a new one...

【讨论】:

    猜你喜欢
    • 2021-01-02
    • 2015-10-02
    • 1970-01-01
    • 2016-04-16
    • 2019-09-17
    • 1970-01-01
    • 1970-01-01
    • 2015-04-16
    • 1970-01-01
    相关资源
    最近更新 更多