1

我试图了解 Linux 上 SimplePie 的缓存功能。它从来没有告诉我们为 RSS 提要创建一个单独的 mySql 数据库,所以我猜所有的缓存都是在本地完成的。(在 /httpdocs/ 目录中?)

我无法弄清楚 SimplePie 在导入后如何存储它的文章......(使用 Linux 上的默认安装指令)以及这些文章在数据库中存储多长时间。

这个问题主要是关于 SimplePie 的简单分页设置,如其网站上指定的那样 -

http://simplepie.org/wiki/tutorial/how_to_do_item_paging

但问题是,在它们相互覆盖之前,它只保留一定数量的项目(文章)。

例如,我在这里有一个基本的 SimplePie 小页面设置 -

http://www.oil-gas-prices.com/

在底部,它总是在 76 左右切断。(显示 1 - 10 of 76)

我想指定一个 1000。这样它就会在那里切断。

调整以下任何这些特定值都不会增加索引/缓存项目的总量:

// Set our paging values
$start = (isset($_GET['start']) && !empty($_GET['start'])) ? $_GET['start'] : 0; // Where do we start?
$length = (isset($_GET['length']) && !empty($_GET['length'])) ? $_GET['length'] : 5; // How many per page?
$max = $feed->get_item_quantity(); // Where do we end?

我的主要优先事项是在缓存中存储更多,而不是其他文章覆盖它们,从而降低存储项目的数量。

我在 linux 上安装了最新版本的 SimplePie。没有wordpress扩展或任何东西。

我非常感谢任何帮助。这些天很难找到合法的 SimplePie 帮助,

4

1 回答 1

2

它默认将缓存的文章存储在 /cache 目录中,尽管他们的文档指出:“SimplePie 包含一个缓存系统,可以与基于文件的缓存、数据库缓存或 Memcache 支持的缓存系统一起使用。”。默认缓存持续时间为一小时。set_cache_duration但是,您可以使用该功能覆盖它。确保您已将缓存文件夹权限设置为至少 755。您可能需要将其增加到 775 或 777(但尽可能避免这样做)。

至于项目数量的限制,您是设置最大提要数,还是每个提要的最大项目数?对于我的实施,我将其限制为每个提要 25 和 3 个,并且效果很好。我不知道是否有默认最大值,但可能有并且您可能必须手动覆盖它。例如,我的网站上有这个 PHP 代码:

$max_items_total = 25;     // This sets the maximum number of blogroll items to display
$max_items_per_feed = 3;   // this sets the maximum number of items from each feed to display

$feed = new SimplePie();
$feed->set_feed_url($feed_ary);

// limit the number of items
$feed->set_item_limit($max_items_per_feed);
$feed->enable_cache(true);  // on by default, but I want to be sure
$feed->set_cache_duration(86400);  // set cache duration to 24 hours

foreach ($feed->get_items(0, $max_items_total) as $key=>$item) {
   ...
}

for 循环为我获取项目 1 到 25。您可以使用类似的方法进行分页。

我也遇到了缓存问题,也希望从其他人那里获得更多信息。

于 2013-05-01T22:02:58.377 回答