如何处理活动流中已删除的照片

时间:2013-03-08 10:49:56

标签: php mysql social-networking

在我们的应用中,用户可以上传照片。此上传事件已注册为活动,并被推送到该用户的关注者活动流中。

使用的流程和技术如下:

  • 用于存储的MYSQL后端(上传图片的网址与一些元数据一起存储在照片表中)
  • 生成活动并将其存储在MYSQL
  • 中的活动表中
  • 创建了GEARMAN作业,该活动将活动ID发送到REDIS,其中此活动ID被扇出到所有用户关注者,以便填充他们的活动流。
  • 我们通过从REDIS获取活动ID数组然后在MYSQL中执行简单的IN查询来检索流。
  • 在用户活动流中,可以看到图像的小裁剪版本。

现在这一切都非常有效,并且有几个缓存层有助于保持系统非常稳定和可扩展。

但是,什么被认为是处理选择删除一张或多张照片的用户的最佳方式。目前,当他们删除照片时,所有关注者都会在其活动流中获得损坏的图片链接。

因此,我们需要在两种方法中进行选择。

  1. 将活动ID存储在相片表中,并在用户删除该照片时删除与该照片相关的活动。这样可以很好地工作,但会看到用户偶尔会从其流中删除活动。
  2. 将图片标记为已在照片表中删除,并在生成流时显示“此图片已被用户删除”消息。
  3. 哪种方法最好?为什么?或者,还有其他更好的方法可以解决这个问题吗?

    非常感谢。

1 个答案:

答案 0 :(得分:2)

IMO最好尽可能透明。告诉其他用户图像已删除,并提供从活动流中删除条目的选项。这样,用户就可以控制并且在后台没有“魔法”发生。也许对于非常旧的条目(这在当前时间意味着什么),您可以自动删除该项目。但我总是希望得到相应的信息。