现在要完成一种业务逻辑,需要对评论进行回复,现在需要完全使用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 ----->只查出这条在满足以上的逻辑基础上,再对索引进行分页查询,请问该怎么做?

解决方案 »

  1.   

    取出数据,然后进行过滤,这样有可能取出的数据不足10条

    把需要删除的转移到另外一个key,原来的key只存有效的数据
      

  2.   

    第一种办法会导致取出来的数据不足10条,这样就不好分页了
    第二种办法,后端需要根据索引key去同步数据到mysql,多增一个key会不会有问题呢?
      

  3.   

    不知道是什么意思
    本来就莫名其妙了:删除只做个标志
    还又和 MySQL 扯上了关系
      

  4.   

    你要求完全用redis,现在又扯上MySQL同步数据的时候,加多一个删除的key有什么关系?
    你要觉得会出问题,可以在删除的时候直接入库,就不用同步两个key