我想不出在我的基于php的应用程序上限制用户存储空间的最佳方法。我找到了another question,但它似乎不是处理这个问题的最佳方法。这个问题的答案建议运行一个mysql SUM命令来获取用户当前正在使用的空间。这有效率吗?其他人通常做什么?
我的例子涉及到为用户存储图像。图像被加载到云存储提供商上,我在本地数据库中保存文件大小和名称的记录。假设用户获得的最大空间是10 GB。如果每幅图像经过压缩后是300 kb,那将是每个用户33,000幅图像。如果有1,000个用户,那将是大约33,000,000张图像,因此在一个表中大约有33,000,000行。This question建议,当考虑这么多行时,sum命令会比较慢。
我想到的另一个选项是每次上传或删除图像时增加和减少一个计数器值,但这可能会遇到一致性和同步问题。嗯..。
发布于 2014-04-21 21:52:40
我认为增加和减少计数器value#将是解决方案。为了确保一致性,可以运行cron作业来查询从数据库并在特定时间同步值(或者在维护数据库时运行脚本)。我沿着这条路走,现在,到目前为止还不错。
https://stackoverflow.com/questions/23206577
复制相似问题