[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите с математикой
AlexAlex
Надо хранить кэш.

Как обычно, доступ к нему по ключам Вида "{$pref}_{$ind}", где $ind - автоинк БД.

Нужна формула, которая возвращала бы одинаковое значения для $ind+5 и $ind-5


rolleyes.gif
Игорь_Vasinsky
ась? в операциях фактически используются 2 константы как получить разные значения при разных операциях у 2х констант?

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
sergeiss
Цитата (AlexAlex @ 20.05.2013 - 21:39)
Нужна формула, которая возвращала бы одинаковое значения для $ind+5 и $ind-5

Ты имеешь ввиду, что $ind +/- (5 умноженное на любое число), чтобы приводило к получению $ind? Остаток от деления по модулю
$ind = $val % 5; // и ты всегда будешь получать то, что надо.


_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Игорь_Vasinsky
как у тебя такая логическая цепочка получилась? ohmy.gif

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
glock18
Цитата (sergeiss @ 20.05.2013 - 17:53)
Цитата (AlexAlex @ 20.05.2013 - 21:39)
Нужна формула, которая возвращала бы одинаковое значения для $ind+5 и $ind-5

Ты имеешь ввиду, что $ind +/- (5 умноженное на любое число), чтобы приводило к получению $ind? Остаток от деления по модулю
$ind = $val % 5; // и ты всегда будешь получать то, что надо.

только точнее было бы :)

$ind = $val % 10;


не то, чтобы 5 не выполняло условие, но оно перевыполняет вроде как :)
AlexAlex
Цитата (sergeiss @ 20.05.2013 - 20:53)
<pre class="sh_sourceCode" rel="php"><span class="sh_variable">$ind</span> <span class="sh_symbol">=</span> <span class="sh_variable">$val</span> <span class="sh_symbol">%</span> <span class="sh_number">5</span><span class="sh_symbol">;</span> <span class="sh_comment">// и ты всегда будешь получать то, что надо.</span></pre>

Спасибо, но это не подходит.

Плохо видно объяснил, что хочу.

Из базы приходит массив, скажем в 500 ключей:
Array(1 => {...},
2 => {...},
3 => {...},
4 => {...},
[...]

500 => {...});


Чтобы недергать без необходимости базу, отдельные ключи нужно кэшировать. При кэшировании ставлю ключ вида "{$prefix}_{$key}". Соответственно, прежде чем лезть в БД, ищем соответствующий ключ. Загвоздка в том, что если, например $key = 255, нужно проверять по пять ключей в обе стороны (от "{$prefix}_{250}" до "{$prefix}_{260}"). Перебирать их как-то не охота. Ставить 10 одинаковых кэшей вместо одного - тоже не наш путь... <_<
glock18
Цитата (AlexAlex @ 20.05.2013 - 18:46)
Перебирать их как-то не охота

то есть проблема в лени? Кешируете то что? У вас там заурядная постраничка или что-то другое?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.