现在要完成一种业务逻辑,需要对评论进行回复,现在需要完全使用redis进行数据存储。
设计了2个键,一个sortSet的索引,score存的是时间,value存的是评论的key名;一个是评论的hash键,里面包含了评论ID、内容和是否被删除。
现在根据sortset存储的键值进行排序,要进行分页排序,每次根据socre从大到小取出sortset里面的10条记录,那么问题来了,如果该条记录在hash的key中存储为被删除,则不希望这条key被查出来,例子如下
redis>zadd id:index createTime commentId
redis>hset commentId:comment delete 1 ---->这条键不希望被查询出来
redis>hset commentId:comment delete 0 ----->只查出这条在满足以上的逻辑基础上,再对索引进行分页查询,请问该怎么做?
设计了2个键,一个sortSet的索引,score存的是时间,value存的是评论的key名;一个是评论的hash键,里面包含了评论ID、内容和是否被删除。
现在根据sortset存储的键值进行排序,要进行分页排序,每次根据socre从大到小取出sortset里面的10条记录,那么问题来了,如果该条记录在hash的key中存储为被删除,则不希望这条key被查出来,例子如下
redis>zadd id:index createTime commentId
redis>hset commentId:comment delete 1 ---->这条键不希望被查询出来
redis>hset commentId:comment delete 0 ----->只查出这条在满足以上的逻辑基础上,再对索引进行分页查询,请问该怎么做?
或
把需要删除的转移到另外一个key,原来的key只存有效的数据
第二种办法,后端需要根据索引key去同步数据到mysql,多增一个key会不会有问题呢?
本来就莫名其妙了:删除只做个标志
还又和 MySQL 扯上了关系
你要觉得会出问题,可以在删除的时候直接入库,就不用同步两个key