Сессии, memcached, UFT-8 и русский язык

leosun

Новичок
Господа, прошу поделиться опытом если таковой имеется, в одном из своих проектов у меня планируется очень высокая нагрузка на сессии, я собираюсь использовать для этого memcached и стандартный для этого обработчик встроенный в PHP, и все было бы очень хорошо, но я тут подумал - почему бы не упросить восприятие кода и не писать вот в таком духе:

PHP:
$_SESSION['ПЕРЕМЕННАЯ_1'] =
    array(
      'ПЕРЕМЕННАЯ_1_2' => array(
        'ПЕРЕМЕННАЯ_1_2_1' => 18,
        'ПЕРЕМЕННАЯ_1_2_2' => 17
      )
    );
Кодировка проекта UTF-8, не возникнет ли у меня проблема когда я начну использовать memcached для хронения сессий с русским языком в ключах?

P.S. Почему бы не использовать обычные ключи на английском? - Потому что хочется просто попробывать будет ли русский лучше для восприятия, да простит меня 1С.
 

Adelf

Administrator
Команда форума
Потому что хочется просто попробывать будет ли русский лучше для восприятия
Не будет. У тебя в коде будет очень много английских символов. SESSION, array... русские ключи - это постоянное переключение языкового контекста для читающего. Убей эту идею сразу на корню.

З.Ы. До memcached эти твои ключи все равно не добрались бы. Так что там проблемы не возникнет.
 

DiMA

php.spb.ru
Команда форума
когда ты перейдешь с сессий в файлах на мемкеш, да еще на мнином халоде (при разработке его не будет), у тебя вылезет проблема отсутствия блокировок и хаотичные сказочные баги
 

Вурдалак

Продвинутый новичок
А memcached разве как-то гарантирует сохранность данных? Что мешает сессии там просто умереть в какой-то момент из-за избытка новых данных?
 

zerkms

TDD infected
Команда форума
Вурдалак
На винте тоже место может закончиться :)
 

zerkms

TDD infected
Команда форума
DiMA
А вы у себя много чего храните в сессиях? Просто интересно, кроме user_id (или сразу готового пользовательского объекта/массива) - что ещё?
 

DiMA

php.spb.ru
Команда форума
В сессиях много всего хранится, как у обычных проектов. Когда появляется нужда завести и хранить новую переменную, идет выбор наиболее выгодного места, начиная с локалстораджа браузера, кук и сессий, до многих вариантов разных хранилищ. Есть профайл юзера. В нем есть некоторые поля, которые нужны очень часто. Куда их поместить? Только в сессию, т.к. сессия и так при каждом запросе читается. Иначе бы пришлось делать второй запрос к кешу или профайлу. Основное применение - кеш и разные флаги.
 
Сверху