【问题标题】:How to append new item to existing redis key with exchange.redis如何使用 exchange.redis 将新项目附加到现有的 redis 键
【发布时间】:2021-01-11 18:09:56
【问题描述】:

我将 json 数组存储在 Redis 数据库中。 现在,当我想将新项目添加到数据库时,我会使用以下方式:

  var lJson = Database.StringGet("myKey");
                if (dictJson.HasValue)
                {
                    var currentObjects = JsonConvert.DeserializeObject<List<T>>(lJson );
                    currentObjects.Add(newObject);
                    string newJsonText= JsonConvert.SerializeObject(currentGameTickets);
                    Database.StringSet("myKey", newJsonText);
                 }    
        }

但是当这个函数的负载很重时,我可以看到垃圾收集器正在积极工作,我假设如果 currentObjects 是大数组 Database.StringSet 函数可能需要很长时间。 所以我只想将我的 newObject 附加到现有数组中。

【问题讨论】:

    标签: c# arrays json redis stackexchange.redis


    【解决方案1】:

    如果您可以将数据迁移到其他数据类型,您可以尝试以下操作:

    使用List 数据类型作为对象的存储。使用RPUSH,您可以将新项目附加到列表中。

    RPUSH myKey '{"key":"value"}'
    

    使用RedisJSON 模块。

    JSON.SET myKey . []
    JSON.ARRAPPEND myKey . '{"key":"value"}'
    

    【讨论】:

      猜你喜欢
      • 2021-08-01
      • 1970-01-01
      • 2016-01-23
      • 2023-03-15
      • 1970-01-01
      • 2018-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多