我在linux中有一个很好的缓存系统,它使用ramdisk来缓存图像文件和我网站各个页面的HTML输出。
我的网站相当大,缓存所有东西所需的内存空间超过15 2GB (不包括图像输出),我只有2GB的缓存可用空间。
写入缓存和从缓存读取的速度相对较快,但问题是如何快速查找,以便在空间耗尽时找到最陈旧的文件,以便为新文件腾出空间。我相信使用"ls -R“并扫描大输出是一个缓慢的过程。
我唯一没有效率的选择是频繁地刷新整个缓存,这样就不会耗尽ramdisk空间。
我的缓存允许我的网站加载到200 as以下的第一个字节( TTFB )的许多页面,这正是google所喜欢的,所以我想尝试在从缓存加载文件时将200 as作为最大TTFB值,即使文件由于缺乏内存空间而被删除。
我曾想过通过指针直接访问缓存,但由于缓存的输出大小不同,我会觉得这个选项最多会浪费内存空间,或者使用大量cpu来查找下一个空闲内存位置。
有谁知道我怎么能快速找到,然后从我的缓存中删除最无聊的文件?
发布于 2015-05-19 16:27:22
在使用ramdisk时,ls -latr不应该是慢的。但这可能更接近你要找的东西:
find -type f -printf '%T+ %p\n' | sort | head -1https://stackoverflow.com/questions/30331023
复制相似问题