当前位置: 首页 > 面试题库 >

如何在Redis缓存中存储列表元素

谭裕
2023-03-14
问题内容

我已经使用StackExchange.Redis了C#Redis缓存

cache.StringSet("Key1", CustomerObject);

但我想像这样存储数据

cache.StringSet("Key1", ListOfCustomer);

这样一键就可以存储所有客户列表,并且可以轻松地在该列表内搜索,分组,过滤客户数据

欢迎使用ServiceStack.Redis或回答StackExchange.Redis


问题答案:

您可以使用ServiceStack.Redis高级IRedisTypedClient
Typed
API

来管理丰富的POCO类型。

首先为具有以下条件的客户获取类型化的Redis客户端:

var redisCustomers = redis.As<Customer>();

这将解决用于管理客户POCO的高级类型API,然后使您可以通过以下方式持久保留单个客户:

redisCustomers.SetEntry("Customer1", CustomerObject);

或具有以下条件的客户列表:

redisCustomers.Lists["Customers"].AddRange(ListOfCustomer);


 类似资料:
  • 我按照web上一些教程使用redis设置Spring缓存,

  • 问题内容: 我的哈希图将字符串存储为键,将arraylist存储为值。现在,我需要将其嵌入到列表中。也就是说,它将具有以下形式: 这些是我使用的声明: 谁能帮我在列表中使用哪种方法以及如何继续将地图存储到其中? 问题答案: 始终尝试在Collection中使用接口引用 ,这会增加灵活性。 以下代码有什么问题? 您可以像上面一样轻松地进行操作。

  • 问题内容: 我有一些产品数据需要在Redis缓存中存储多个版本。数据是JSON序列化的。获取纯(基本)数据的过程非常昂贵,将其自定义为不同版本的过程也很昂贵,因此我想缓存所有版本以尽可能进行优化。假设自定义基于单个参数,我可以将该参数用作缓存键的一部分。 我计划用来检索产品数据的过程是这样的: 一切都很好,但是我现在正在尝试找出在基础数据源发生更改时使缓存数据无效的最佳方法。如果基本产品信息发生变

  • 我有一些需要在Redis缓存中存储多个版本的产品数据。数据是JSON序列化的。获取普通(基本)数据的过程是昂贵的,将其定制成不同版本的过程也是昂贵的,因此我希望缓存所有版本以尽可能优化。假设定制是基于一个参数的,我可以使用该参数作为缓存键的一部分。 我计划用于检索产品数据的过程如下所示: 所有这些工作都很好,但我现在正在尝试找出当底层数据源更改时使缓存数据无效的最佳方法。如果基本产品信息发生变化,

  • 问题内容: 我有处理嵌套JSON文档的nodejs应用程序,如下所示: 并将它们存储在MongoDB数据库中。我的文档需要经常更新,但是如您所知,由于其性质,MongoDB的写入速度非常慢。为了解决此问题,我决定将文档存储在Redis中,并在某个超时时间(例如1-2小时后)刷新到MongoDB。 因此,这里是我的更新方法的代码示例: 我的第一个问题是我如何处理文档?我的方法有什么问题吗? 第二个问

  • 问题内容: 我需要将一些时间序列数据存储到Redis中。我有unix时间戳,并且我需要关联一个值(时间戳<->值) 我尝试将时间戳记作为得分(以便我可以在时间戳记上进行zrange)并将值作为成员的排序集。 但是我遇到了一个问题,成员没有重复,而对于不同的时间戳,我的值可以相同。知道如何处理吗?其他数据类型更好吗? 问题答案: 解决此问题的一个简单技巧是将时间戳记和值连接起来。 而不是存储: 您可