我想在内容中搜索使用redis,这样的事情可能吗?
例如:
class Post
{
public string Id { get; set; }
public string Content { get; set; }
public bool Deleted { get; set; }
}
我使用c#和BookSleeve,如果post的“Deleted”属性为false,我想在post的“Content”属性中搜索一个单词,我可以使用HSET并序列化此对象以存储在redis或SADD中。
1-存储此对象的最佳方法是什么? 2-什么是最好的方法 搜索并过滤对象以便返回?
[更新]
我可以使用SISMEMBER在redis中搜索确切的单词或短语,但我想搜索KEYS pattern
之类的值[更新]
如何进行stackexchange whit redis?
[更新]
非常感谢Marc Gravell,我为NEST找到了ElasticSearch。但我没有意识到Redis和ElasticSearch之间的关系。我将建立一个社交网络,并想知道你是否有一些部分Redis和ElasticSearch的某些部分应该被使用或它们的组合。我使用Redis的项目的哪个部分以及ElasticSearch使用哪个部分以及哪个部分应该是合并使用。
谢谢
答案 0 :(得分:0)
SCAN可能会用来做这件事,但我不建议这样做。 Redis是一个键/值存储,您应该使用它。如果要搜索文本,则应使用为其制作的另一个DB,例如ElasticSearch用于长文本或MongoDB或经典RDBMS用于较短文本。
NoSQL背后的想法是使用正确的工具,因此使用redis作为键/值存储主要用于缓存数据和在另一个数据库中搜索文本。