C# Redis值的多个键(用键乘以搜索)

C# Redis值的多个键(用键乘以搜索),c#,asp.net,asp.net-mvc-4,caching,redis,C#,Asp.net,Asp.net Mvc 4,Caching,Redis,我刚被卡住了。 我在处理实体时遇到问题,我想将其保存到Redis,但一段时间后我想获取此实体,但我不知道将对其搜索何种查询。 所以,我需要将几个键保存到Redis中。我将能够通过几个查询来搜索我的实体 比如说,, 我有一个实体: public class Book { int Id, string Name } 有一次,我想按Id搜索此实体,另一次按名称搜索。 你有什么建议或解决方法吗? 也许,我可以使用标签或类似的东西 非常感谢 Redis不像一个常规的基于表的数据库服务器;你不能随

我刚被卡住了。 我在处理实体时遇到问题,我想将其保存到Redis,但一段时间后我想获取此实体,但我不知道将对其搜索何种查询。

所以,我需要将几个键保存到Redis中。我将能够通过几个查询来搜索我的实体

比如说,, 我有一个实体:

public class Book
{
  int Id,
  string Name
}
有一次,我想按Id搜索此实体,另一次按名称搜索。

你有什么建议或解决方法吗? 也许,我可以使用标签或类似的东西


非常感谢

Redis不像一个常规的基于表的数据库服务器;你不能随意搜索。如果您希望能够通过id搜索某些内容,那么您需要通过id手动索引-可能是通过“哈希”或类似的方式,从键控值到主项键(但是您正在存储主项)

如果你想为这类事情带来方便,不妨看看——redis的一个可选模块,它简化了这类场景,同时提供了针对指定成员的搜索选项。您的图书对象将成为重新研究命名法中的“文档”。

是的,我找到了答案。 在Redis中,可以使用值字典。 因此,在这个问题之后,我们必须使用Key&Value保存数据,在值中我们将再次使用Key&Value

然后通过两个键获得值

因此,你会有类似的东西

HSET myhash字段1“你好”

有关官方网站的更多信息()

如果我们谈论性能,这意味着我们有时间复杂性:O(N),其中N是所有给定集合中元素的总数

通过遵守这些规则: O(n)时间

因此,这意味着对元素的最终访问时间大约等于: O(n)+O(m)

1. Traversing an array
2. Traversing a linked list
3. Linear Search
4. Deletion of a specific element in a Linked List (Not sorted)
5. Comparing two strings
6. Checking for Palindrome
7. Counting/Bucket Sort and here too you can find a million more such examples.... In a nutshell, all Brute Force Algorithms, or Noob ones which require linearity, are based on O(n) time complexity