Видимо не выспался :). Как я понял, вносились изменения еще и в dtablecache.inc. Тогда как это работает становится более менее понятно.
Что не понятно, то почему для этого используется файл tablecache.db.inc, по логике надо использовать tablecache.inc, ведь tablecache.db.inc подстраховывает сервер, если будет недоступен tablecache, а мы вроде как продолжаем работать с нашей базой, так что выглядит по крайне мере странно, что мы дважды пишем кеш, сначала в drupal кеш таблицы, затем в свои.
В особенности учитывая, что добавились новые поля itemkey и compress:
db_query("CREATE TABLE {".$name."} (
`cid` varchar(85) NOT NULL default '',
`itemkey` int(11) NOT NULL default '0',
`data` varchar(255) NOT NULL default '',
`size` int(11) NOT NULL default '0',
`expire` int(11) NOT NULL default '0',
`compress` smallint(1) NOT NULL default 0,
`serialize` smallint(1) NOT NULL default 0,
Сегодня обнаружил слабое место у memcached по сравнению с использованием MySQl - нет возможности удалять записи по маске - например такой запрос не сделать - delete * from 'cache' where cid LIKE 'cid:212%';
Т.к. спецсимволы не поддерживается в memcached - '%'
Видимо это очередной случай, когда применение memory будет предпочтительнее, нежели memcached.
Спасибо большое... bsyomov ты пойми друг месяц целыми днями сижу, ты не думай что я вот сел и давай вас задалбывать,вообще не хотел писать просто в тупик стал, да понимаю но не могу сделать... просто по этапно немного объяснить!!!
Молодой человек (девушка), пишите грамотно и ясно излагайте свои мысли и тогда свершится чудо, и вам начнут давать правильные ответы.
Кстати, знаки препинания пока еще никто не отменял!
Здесь правда появится элемент поиска хранилища уже на стадии запроса и это тема для разговора и обдумывания... Не уверен, что есть смысл париться - проще на сервер докупить +4 гига оперативки...
Кстати о птичках, а почему бы не добавить еще одну табличку, типа cache_saved, в который мы бы как раз и хранили информацию в какую таблицу и какие данные мы положили...
Для чего я распинался. Кому интересно было бы помочь мне в моих начинаниях по этой теме я завтра выложу мой новый cache.inc и sql команды для создания модифицированных кеш таблиц.
Но зато есть клевый тип таблиц - Memory, в чем их прикол:
1. они хранятся в виртуальной памяти, поэтому доступ и модификация данных проходят моментально;
2. они могут использовать на всю катушку hash index;
Слава богу нет. есть настройка, которая позволяет управлять, как синхронизировать данные. Нол смысл все равно в том, что юзается диск, а для кеша это как то глупо!
InnoDB тоже можно перевести в память, будет ли при этом запись на диск не знаю. Почитайте про HandlerSocketPlugin для мускуля, он для кеша судя по всему то что надо и на php уже враппер есть.
Из моих изысканий на данную тему (Все нижеизложенное относится к MySQL). Все мы знаем, что есть такие таблицы, как cache_XXX и они позволяют существенно снизить нагрузку тоже по очевидным причинам, но вот делема, эти таблицы имеют формат либо MyISAM? либо InnoDB, что в итоге выражается в том, что они хранятся на ... диске, а не в виртуальной памяти, как того хотелось бы и следовало ожидать.
а тип таблиц какой? InnoDb или MyISAM?
Я проводил эксперименты с Memmory и таблицами кеширования , но результаты были не ахти, поэтому я пока что отложил это до лучших времен. Но memmory как раз таки и позволяют существенно снизить нагрузку при обновлении данных!
drupal + mysql - самые "дорогие" модули
Видимо не выспался :). Как я понял, вносились изменения еще и в dtablecache.inc. Тогда как это работает становится более менее понятно.
Что не понятно, то почему для этого используется файл tablecache.db.inc, по логике надо использовать tablecache.inc, ведь tablecache.db.inc подстраховывает сервер, если будет недоступен tablecache, а мы вроде как продолжаем работать с нашей базой, так что выглядит по крайне мере странно, что мы дважды пишем кеш, сначала в drupal кеш таблицы, затем в свои.
drupal + mysql - самые "дорогие" модули
В особенности учитывая, что добавились новые поля itemkey и compress:
db_query("CREATE TABLE {".$name."} (
`cid` varchar(85) NOT NULL default '',
`itemkey` int(11) NOT NULL default '0',
`data` varchar(255) NOT NULL default '',
`size` int(11) NOT NULL default '0',
`expire` int(11) NOT NULL default '0',
`compress` smallint(1) NOT NULL default 0,
`serialize` smallint(1) NOT NULL default 0,
drupal + mysql - самые "дорогие" модули
Тогда проясните мне плз, как используется классы из mtablecache.inc например в cache_set():
function cache_set($cid, $data, $table = 'cache', $expire = CACHE_PERMANENT, $headers = NULL, $db_storage = TRUE) {
global $tablecache_online;
$created = $_SERVER['REQUEST_TIME'];
// Create new cache object.
$cache = new stdClass;
$cache->cid = $cid;
$cache->data = is_object($data) ? tablecache_clone($data) : $data;
$cache->created = $created;
$cache->expire = $expire;
$cache->headers = $headers;
drupal + mysql - самые "дорогие" модули
drupal + mysql - самые "дорогие" модули
А можно вас попросить ваш модуль мне на почту скинуть? А то ссылочки не открываются... sergey.my.email<собака>mail.ru
drupal + mysql - самые "дорогие" модули
Сегодня обнаружил слабое место у memcached по сравнению с использованием MySQl - нет возможности удалять записи по маске - например такой запрос не сделать - delete * from 'cache' where cid LIKE 'cid:212%';
Т.к. спецсимволы не поддерживается в memcached - '%'
Видимо это очередной случай, когда применение memory будет предпочтительнее, нежели memcached.
Помогите!!!
Молодой человек (девушка), пишите грамотно и ясно излагайте свои мысли и тогда свершится чудо, и вам начнут давать правильные ответы.
Кстати, знаки препинания пока еще никто не отменял!
drupal + mysql - самые "дорогие" модули
статья в тему - http://club.shelek.ru/viewart.php?id=300#post_p2_1
из нее следует, что xcache не лучший выбор при работе с данными большого объема
drupal + mysql - самые "дорогие" модули
Кстати о птичках, а почему бы не добавить еще одну табличку, типа cache_saved, в который мы бы как раз и хранили информацию в какую таблицу и какие данные мы положили...
drupal + mysql - самые "дорогие" модули
В общем есть с чем поработать и над чем подумать
drupal + mysql - самые "дорогие" модули
drupal + mysql - самые "дорогие" модули
Вместо страницы периодически вижу вот такое вот счастье... подскажите, кто сталкивался, в чем тут может быть проблема?
Теперь понятно! Спасибо за помощь!
Вместо страницы периодически вижу вот такое вот счастье... подскажите, кто сталкивался, в чем тут может быть проблема?
а в чем проблема то? вырубить то мы всегда успеем, хочется понять, почему она только периодически появляется...
drupal + mysql - самые "дорогие" модули
А как с результатами применения? есть чем похвастаться?
drupal + mysql - самые "дорогие" модули
drupal + mysql - самые "дорогие" модули
drupal + mysql - самые "дорогие" модули
Слава богу нет. есть настройка, которая позволяет управлять, как синхронизировать данные. Нол смысл все равно в том, что юзается диск, а для кеша это как то глупо!
drupal + mysql - самые "дорогие" модули
drupal + mysql - самые "дорогие" модули
drupal + mysql - самые "дорогие" модули
drupal + mysql - самые "дорогие" модули
Из моих изысканий на данную тему (Все нижеизложенное относится к MySQL). Все мы знаем, что есть такие таблицы, как cache_XXX и они позволяют существенно снизить нагрузку тоже по очевидным причинам, но вот делема, эти таблицы имеют формат либо MyISAM? либо InnoDB, что в итоге выражается в том, что они хранятся на ... диске, а не в виртуальной памяти, как того хотелось бы и следовало ожидать.
drupal + mysql - самые "дорогие" модули
а тип таблиц какой? InnoDb или MyISAM?
Я проводил эксперименты с Memmory и таблицами кеширования , но результаты были не ахти, поэтому я пока что отложил это до лучших времен. Но memmory как раз таки и позволяют существенно снизить нагрузку при обновлении данных!
drupal + mysql - самые "дорогие" модули
подпишусь
Оптимизация сайта (более 80 модулей, более 2500 просмотров в сутки)
ну и таблички было бы неплохо в фигурные скобочки вставлять - {node}, а то как то не по drupal'ки получается!