【问题标题】:file-based or database-based caching基于文件或基于数据库的缓存
【发布时间】:2012-11-22 22:18:24
【问题描述】:

我正在使用 codeigniter 开发一个站点,并且想知道哪种缓存系统最适合用于非常大的数据库(超过 10 万条记录和许多连接查询),所以我的问题是:

基于文件的缓存是好的还是我会遇到一些 I/O 问题? 还是我应该编写一个新的驱动程序(我不确定codeignter是否有这样的驱动程序)用于缓存,它将缓存作为键值对存储在数据库中?

由于行数很大,我不能使用 memcache 或 APC,所以我应该选择基于文件还是基于数据库。

感谢您的任何意见。

【问题讨论】:

    标签: php codeigniter caching


    【解决方案1】:

    超过行数,取决于总数据大小。

    如果对象的总大小小于 1MB,那么 memcache 是更好的选择。但如果要更多,那么您可以考虑基于文件的缓存。

    但请记住,由于磁盘 I/O,基于文件的缓存总是会有延迟

    编辑

    如果您的缓存大小更大,那么我会推荐基于文件的缓存。

    【讨论】:

    • 由于行数太大,我不能使用 memcache 或 APC,所以我应该选择基于文件还是基于数据库。
    • 更新了我的回答来回答你的问题
    • 再次感谢Sudar,但是linux系统中的目录没有文件限制限制,因为缓存目录将包含100k以上的文件,并且不会降低站点性能吗?
    • 我以为您要将搜索结果存储在一个文件中。您是否打算将每条记录存储在一个单独的文件中?性能与文件数量成反比。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-17
    • 2014-10-04
    • 1970-01-01
    相关资源
    最近更新 更多