Сравниваем Redis и Memcached, плюсы и минусы этих решений. Что выбрать Redis или Memcached.

แชร์
ฝัง
  • เผยแพร่เมื่อ 28 พ.ย. 2020
  • Когда стоит использовать Redis а когда Memcached. Плюсы и минусы данных решений в этом видео. Оба эти решения key-value (NoSQL) хранилища в оперативной памяти.
    В этом видео поговорим в чем же разница и что же выбрать ?
    Как Redis хранит данные ?
    Redis имеет 5 типов данных
    String текстовые значения
    Hash хэш-таблица строковых ключей и значений
    List список строковых значений
    Set не повторяющийся список строковых значений
    Sorted Set отсортированный Set
    Redis поддерживает операции с типами данных
    Redis размер key Redis до 512 MB, value если List Set то более
    Как Memcached хранит данные ?
    У Memcached нет типов данных. Он хранит строки с ключами.
    За счет этого используется меньше служебной памяти
    Размер key 250 B размер value до 1 MB
    У Memcached нет типов данных. Он хранит строки с ключами.
    За счет этого используется меньше служебной памяти
    Размер key 250 B размер value до 1 MB
    Cпособность маштабироваться
    Redis (однопоточный)- горизонтальное, master-slave
    Недостатки - сложность поддержки
    Memcached (многопоточный)- хорошо масштабируется вертикально, больше памяти, больше ядер.
    Горизонтальное масштабирование тоже возможно но на клиентской части т. e. программа сама должна управлять на какую машину отправить или получить данные.
    Еще более сложное решение чем для Redis
    Основное различие
    Data persistence или сохранность данных
    Memcached - нам не нужно хранить большие объемы данных для одного ключа, сохранность данных для нас не важна. Размера современной оперативной памяти вам хватает с головой 256 GB.
    более компактно использует память
    многопоточный, максимально эффективно использует ваши 32 ядра
    практически не нужно настраивать
    Классическая задача - кэширование данных
    Memcached - не гарантирует что данные будут доступны (перетерли место кончилось, перезапуск системы)
    Redis - имеет возможность периодически скидывать данные на диск. Это не гарантирует 100% доступности но существенно ее повышает
    Redis - если ваши данные имеют определенную структуру, сохранность имеет значение, возможно горизонтальное масштабирование

ความคิดเห็น • 14

  • @maktomilov
    @maktomilov 3 ปีที่แล้ว +15

    Про мемкеш не совсем правильно все рассказано.
    1. Можно сохранять данные по ключу размером более 1Мб, достаточно передать правильную опцию в параметры запуска. 1Мб - это значение по умолчанию.
    2. В последних версиях мемкеша (а видео вышло не так давно и можно было бы уточнить последние фичи) - мемкеш позволяет скидывать данные на диск/tmpfs или еще куда и сохранить их между перезапусками.
    3. Горизонтальное масштабирование мемкеша возможно через вполне неплохо работающий mcrouter от Фейсбука. В этом случае клиентская часть не заботится, куда и что слать.
    Дьявол, как всегда в деталях.

  • @vladimirmakarov6344
    @vladimirmakarov6344 3 ปีที่แล้ว +8

    Спасибо, очень хорошее оформление презентации

  • @koller18
    @koller18 ปีที่แล้ว +1

    Спасибо большое за такое короткое и ясное объяснение, а не как у некоторых по нескольку часов

  • @seva42
    @seva42 2 ปีที่แล้ว +1

    Спасибо, продолжайте делать уроки! Отличные видео!

  • @user-jf9ht3ge3x
    @user-jf9ht3ge3x 2 ปีที่แล้ว

    Круто обьснил . Спасибо

  • @eb6006
    @eb6006 3 ปีที่แล้ว +1

    Спасибо! Расскажи пожалуйсто больше про применение с Laravel для websockets

  • @user-gs3gf8nb4v
    @user-gs3gf8nb4v 3 ปีที่แล้ว

    ХОРОШИЕ УРОКИ

  • @Kyrare03
    @Kyrare03 3 ปีที่แล้ว +1

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

  • @srt2046
    @srt2046 3 ปีที่แล้ว

    👍

  • @Nottospeak
    @Nottospeak 3 ปีที่แล้ว +1

    можно ж увеличить у мемкеша value

    • @livecodingschool8906
      @livecodingschool8906  3 ปีที่แล้ว +2

      Спасибо здесь не точность на текущий момент можно увеличить до 128 Mb

  • @user-wf4dv6er8f
    @user-wf4dv6er8f 2 ปีที่แล้ว +1

    Я первый кто ошибку в слове "масштабироваться" заметил?

  • @khusamalfas2121
    @khusamalfas2121 2 ปีที่แล้ว

    Спасибо!