Pull to refresh
3
0
nIx0iD @nIx0iD

Программист

Send message

Redis на практических примерах

Reading time 11 min
Views 104K

Redis — достаточно популярный инструмент, который из коробки поддерживает большое количество различных типов данных и методов работы с ними. Во многих проектах он используется в качестве кэшируещего слоя, но его возможности намного шире. Мы в ManyChat очень любим Redis и активно используем его в нашем продукте для решения огромного количества задач. Про некоторые интересные кейсы использования этой in-memory key-value базы данных я расскажу на примерах. Надеюсь, вам они будут полезны, и вы сможете применить что-то в своих проектах.

Рассмотрим следующие кейсы:

  • Кэширование данных (да, банально и скучно, но это классный инструмент для кэширования и обойти стороной этот кейс, кажется будет не правильно)
  • Работа с очередями на базе redis
  • Организация блокировок (mutex)
  • Делаем систему rate-limit
  • Pubsub — делаем рассылки сообщений на клиенты

Буду работать с сырыми redis командами, чтобы не завязываться на какую-либо конкретную библиотеку, предоставляющую обертку над этими командами. Код буду писать на PHP с использованием ext-redis, но он здесь для наглядности, использовать представленные подходы можно в связке с любым другим языком программирования.


Читать дальше →
Total votes 40: ↑38 and ↓2 +36
Comments 14

Делаем Cloud IVR с интеллектуальной переадресацией и распознаванием за несколько минут

Reading time 8 min
Views 8.6K
Стандартный сценарий, который нужно реализовывать многим бизнесам — IVR-меню при входящем звонке, которое позволяет или получить какую-то информацию или связаться с конкретным сотрудником или оператором компании. Звонящий может управлять меню либо нажимая кнопки на телефоне (DTMF), или даже голосом (ASR). Так как платформа VoxImplant позволяет быстро писать и отлаживать сценарии обработки вызовов на Javascript, то мы решили рассказать как можно за несколько минут улучшить восприятие вашего бизнеса клиентами, сделав удобное и технологичное IVR-меню. К тому же, вы сможете грамотно распределять нагрузку на вашу телефонную систему и сотрудников. За деталями, как обычно, добро пожаловать под кат.
Читать дальше →
Total votes 14: ↑10 and ↓4 +6
Comments 2

Как использовать API сайта, у которого нет API?

Reading time 4 min
Views 79K
У меня достаточно часто появляется задача получить данные от стороннего сайта, при этом далеко не всегда этот сайт предоставляет возможность удобно получить эти данные через API. Единственное решение в таком случае — парсить html содержимое страниц. Когда-то я писал регэкспы, потом появились библиотеки, позволяющие получить нужное содержимое по css-селектору, а сейчас и это кажется сложной задачей, которую хотелось бы упростить.

Сегодня я хочу рассказать вам о моей небольшой библиотеке, позволяющей описать в API-стиле http-запросы и парсить ответ сервера в нужный вам формат.
Читать дальше →
Total votes 115: ↑105 and ↓10 +95
Comments 40

Используем console на полную

Reading time 6 min
Views 456K
Метод console.log() — отличный способ вывести отладочную информацию, не мешая пользователю. Но знаете ли Вы, что объект console имеет еще уйму других не менее полезных методов? Очень редко разработчики используют этот функционал, ограничиваясь неблокирующим alert'ом. Что-ж, давайте исправим это положение.

Вкусности console
Total votes 172: ↑168 and ↓4 +164
Comments 29

Работа с памятью (и всё же она есть)

Reading time 13 min
Views 106K
Существует распространенное мнение, что «рядовому» PHP разработчику практически не нужно заботиться об управлении памятью, однако «заботиться» и «знать» всё же немного разные понятия. Попытаюсь осветить некоторые аспекты управлению памятью при работе с переменными и массивами, а также интересные «подводные камни» внутренней оптимизации PHP. Как вы сможете убедиться, оптимизация это хорошо, но если не знать как именно она «оптимизирует», то можно столкнуться с «неочевидными граблями», которые могут вас заставить изрядно понервничать.

Читать дальше →
Total votes 235: ↑224 and ↓11 +213
Comments 90

Information

Rating
Does not participate
Location
Россия
Registered
Activity