假设我有一个实体
@RedisHash(value = "Question",timeToLive = -1)
@Data
public class Question {
private String id;
@Indexed private String question;
@Indexed private String indexName;
@Indexed List<Long> folderIds;
List<Answer> answers;
从redis获取这个实体的场景如下1。按问题、索引名和文件夹列表的精确匹配进行搜索。2在此文件夹ID列表中按索引名和特定文件夹ID进行搜索。
据我所知,SpringDataRedis不支持in、contains和所有其他要在集合中搜索的内容。所以我的第一个想法是将folderid存储为字符串(按预先排序的顺序,并用逗号分隔符连接)。这在第一种情况下会有所帮助。但对于第二种情况,它将不起作用,因为存储库中也不支持类操作。我在这里看到的唯一方法是按indexname获取所有内容,然后手动筛选这个大型集合,但它看起来对性能不是很友好。
也许我漏掉了什么,有什么好办法来处理这个案子。谢谢!
暂无答案!
目前还没有任何答案,快来回答吧!