如何在我的基于PHP的社区应用程序中阻止Facebook NewsFeed功能?例如"X用户上传了新照片,Z参加了活动".从不同的表中获取所有这些数据会消耗太多资源.
谢谢.
有几种不同的方法可以做到这一点,但我建议的是这个.保留一个"历史"表,其中包含每个用户的所有记录,时间戳以及操作的描述以及用于执行何种操作的标志(或预定义键).这将允许您有选择地查询单个表以查找某些类型的操作,并在设置的时间范围内进行显示.但是,对于很多用户而言,此表会快速增长,因此您可以考虑清除以后不会再次使用的旧数据.密切关注索引以保持查询快速,并考虑使用查询缓存,因为您可能经常生成相同的结果.
只要您不打算使用此历史数据来审核用户操作,那么在一段时间后转储它应该没问题.如果确实需要审计跟踪,则可能需要考虑创建一个temp_history表来显示最近的操作,然后在CRON中将他们最近的操作移动到永久审计表以进行长期存储.