[PHP] Вопрос по apc_add - Visavi.net
https://visavi.net/
RSS - Visavi.nethttps://visavi.net/assets/img/images/logo_small.pngRSS - Visavi.net
https://visavi.net/
[email protected] (admin)[email protected] (admin)Mon, 23 Dec 2024 17:00:17 +0300Есть кто нет тут вообще кроме ботов?
https://visavi.net/topics/41705/674955
[PHP] Вопрос по apc_add АнтонTue, 16 Dec 2014 15:13:11 +0300Сообщенияhttps://visavi.net/topics/41705/674955Что то у memcache та же дребедень, только на этот раз данные не ложатся в кеш
https://visavi.net/topics/41705/674954
[PHP] Вопрос по apc_add АнтонTue, 16 Dec 2014 14:34:06 +0300Сообщенияhttps://visavi.net/topics/41705/674954Выше описанное решено путем включения в конфиге apc функции apc.enable_cli. <br>
Теперь появилась другая проблема, данные записываются и читаются нормально, но только из граббера, а вот из другого скрипта они уже не считываются, но вот что интересно функция apc_exists() показывает что в хранилище есть кеш с таким ключем, но вот пытаясь вытащить кеш apc_fetch(key) получаю false.<br>
Замкнутый круг какой то, только одно решилось появилось другое..
https://visavi.net/topics/41705/674922
[PHP] Вопрос по apc_add АнтонMon, 15 Dec 2014 23:26:33 +0300Сообщенияhttps://visavi.net/topics/41705/674922Сейчас попытаюсь объяснить полностью ситуацию с которой столкнулся может кто подскажет..<br>
Вопчем есть php скрипт который граббит страничку сайта, его я отлаживал через XDebug все работает как часы,он ложит то что спарсил(списки) в кеш таким кодом <pre class="prettyprint">apc_store('item', $item, 600);</pre>
Все нормально ложется и берется из кеша. Этот скрипт запускает в фоне другой скрипт который должен брать эти списки из кеша, сам граббер я запускаю командой<br>
<pre class="prettyprint">
exec("nohup php $script_path >/dev/null 2>&1 &");
</pre>
И вот тут начинается странное, данные в кеш даже не ложатся, не то чтобы их как то взять от туда. Сам скрипт выполняется, я проверял каждую строчку кода путем записи темпового файла на предмет того что если где то ошибка то файл не запишется, но я даже проверял данные есть перед тем как положить их в кеш, а вот еще странно то что функция apc_store() возвращает false при таком запуске. Я понять ничего не могу как с этим бороться.
https://visavi.net/topics/41705/674918
[PHP] Вопрос по apc_add АнтонMon, 15 Dec 2014 22:48:05 +0300Сообщенияhttps://visavi.net/topics/41705/674918Не могу понять что я не так делаю... <br>
Ложу в одном скрипте массив с пометкой через сколько удалить<br>
<pre class="prettyprint">apc_store('item', $item, 600);</pre>
Тут же загружаю другой скрипт где пытаюсь вытащить массив<br>
<pre class="prettyprint">$item = apc_fetch('item');</pre>
В $item получаю false, не могу понять как достать кеш положенный в хранилище в другом скрипте..
https://visavi.net/topics/41705/674892
[PHP] Вопрос по apc_add АнтонMon, 15 Dec 2014 11:47:52 +0300Сообщенияhttps://visavi.net/topics/41705/674892А в другом скрипте чтобы получить данные из кеша так же надо использовать apc_fetch(key)?
https://visavi.net/topics/41705/674885
[PHP] Вопрос по apc_add АнтонMon, 15 Dec 2014 09:56:34 +0300Сообщенияhttps://visavi.net/topics/41705/6748857. <strong>byvlad</strong>, спасибо, значит я где-то ошибся.
https://visavi.net/topics/41705/674883
[PHP] Вопрос по apc_add АнтонMon, 15 Dec 2014 06:03:18 +0300Сообщенияhttps://visavi.net/topics/41705/6748836. <strong>WmLiM</strong>, да
https://visavi.net/topics/41705/674880
[PHP] Вопрос по apc_add ВладиславMon, 15 Dec 2014 03:16:44 +0300Сообщенияhttps://visavi.net/topics/41705/674880А вообще можно получить доступ к кешу который был создан в одном скрипте из другого?
https://visavi.net/topics/41705/674879
[PHP] Вопрос по apc_add АнтонMon, 15 Dec 2014 02:49:15 +0300Сообщенияhttps://visavi.net/topics/41705/6748794. <strong>KpuTuK</strong>, вот имена как раз и не известны, я хотел сделать так чтобы каждый массив находился в определённом контейнере, из которого удалился бы через время которое ему выделили. <br>
Придётся дописать проверку контейнера на предмет устаревших массивов,больше ничего не могу придумать..
https://visavi.net/topics/41705/674878
[PHP] Вопрос по apc_add АнтонMon, 15 Dec 2014 02:32:38 +0300Сообщенияhttps://visavi.net/topics/41705/674878<blockquote class="blockquote"><strong>WmLiM</strong> (15 Декабря 2014 / 00:24)<br>
2. <strong>KpuTuK</strong>, блин, я думал первое значение это имя хранилища куда складываются данные... как быть тогда.</blockquote>
приведи пример массива $items))<br>
Конечно если имена известны то можно<br>
foreach ($items as $item) { <br>
apc_add('items_'. $item['name'], $item, $item['leftTime']); <br>
} <br>
ну или же просто скопом все категории <br>
apc_add('category_items', $items, 'время');<br>
ну и соответственно<br>
$items = apc_fetch('category_items');<br>
<br>
<em><span style="font-size:x-small">Добавлено через 02:15 сек.</span></em><br>
<a href="http://php.net/manual/ru/function.apc-store.php" target="_blank" rel="nofollow">http://php.net/manual/ru/function.apc-store.php</a> ?
https://visavi.net/topics/41705/674873
[PHP] Вопрос по apc_add KpuTuKMon, 15 Dec 2014 00:33:50 +0300Сообщенияhttps://visavi.net/topics/41705/6748732. <strong>KpuTuK</strong>, блин, я думал первое значение это имя хранилища куда складываются данные... как быть тогда.<br>
<br>
<em><span style="font-size:x-small">Добавлено через 07:23 сек.</span></em><br>
2. <strong>KpuTuK</strong>, он не перезаписывает, это написано в мане, только вот не разобрал что там нельзя сделать так как мне надо. Придется дописывать сравнение времени и удаление массива если время хранения истекло((
https://visavi.net/topics/41705/674872
[PHP] Вопрос по apc_add АнтонMon, 15 Dec 2014 00:24:00 +0300Сообщенияhttps://visavi.net/topics/41705/674872<blockquote class="blockquote"><strong>WmLiM</strong> (14 Декабря 2014 / 23:34)<br>
Всем привет!<br>
Требуется складывать в хранилище значения(ассоциативные массивы, не объекты).<br>
Так вот в мануале вообще нет примеров как им пользоваться, только примеры которые повторяют apc_store(), но мне нужно именно добавлять в хранилище новые массивы с временем жизни массива в хранилище.<br>
Я пытаюсь ложить так <br>
<pre class="prettyprint">
На входе $items содержит список массивов
foreach ($items as $item) {
apc_add('category_items', $item, $item['leftTime']);
}
</pre>
Все отрабатывает нормально, каждый массив живет минимум 1 мин, запускаю скрипт еще раз, пытаюсь получить из хранилища кеш вот так<br>
<pre class="prettyprint">
$items = apc_fetch('category_items');
</pre>
И получаю только один самый первый массив который туда был положен..<br>
Гугл перерыл, но не нашел как пользоваться apc_add().<br>
Кто то может поделиться опытом?</blockquote>
так само собой))) у тебя ключ то одинаковый на все массивы вот он и перезаписывает)))
https://visavi.net/topics/41705/674870
[PHP] Вопрос по apc_add KpuTuKSun, 14 Dec 2014 23:52:25 +0300Сообщенияhttps://visavi.net/topics/41705/674870Всем привет!<br>
Требуется складывать в хранилище значения(ассоциативные массивы, не объекты).<br>
Так вот в мануале вообще нет примеров как им пользоваться, только примеры которые повторяют apc_store(), но мне нужно именно добавлять в хранилище новые массивы с временем жизни массива в хранилище.<br>
Я пытаюсь ложить так <br>
<pre class="prettyprint">
На входе $items содержит список массивов
foreach ($items as $item) {
apc_add('category_items', $item, $item['leftTime']);
}
</pre>
Все отрабатывает нормально, каждый массив живет минимум 1 мин, запускаю скрипт еще раз, пытаюсь получить из хранилища кеш вот так<br>
<pre class="prettyprint">
$items = apc_fetch('category_items');
</pre>
И получаю только один самый первый массив который туда был положен..<br>
Гугл перерыл, но не нашел как пользоваться apc_add().<br>
Кто то может поделиться опытом?
https://visavi.net/topics/41705/674869
[PHP] Вопрос по apc_add АнтонSun, 14 Dec 2014 23:34:35 +0300Сообщенияhttps://visavi.net/topics/41705/674869