使用Redis作为PHP的通知服务


Using Redis as a Notification Service for PHP

我一直在考虑用PHP创建一个通知系统。就像Facebook一样。

应用程序主要运行MySQL用于数据存储,然而MySQL在处理通知等事情时速度会变慢。

这里我在想Redis,因为它非常快,非常简单,它允许条目在一段时间后自行删除(这正是我想要的)。然而,我确实有很多担忧。我读了一篇文章Redis Persistence。

因为我不想丢失数据,仍然从Redis获得快速体验,我想知道使用什么方法?RDB或者AOF或者两者都有?速度非常重要。

那么我要问的是

    Redis是处理通知的好选择吗?
  • 我可以完全依靠使用Redis通知吗?
  • 有没有更好的选择,除了开始一个新的web服务器与node.js…?
  • 哪种方法是最好的,RDB还是AOF,还是两者都有?
  • Redis绝对是你用例的好选择
  • 是的,你可以完全依赖Redis的通知,因为你将继续使用过期机制清除它,因此数据将保持合理的大小。此外,我的建议是保持与实际存储在数据库中的活动id相关联的通知。因此,即使在任何意外的情况下,实际数据将在MySQL中可用(以及其创建的时间戳)。
  • 你可以使用简单的php redis客户端来构建这个系统。
  • RDB在你的情况下应该满足你的需要,因为实际的活动流数据无论如何都存储在MySQL中,数据丢失在这种情况下不是一个非常主要的问题。