这是一种合理的缓存方法吗?

时间:2009-02-25 21:55:51

标签: php caching latex content-management-system

我正在使用PHP将LaTeX渲染为png作为CMS的一部分,我需要某种简单的缓存机制,因为它需要服务器大约2秒来渲染png。我使用原始TeX并通过md5函数运行它,然后我将哈希值与当前时间戳一起插入数据库,并使用< hash> .png作为文件名。每次访问图像时,都会更新时间标准。

4 个答案:

答案 0 :(得分:2)

对于这种情况,我更喜欢在磁盘上使用临时目录。

根据要求:

if the file doesn't exist
    render it to the file
fpassthru() the file from disk

答案 1 :(得分:1)

听起来不错。如果您可以更改.png的名称,数据库ID甚至哈希本身,那么也可以在客户端缓存图像。

答案 2 :(得分:0)

嗯,我认为这是一个很好的方法,但你可能想在哈希之前对LaTeX做一些额外的处理。否则,空格中的更改(以及可能的注释和其他一些内容,具体取决于您的输入方法)将导致不同的哈希值。

此外,更新时间戳的目的是什么?作为批量方法的一部分,删除长时间未访问过的PNG?

答案 3 :(得分:0)

如果.png在渲染后可能会发生变化,我猜你也应该在更新.png时使用某种观察来解释这一点(检查线程,设置方法来更新最后修改过的密钥,或者别的东西:))