Siegfrid@drupal.org: Комментарии

Главные вкладки

29 декабря 2010 в 8:43

Видимо не выспался :). Как я понял, вносились изменения еще и в dtablecache.inc. Тогда как это работает становится более менее понятно.

Что не понятно, то почему для этого используется файл tablecache.db.inc, по логике надо использовать tablecache.inc, ведь tablecache.db.inc подстраховывает сервер, если будет недоступен tablecache, а мы вроде как продолжаем работать с нашей базой, так что выглядит по крайне мере странно, что мы дважды пишем кеш, сначала в drupal кеш таблицы, затем в свои.

29 декабря 2010 в 8:32

В особенности учитывая, что добавились новые поля 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,

29 декабря 2010 в 8:29

Тогда проясните мне плз, как используется классы из 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;

28 декабря 2010 в 18:03

Mirocow wrote:

Собственно такой модуль давно уже создан и выложен в паблик http://95.143.220.95:85/projects/table-cache/repository

А можно вас попросить ваш модуль мне на почту скинуть? А то ссылочки не открываются... sergey.my.email<собака>mail.ru

28 декабря 2010 в 13:03

Сегодня обнаружил слабое место у memcached по сравнению с использованием MySQl - нет возможности удалять записи по маске - например такой запрос не сделать - delete * from 'cache' where cid LIKE 'cid:212%';

Т.к. спецсимволы не поддерживается в memcached - '%'

Видимо это очередной случай, когда применение memory будет предпочтительнее, нежели memcached.

26 декабря 2010 в 17:01

loziknik wrote:
Спасибо большое... bsyomov ты пойми друг месяц целыми днями сижу, ты не думай что я вот сел и давай вас задалбывать,вообще не хотел писать просто в тупик стал, да понимаю но не могу сделать... просто по этапно немного объяснить!!!

Молодой человек (девушка), пишите грамотно и ясно излагайте свои мысли и тогда свершится чудо, и вам начнут давать правильные ответы.
Кстати, знаки препинания пока еще никто не отменял!

24 декабря 2010 в 15:21

<a href="mailto:podarok@drupal.org">podarok@drupal.org</a> wrote:

Здесь правда появится элемент поиска хранилища уже на стадии запроса и это тема для разговора и обдумывания... Не уверен, что есть смысл париться - проще на сервер докупить +4 гига оперативки...

Кстати о птичках, а почему бы не добавить еще одну табличку, типа cache_saved, в который мы бы как раз и хранили информацию в какую таблицу и какие данные мы положили...

24 декабря 2010 в 13:56

<a href="mailto:podarok@drupal.org">podarok@drupal.org</a> wrote:
<a href="mailto:Siegfrid@drupal.org">Siegfrid@drupal.org</a> wrote:

3. не понятно, если использовать сжатие, как это отразится на скорости работы?

Сжатие кеша точно умедляет работу, я проверял на xcache + gzip

24 декабря 2010 в 10:39

<a href="mailto:podarok@drupal.org">podarok@drupal.org</a> wrote:
<a href="mailto:Siegfrid@drupal.org">Siegfrid@drupal.org</a> wrote:

Для чего я распинался. Кому интересно было бы помочь мне в моих начинаниях по этой теме я завтра выложу мой новый cache.inc и sql команды для создания модифицированных кеш таблиц.

21 декабря 2010 в 8:46

а в чем проблема то? вырубить то мы всегда успеем, хочется понять, почему она только периодически появляется...

20 декабря 2010 в 8:56

Mirocow wrote:
Если кому интересно, могу выложить с подробным описанием

p/s Ах да данный модуль делал MDinc я лишь правил
Ну теперь все.

А как с результатами применения? есть чем похвастаться? Smile

20 декабря 2010 в 8:35

Mirocow wrote:
"<a href="mailto:Siegfrid@drupal.org">Siegfrid@drupal.org</a>" wrote:
Но зато есть клевый тип таблиц - Memory, в чем их прикол:
1. они хранятся в виртуальной памяти, поэтому доступ и модификация данных проходят моментально;
2. они могут использовать на всю катушку hash index;

17 декабря 2010 в 15:22

vgoodvin wrote:
А данные синхронизирует при каждой транзакции?

Слава богу нет. есть настройка, которая позволяет управлять, как синхронизировать данные. Нол смысл все равно в том, что юзается диск, а для кеша это как то глупо!

17 декабря 2010 в 13:32

vgoodvin wrote:
"<a href="mailto:Siegfrid@drupal.org">Siegfrid@drupal.org</a>" wrote:
В том то и дело, что InnoDb пишет в память, при чем как минимум раз в секунду. А каждое обращение к диску - это тормоза.

Вот это я не совсем понял. Пишет в память но причем здесь диск?

17 декабря 2010 в 8:20

vgoodvin wrote:
"<a href="mailto:Siegfrid@drupal.org">Siegfrid@drupal.org</a>" wrote:

InnoDB тоже можно перевести в память, будет ли при этом запись на диск не знаю. Почитайте про HandlerSocketPlugin для мускуля, он для кеша судя по всему то что надо и на php уже враппер есть.

16 декабря 2010 в 22:42

Из моих изысканий на данную тему (Все нижеизложенное относится к MySQL). Все мы знаем, что есть такие таблицы, как cache_XXX и они позволяют существенно снизить нагрузку тоже по очевидным причинам, но вот делема, эти таблицы имеют формат либо MyISAM? либо InnoDB, что в итоге выражается в том, что они хранятся на ... диске, а не в виртуальной памяти, как того хотелось бы и следовало ожидать.

16 декабря 2010 в 17:05

а тип таблиц какой? InnoDb или MyISAM?
Я проводил эксперименты с Memmory и таблицами кеширования , но результаты были не ахти, поэтому я пока что отложил это до лучших времен. Но memmory как раз таки и позволяют существенно снизить нагрузку при обновлении данных!