redis vs memcache в Opencart

redis

redis vs memcache в Opencart

Меня часто торпедируют вопросами типа: » а если я установлю Memcache», мой магазин станет быстрее. И я всегда говорю нет.
Так как в 99% случаев у вопрошающих микромагазин, который хостится на ukraine.com.ua. А они еще те упыри и решили всем продать услугу memcache, которая типа может быть использована.

Так вот на микромагазине от мемкеша толку — нету!!!! НЕТУ!!!
И быть не может.

Чтобы вам было понятно, что это такое и зачем он используется. Что мемекеш, что файловая система, что редис — это хранилища данных по принципу (ключ)->значение.

В файловой системе ключ — это название файла — значение — это его содержимое. То же самое и в мемкеше и в редиске, просто название файла заменяется какой нить аброказяброй, которая зачастую является проивзодной функции MD5 с аргументами в виде описания признаков входящих данных, которые мы пытаемся сохранить.
Т.е. чтобы было понятно домохозяйке, кеши, которые сыпятся в подобные хранилища — это какие-то очень часто используемые данные. Если приводить простой пример таблица умножения у нас в голове — это такой же кеш. Это какие то данные, которые мы запомнили и они всегда у нас в быстром доступе. И чтобы узнать сколько будет 2+2 нам не надо долго думать, мы всегда знаем что это 4.

Вот так же и в опенкарте, вместо того чтобы искать стопицот раз в таблице с урлами значения ЧПУ, есть готовый файл уже со всем набором алиасов, и нам достаточно загрузить его в в виде массива в php, и дергать эти данные из очень быстрого внутреннего набора, а не обращаться в базу.

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

Однако. Эта технология имеет право на жизнь в ситуациях, когда кроме скорости доступа, у нас еще есть такие факторы, как время передачи данных (у нас ведь могут быть большие данные в кеше 10-20-30 мегабайт), а также количество этих наборов данных. Если у нас их больше нескольких тысяч, то доступ в памяти к такому количеству данных, в десятки раз быстрее чем в файлах.

И вот бывают магазины, у которых файл кеша с сеоурлами, весит к примеру 25+ мегабайт, или магазины с модулями, в которых какой-нибудь тупой ебливый пидар закешировал все атомарные наборы данных и запиздячил овердохуя коротких данных в кеш. И там же может быть фильтр от Soor, который своих кешей еще наработал мегабайт 60. И при каждой загрузке нам эти данные надо дернуть с диска и преобразовать из файла в php-объект. В рамках загрузки одной страницы — это много долго, и ресурсоемко. Поэтому тут нам на помощь и приходят быстрые хранилища.

У всех на слуху Memcache. Но он морально устарел — это раз. Два — при установке «из коробки» он требует недюжего конфигурирования чтобы и дыры закрыть и заставить его работать с большими данными. Но у нас есть отличная альтернатива, которая лишена этих болезней — это Redis. Мало того что у него нет проблем с размером данных, так он быстрее и обладает кучей ништяков.

Вот вы ща спросите. Ой. а у нас же у всех 2.x, а Redis поддержка только в 3.x.
На что я вам скажу, что пока вы не прочитали эти строки вы даже не знали что Даниэль сделал поддержку редиске в третьей ветке, это раз, а два. Те кто будут пытаться применять на практике мою наводку, я думаю без труда скопируют драйвер из 3.x и пихнут нужную дописку в конфиг.

За сим откланиваюсь и напоминаю, что SOFORP — жирный пидар!

Хуйнаныр(10)Очко(1)

Запостить высер

4 Высеров на "redis vs memcache в Opencart"

Стучать мне на мыло
avatar

Сортировать:   Свежие | Тухлые | Хуйнанырные
kopaweb
робот-вертер
kopaweb
23 дней 3 часов назад

А есть еще такие как я, кто пользуется 1.5.х

wpDiscuz