Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> memcache на несколько серверов 
V
    Опции темы
DooZ
Дата 10.7.2009, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 206
Регистрация: 25.11.2005

Репутация: 1
Всего: 1



Подскажите такую вещь
есть два сервера:
сервер1
сервер2

на каждом происходит коннект к мембкешам вот в таком виде:
$memcache = new Memcache;
$memcache->addServer('сервер1', 11211);
$memcache->addServer('сервер2', 11211);

но данные записанные на одном сервере, почемуто иногда (или всегда, не пойму) не видны на втором
с чем это может быть связанно?

как правильно вообще работать с memcache если нужно использовать совместно память на двух серверах?

Добавлено через 10 минут и 2 секунды
вообщем для работы мемкеша на нескольких серверах, достаточно просто сделать всем нужным серверам: 
$memcache->addServer('сервер1', 11211);
$memcache->addServer('сервер2', 11211);
$memcache->addServer('серверN', 11211);
не зависимо в какой последовательности???
или надо как-то иначе работать с ним?

просто если я меняю последовательности, то данные вообще не видно

подскажите, а лучше покажите реальный пример, как правильно работать с memcache на нескольких серверах

спасибо
PM MAIL   Вверх
DooZ
Дата 11.7.2009, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 206
Регистрация: 25.11.2005

Репутация: 1
Всего: 1



неужели никто не работал с memcache больше чем на одном сервере?  smile 
PM MAIL   Вверх
DooZ
Дата 11.7.2009, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 206
Регистрация: 25.11.2005

Репутация: 1
Всего: 1



вот реальный пример, что не работает

на сервере1 запускается такой скрипт:

Код

<?php

$memcache = new Memcache;
$memcache->addServer('сервер2', 11211);
$memcache->addServer('127.0.0.1', 11211);

$xxx = md5("zz_raw_11_1_1_2009-07-11");
$memcache->add($xxx, 0, false, 0);
$memcache->increment($xxx, 1);

?>


т.е. после запуска, скрипт должен записать данные в кеш, на один из серверов (на удаленный или свой)

на сервере2 я запускаю вот такой проверочный скрипт

Код

<?php

$memcache = new Memcache;
$memcache->addServer('127.0.0.1', 11211);
$memcache->addServer('сервер1', 11211);

$xxx = md5("zz_raw_11_1_1_2009-07-11");
print "-> " . $memcache->get($xxx) . "\n";

?>


и НИЧЕГО не выводится

если я УБИРАЮ строку: $memcache->addServer('сервер1', 11211); т.е. коннектимся только к локальному хосту, то все ок

вопрос: где грабли? почему мемкеш не определяет куда он засунул ключ??? как быть? уже всю голову сломал
PM MAIL   Вверх
DooZ
Дата 16.7.2009, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 206
Регистрация: 25.11.2005

Репутация: 1
Всего: 1



вообщем разобрался сам

смысл в том, что у меня стояли разные версии модуля memcache, на одном версия 2 какая-то, а втором 3.04 соответственно по разному формировались ключи для хешей где оставлять на серваке
можно еще принудительно поставить настройки в файле /etc/php.d/memcache.ini но вроде и так работает
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

Внимание: данный раздел предназначен для решения сложных, нестандартных задач.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Для профи | Следующая тема »


 




[ Время генерации скрипта: 0.0624 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.