我正在尝试看看如何根据这些键的值来选择Redis中的键。我正在使用redis来为英语中的每个单词存储一个“单词得分”,以便在我的网站上提供搜索建议。单词分数越大,该单词在网站上越常见,因此当用户在搜索栏中输入内容时,推荐的单词就越多。没有SQL中的WHERE子句,我无法实现此功能,因此在Redis中是否有这种行为?我是否应该为该问题实现另一种类型的数据库?(我选择redis是因为它速度很快)。
Redis主要是一个内存中的数据存储。这意味着在某个时间点,某些按键可能会被收回。设计决策很简单-如果你希望永久保留所有数据,那么Redis在这里肯定是错误的选择。但是,如果这是暂时的,并且你可以处理一些故障,那么可以使用Redis。
即使不可能直接模拟WHERE
子句的行为,也可以做到。
为此,你可以使用ZRANGEBYSCORE
Redis中的命令。
因此,你可以做的是,当单词出现时,使用ZSCORE
命令获取当前得分,并使用命令将其更新为所需的分数ZADD
。
查询时,使用ZRANGEBYSCORE
命令获取整个列表,然后根据需要选择条目。