Ответы пользователя по тегу Memcached
  • Стоит ли беспокоиться о масштабировании на этапе разработки?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    redis, у него есть pub/sub интерфейс так что можно заставить общаться демоны через него, можно хранить в нем сессии...

    Частенько задумываясь о будущих нагрузках

    Тогда вы должны писать нагрузочные тесты, а не филосовствовать о том что можно еще сделать просто-так. В целом если вы не занимались настройкой ядра у вас начнутся проблемы уже на 1000-е активных пользователей (по умолчанию PHP не умеет в stream_select обрабатывать более ~1024 файловых дескриптеров, а операционная система и вовсе по умолчанию ограничивает количество всех файловых дескрипторов на процесс.

    Горизонтальное масштабирование web socket серверов нужно когда у нас количество активных пользователей которые одновременно пользуются системой доходит ближе к 10К а то и больше (нагрузочные тесты все покажут).

    То чем вы занимаетесь называется преждевременной оптимизацией.
    Ответ написан
    Комментировать
  • Разумно ли хранить токены в кэше?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Где лучше теперь хранить его на сервере?

    Лучше вообще не хранить его на сервере. Используйте JWT.
    Ответ написан
    Комментировать
  • Что из этих технологий для чего используется?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Оукей. давайте возьмем ваш пример с fl.ru + чаты.

    mongodb - хипстерская база данных. Для проекта типа fl.ru я бы пожалуй не использовал оную (не потому что монга отстой а потому что я лично не вижу в использовании оной смысла в контексте проекта типа fl.ru. Нам не нужен шардинг, реплекация реализуется нормально на любой нормальной RDBS, документоориентированность не нужна, хотя при грамотном подходе можно было бы реализовать неплохие агрегированные коллекции и оптипизировать селекты... Для себя не нашел у монги ни одного плюса перед RDBS типа PostgreSQL). В любом случае если вы не оставляете выбор - тут у нас будут храниться все данные. Придется потратить время на то что бы избавиться от желания что-то заджойнить и реализовать map/reduc-ы для обновления связанных коллекций. Но зато это будет так по хипстерски!

    То есть если у вас есть куча однотипных запросов с кучей джойнов данные для которых обновляются редко а выборки происходят часто, то тогда можно вооружиться монгой а делать коллекции как агрегации этих выборок. Если вы вставляете референсы и пытаетесь эмитировать джойны в монге то значит вы сделали не правильный выбор основного хранилища данных). Правда денормализовать данные можно и с RDBS....

    sphinx - поисковой индекс. То есть если мы должны реализовать вменяемый поиск (например по описанию вакансии) - то стоит его заюзать. Сфинкс не самый дружелюбный зато один из самых быстрых поисковых индексов. Хорошо интегрируется с MySQL и подобными и если сравнивать с ElasticSearch из коробки чуть лучше дружит с русским языком. Но опять же у эластики свои плюшки. Некоторые оной заменяют монгу так как по большинству фич в плане хранилища данных они совпадают.

    redis - мы там вроде чатик делали. Помимо того что redis это хорошее key-value in-memory хранилище, которое к тому же может обеспечить нам надежность хранения данных (мэпится на файловую систему еще), оно так же поддерживает pub/sub. То есть чисто теоритически мы можем не добавлять в стэк штуки типа ZeroMQ и прочие *MQ для реализации авторизации и связи приложения чатика и основного приложения (вдруг у нас чатик будет написан на go/node.js/erlang).

    memcache - вот тут стоит подумать нужен ли он если у нас есть редиска. Раньше для жирного кеша выбор был очевиден - memcached, так как reddis в те времена не поддерживал кластеризацию. Сейчас же по возможностям редиска далеко впереди. Так что даже то что memcached чуточку быстрее (но жрет больше памяти и не поддерживает авторизацию к примеру из коробки) не должно стать поводом для использования оного. Но я если честно redis в кластерах не использовал и ничего говорить не могу, а memcached испытан годами.
    Ответ написан
    1 комментарий
  • Yii доступ к ключу кеша через url?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    а с каких это пор доступ к memcache идет по http? там же бинарный протокол.
    Ответ написан
  • Что лучше выбрать для кэширования: файлы, redis, mongodb, memcache?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    MongoDB то в список как попал?

    По остальному же крайне рекомендую к прочтению:
    stackoverflow.com/questions/10558465/memcache-vs-redis
    Ответ написан
    9 комментариев