【发布时间】:2014-10-04 14:46:52
【问题描述】:
我是计算机专业的学生,我是一名使用 PHP 的 Web 开发人员。我开发了一个 Web 应用程序,它有很多 SQL 查询,这些查询可能会发送到数据库服务器 +-20 次,以在每次页面加载时查询相同的信息。
出于这个原因。我决定通过扩展 codeIgiter 缓存库来使用我自己的自定义基于文件的缓存,该缓存库由于依赖 URL/URI 而无法使用。我基本上去掉了 URL/URI 依赖项并使用 SHA-256 作为访问密钥。我使用默认的 CodeIgniter 加密库将所有缓存数据存储为加密数据,只是为了增加额外的安全性,以防有人打开缓存文件,我不想存储纯文本数据。
缓存数据的加密是否昂贵/服务器上的资源很重?
基于文件的缓存是否比 Mysql/MariaDB/PostGres 更快?
基于文件的缓存非常适合我最大限度地减少数据库查询,但这真的可以提高我的 Web 应用程序的速度吗?与 DB 相比,这能有多快?
我兴奋不已,结果我的 Web 应用程序现在变成了一个缓存农场,这对速度来说是好是坏?我需要对此主题有更多经验的人的建议。
我的基于自定义文件的缓存具有以下基本功能:
- 保存($key,$value)
- get($key)
- 删除($key) 或删除($key,$value)
- 元数据($key)
谢谢。
【问题讨论】:
-
如果没有比您提供的更多详细信息,没有合适的方法来回答这个问题。唯一可能的答案是“使用数据库和你自己的缓存对你的东西进行基准测试,看看什么更快”
-
请问您希望我解释什么,我试图说清楚,但显然我失败了:)
-
——你指出了一些重要的事情。我将使用 CI 内置的基准测试对此进行测试,如果您知道更好的工具,请分享。
-
用MySQL with memcached怎么样?
-
我尝试过使用 memcached。对结果非常不满意。我一点也不相信。根本没有改善慢。
标签: php mysql codeigniter caching io