Разбиение на страницы/кеш SimplePie

Я пытаюсь понять функции кэширования SimplePie в Linux. Он никогда не говорит нам создавать отдельную базу данных mySql для RSS-каналов, поэтому я предполагаю, что весь кеш выполняется локально. (в каталогах /httpdocs/?)

Я не могу понять, как SimplePie хранит свои статьи после их импорта... (используя установку по умолчанию в инструкциях Linux) и как долго эти статьи хранятся в БД.

Эта проблема в основном связана с 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?

Мой главный приоритет — хранить больше в кеше, чтобы другие статьи не перезаписывали их, тем самым уменьшая количество хранимых элементов.

У меня установлена ​​последняя версия SimplePie в Linux. Никаких расширений wordpress или чего-то подобного.

Я очень ценю любую помощь. В наши дни так сложно найти законную помощь SimplePie,


person user2103549    schedule 01.04.2013    source источник
comment
кто-нибудь... пожалуйста? Кажется, я нигде не могу получить помощь с SimplePie.   -  person user2103549    schedule 02.04.2013


Ответы (1)


Он хранит кэшированные статьи в каталоге /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. Вы можете использовать аналогичный метод для разбиения на страницы.

У меня также есть проблемы с кэшированием, и я также был бы признателен за дополнительную информацию от других.

person Revent    schedule 01.05.2013
comment
Revent, я ценю, что вы попробовали. Я настроил свой точно так же, как вы... за исключением нижней строки. Мой вон там выглядит как - <?php // get_items() will accept values from above. foreach($feed->get_items($start, $length) as $item): $feed = $item->get_feed(); ?> - person user2103549; 15.05.2013
comment
Ревент, вам когда-нибудь удавалось увеличить общее количество элементов нумерации страниц? Я все еще безуспешен. Число все еще идет только к 75 для меня. Некоторые люди говорят, что нам нужно создать базу данных mysql, чтобы заставить это работать. Я удивлен, что вы смогли найти документацию о том, что SimplePie также поддерживает выполнение базы данных... но не показывает примеров того, как это сделать? Я практически готов оказывать платную поддержку, если кто-то может помочь мне сделать то, что нужно сделать. моя электронная почта [email protected] - я очень ценю любую помощь. - person user2103549; 15.05.2013
comment
@ user2103549 - к сожалению, я сам новичок в SimplePie. Я еще не пробовал разбиение на страницы или другие методы кэширования. Хотя в сообществе должен быть кто-то еще, кто... - person Revent; 19.05.2013