我正在尝试理解linux上SimplePie的缓存特性。它从来没有告诉我们为RSS创建一个单独的mySql数据库,所以我猜所有的缓存都是在本地完成的。(在/httpdocs/目录中?)
这个问题主要是关于SimplePie,在他们的网站上指定了一个简单的分页设置--
http://simplepie.org/wiki/tutorial/how_to_do_item_paging
但问题是,它只保留一定数量的项目(文章),在它们相互覆盖之前。
例如,我这里有一个基本的小SimplePie页面设置-
http://www.oil-gas-prices.com/
在底部,它总是在76左右切入。(显示1- 10分,共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帮助,
发布于 2013-05-02 06:02:58
默认情况下,它将缓存的文章存储在/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的项。您可以使用类似的方法进行分页。
我也有缓存的问题,也希望能从其他人那里得到更多的信息。
https://stackoverflow.com/questions/15737427
复制相似问题