就像StackOverflow:当您提出问题时,您需要提供一些标签。
当前,我正在查询关系数据库存储,但是我认为Redis应该有意义以缓存标签建议。
例如,它将是一个这样的集合:
sadd tags:suggestions "c#" ".net" "redis"
现在,一些用户在问一个问题,他/她可能会写“ ne”,因此Redis缓存中有一些标签可能与整个部分标签名称匹配: **.net** 。
我不知道如何将这样的tags:suggestionsRedis集相交以获得“ .net”。
tags:suggestions
还是应该使用字符串而不是集合?
先感谢您!
对于那些询问“到目前为止我已经尝试了什么”的人,请仔细检查以下问题: 我不知道该怎么做,我只是在学习Redis 。 到目前为止我尝试过什么? 阅读手册,使用 set进行 尝试,但是我来到这里是因为我不知道我是否可以使用Redis实现这种要求…
经过大量 搜索 之后,我发现了一篇关于我在StackOverflow上要求的内容的好帖子:
摘要…:
sadd mysite:tags "stackoverflow" "stack-exchange" "question" "about-redis"
是的,例如:
sadd mysite:tags:index:s 1 2
sadd mysite:tags:index:st 1 2
sadd mysite:tags:index:sta 1 2
sadd mysite:tags:index:stack 1 2
sadd mysite:tags:index:stacko 1
… 等等。
这是关于添加所有以 s , st 开头的标签的…
sort mysite:tags:index:s by nosort get tags:*
这将输出:
或者…按nosort排序mysite:tags:index:stack-取得标签:*
…将输出:
这似乎是一个很好的解决方案!