[PHP] Вопрос по apc_add - Visavi.net https://visavi.net/ RSS - Visavi.net https://visavi.net/assets/img/images/logo_small.png RSS - 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(&#039;item&#039;, $item, 600);</pre> Все нормально ложется и берется из кеша. Этот скрипт запускает в фоне другой скрипт который должен брать эти списки из кеша, сам граббер я запускаю командой<br> <pre class="prettyprint"> exec(&quot;nohup php $script_path &gt;/dev/null 2&gt;&amp;1 &amp;&quot;); </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(&#039;item&#039;, $item, 600);</pre> Тут же загружаю другой скрипт где пытаюсь вытащить массив<br> <pre class="prettyprint">$item = apc_fetch(&#039;item&#039;);</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/674885 7. <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/674883 6. <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/674879 4. <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(&#039;items_&#039;. $item[&#039;name&#039;], $item, $item[&#039;leftTime&#039;]); <br> } <br> ну или же просто скопом все категории <br> apc_add(&#039;category_items&#039;, $items, &#039;время&#039;);<br> ну и соответственно<br> $items = apc_fetch(&#039;category_items&#039;);<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 KpuTuK Mon, 15 Dec 2014 00:33:50 +0300 Сообщения https://visavi.net/topics/41705/674873 2. <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(&#039;category_items&#039;, $item, $item&#91;&#039;leftTime&#039;]); } </pre> Все отрабатывает нормально, каждый массив живет минимум 1 мин, запускаю скрипт еще раз, пытаюсь получить из хранилища кеш вот так<br> <pre class="prettyprint"> $items = apc_fetch(&#039;category_items&#039;); </pre> И получаю только один самый первый массив который туда был положен..<br> Гугл перерыл, но не нашел как пользоваться apc_add().<br> Кто то может поделиться опытом?</blockquote> так само собой))) у тебя ключ то одинаковый на все массивы вот он и перезаписывает))) https://visavi.net/topics/41705/674870 [PHP] Вопрос по apc_add KpuTuK Sun, 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(&#039;category_items&#039;, $item, $item&#91;&#039;leftTime&#039;]); } </pre> Все отрабатывает нормально, каждый массив живет минимум 1 мин, запускаю скрипт еще раз, пытаюсь получить из хранилища кеш вот так<br> <pre class="prettyprint"> $items = apc_fetch(&#039;category_items&#039;); </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