我是计算机专业的学生,我是一名使用 PHP 的 Web 开发人员。我曾开发过一个 Web 应用程序,该应用程序有很多 SQL 查询,这些查询可能会发送到数据库服务器 +-20 次,以在每次页面加载时查询相同的信息。
正因如此。我决定通过扩展 codeIgiter 缓存库来使用我自己的自定义基于文件的缓存,该库由于依赖 URL/URI 而无法使用。我基本上删除了 URL/URI 依赖项并使用 SHA-256 作为访问 key 。我使用默认的 CodeIgniter 加密库将所有缓存数据存储为加密数据,只是为了在有人打开缓存文件时增加额外的安全性,我不想存储纯文本数据。
缓存数据的加密是否昂贵/服务器资源繁重?
基于文件的缓存比 Mysql/MariaDB/PostGres 更快吗?
基于文件的缓存非常适合我最大程度地减少数据库查询,但这真的可以提高 Web 应用程序的速度吗?与 DB 相比,这有多快?
我兴奋得忘乎所以了,结果我的网络应用程序现在变成了一个缓存场,这对速度来说是好是坏?我需要在这个主题上有更多经验的人的建议。
我的基于自定义文件的缓存具有以下基本功能:
- 保存($键,$值)
- 获取($key)
- 删除($key)或删除($key,$value)
- 元数据($key)
谢谢。
最佳答案
您可以使用memcached或redish进行缓存,这将减少数据库查询的数量,并提高网站的速度。
除了检查查询并优化它们之外。
关于基于 PHP 文件的缓存与直接从 MySQL 或 MariaDB 等数据库读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25248942/