Я пытаюсь понять функции кэширования SimplePie на linux. Он никогда не говорит нам о создании отдельной базы данных mySql для RSS-каналов, поэтому я предполагаю, что весь кеш выполняется локально. (в / httpdocs / directories?)
Я не могу понять, как 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,
Он сохраняет кэшированные статьи в каталоге / cache по умолчанию, хотя в их документации указано: «SimplePie включает в себя систему кэширования, которая может использоваться с файловым кешем, кешем базы данных или системой кэширования с поддержкой Memcache». Продолжительность кеша по умолчанию – один час. Вы можете переопределить его, однако, с set_cache_duration
функции 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 для меня. Вы можете использовать аналогичный метод для разбивки на страницы.
У меня также проблемы с кешированием, и я также хотел бы получить дополнительную информацию от других.