Рубрика «redis» - 8

Производительность Bitrix Старт на Proxmox и Virtuozzo 7 & Virtuozzo Storage - 1

Тестирование производительности Bitrix Старт на двух принципиально разных платформах.
Замерять будем при помощи встроенной панели производительности Bitrix.

C одной стороны, бесплатная версия Proxmox 4.4, LXC контейнеры с использованием файловой системы ZFS на SSD дисках.

С другой стороны, лицензионная Virtuozzo 7 CT + Virtuozzo Storage. В этом варианте мы используем обычные SATA диски + SSD для кеша записи и чтения.

Мы учитываем, что Virtuozzo 7 является коммерческой системой, требующей обязательного лицензирования, а Proxmox 4 можно использовать бесплатно, но без технической поддержки.

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

Стандартный механизм хранения данных пользовательских сессий в php — хранение в файлах. Однако при работе приложения на нескольких серверах для балансировки нагрузки, возникает необходимость хранить данные сессий в хранилище, доступном каждому серверу приложения. В этом случае для хранения сессий хорошо подходит Redis.

Наиболее популярное решение — расширение phpredis. Достаточно установить расширение и настроить php.ini и сессии будут автоматически сохраняться в Redis без изменения кода приложений.

Однако такое решение имеет недостаток — отсутствие блокировки сессии.
Читать полностью »

В Yii2 есть возможность реализовать три варианта интернационализации:

1. Файл с массивом, вида: ключ=>перевод (гибко);
2. Файл с расширением .po,.mo бинарный (нужен компилятор, быстро);
3. База данных mysql, две таблицы для ключей и переводом (лучшая реализация при именовании уникальных категорий или привязанных к странице так как yii вытягивает по категории все ключи );

Или свой вариант взяв за основу хранения переводов в базе но со своим управлением (формирования ключей, переводов и их хранения).

Основное

Вызов перевода остается стандартным Yii::t(). Хранить переводы с ключами будем в MySQL. Временное хранилище по текущему языку будет в Redis. Сбор ключей (категорий) остается прежним.

В чем плюсы:

  • быстрее;
  • гибче;

Читать полностью »

Использование memcached и Redis в высоконагруженных проектах - 1

Вячеслав Москаленко (Ленвендо)

Я буду рассказывать вам об инструментах высоконагруженных проектов, кэшировании, в частности, о memcached, Redis-е и о сервисе очередей RabbitMQ или в простонародье «кролике».

В первой части доклада я расскажу о том, что такое memcached — базовые понятия, что такое Redis, о его особенностях, и чем эти два сервиса отличаются. Расскажу о практическом применении в наших проектах обоих сервисов.

А во второй части я буду рассказывать о брокере сообщений RabbitMQ, об основных понятиях, которые есть в «кролике», о том, как работает маршрутизация сообщений между продюсерами и консьюмерами. Также расскажу о практическом применении в наших проектах данного брокера сообщений.

О кэшировании. Думаю, многие из вас хоть что-то кэшировали в своих веб-проектах, поэтому все будет очень просто и доступно.
Читать полностью »

Пролог

В своей работе у меня, время от времени, возникает желание изменить поведение того или иного инструмента: сделать работу с ним привычней, API прозрачней и т. п. Так случилось и когда мне в наследство достался проект, где в качестве хранилища использовался Redis. Несомненно, Python имеет достаточно библиотек для удобной работы с Redis, однако вспоминая, что это именно key-value хранилище, мне не могла не прийти в голову мысль о том, как было бы замечательно работать с ним как с обычным Python-словарём (dict).

Читать полностью »

Security Week 36: уязвимость в Nexus 5X, криптолокер постит картинки, атака на Linux-серверы через Redis - 1Комбинация стандартных инструментов разработчика и пары недокументированных возможностей позволяет взломать телефоны Nexus 5X — работающие на «чистом» Android смартфоны, выпускаемые компанией LG. Об этом сообщает лаборатория X-Force компании IBM (новость, исследование), естественно уже после того, как Google закрыла уязвимость патчем на этой неделе.

Судя по всему уязвимость возможно было эксплуатировать с уникальной комбинацией прошивки и загрузчика. Для эксплуатации требуется физический доступ к смартфону, либо довольно хитрая и непрактичная манипуляция компьютером, к которому подключается Nexus. Если завладеть телефоном, все просто и надежно. Заходите в меню загрузчика в режиме fastboot, подключаетесь по USB. Далее через интерфейс adb отдаете команду fastboot oem panic — а это приводит к сохранению полного дампа памяти. Этот дамп также можно вытащить с устройства, а в нем, в свою очередь, открытым текстом хранится пароль доступа к телефону.

Все, можно перезагружаться, вводить украденный пароль и дальше делать все, что душе угодно. Интересен еще один потенциальный вектор атаки: через «вредоносный» USB-зарядник, правда на практике это возможно не во всех случаях. В IBM не наблюдают примеров эксплуатации атаки, так что дыру закрыли раньше, чем ей могли бы воспользоваться. Но сценарий использования здесь хорошо укладывается в каноны какого-нибудь шпионского сериала: под покровом темноты меняем штатную зарядку на подготовленную и получаем полный доступ к устройству. Вопрос в том, сколько еще открытий чудных готовят нам современные устройства. Это вам не разъем для наушников, тут все серьезно.

Все выпуски сериала доступны по тегу.
Читать полностью »

rq Каждый должен делать свою работу качественно и в срок. Допустим, вам нужно сделать веб-сервис классификации картинок на базе обученной нейронной сети с помощью библиотеки caffe. В наши дни качество — это асинхронные неблокирующие вызовы, возможность параллельного исполнения нескольких заданий при наличии свободных процессорных ядер, мониторинг очередей заданий… Библиотека RQ позволяет реализовать все это в сжатые сроки без изучения тонны документации.

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

Читать полностью »

Приложение на API hh.ru. Рекомендуем вакансии по вашему резюме - 1
Недавно я опубликовал пост, рассказывающий, как можно просто начать использовать наше API. Мне самому захотелось поиграться с данными, которые можно из него получить, и я решил написать приложение, рекомендующее актуальные вакансии на основе информации из резюме. В конце статьи будет ссылка на результат, где каждый сможет получить список рекомендаций по своему резюме.
Читать полностью »

Джонатан Карди написал .NET-библиотеку StackRedis.L1 с открытым исходным кодом, которая позволяет создавать кэш первого уровня для Redis. Иными словами, используя библиотеку StackExchange.Redis в .NET-приложении, вы можете подключить к ней StackRedis.L1 для ускорения работы за счет локального кэширования данных в оперативной памяти. Это позволяет избежать лишних обращений к Redis в тех случаях, когда данные не подвергались изменениям. Библиотека доступна на GitHub и NuGet.
В этой статье рассказывается о том, как и почему она была создана.

Создание in-memory кэша первого уровня для .NET-клиентов StackExchange.Redis - 1
Читать полностью »

Сервисы, решающие какие-либо задачи в контексте нашего местоположения достаточно прочно вошли в нашу жизнь. Большинство смартфонов может при наличии доступа в интернет вызвать нам такси, рассчитать, через сколько приедет автобус, проложить маршрут с учетом пробок и различных предпочтений пользователя или показать друзей поблизости. Задачки вроде поиска ближайших кафе или достопримечательностей стали для них тривиальны и обычно могут быть решены вообще без доступа ко всемирной паутине. В данной статье я хочу рассмотреть некоторые инструменты для решения подобных задач и сравнить их производительность между собой.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js