Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Recommended Posts

Redis Session Driver (Хранение сессии в Redis)


Redis Session Driver (Хранение сессии в Redis)


Хранение пользовательских сессии в Redis

 

Стандартно OpenCart хранит сессии в базе данных или файлах.

 

Это работаете отлично но при большом объёме и нагрузке замедляет работу сайта.

 

Redis отличное решение для хранения сессий.

Все операции происходят в оперативной памяти поэтому чтение и запись будут быстрее.

 

Redis — это высокопроизводительное распределенное хранилище данных.

Высокая скорость работы обеспечивается за счет хранения данных в оперативной памяти, которые периодически сохраняются на диск.

 

Для работы модуля необходим включенный Redis на сервере и библиотека php-redis

 


  • Добавил
  • Добавлено
    28.04.2021
  • Категория
  • Системные требования
    php-redis
  • Метод активации
    Без активации
  • Ioncube Loader
    Нет
  • OpenCart
    3.0
    2.3
    2.2
  • ocStore
    3.0
    2.3.0.2.4
    2.3
    2.2
  • OpenCart.Pro, ocShop
    Не проверялось
  • Обращение к серверу разработчика
    Нет
  • Старая цена
    0

 

Link to post
Share on other sites

так а какое время хранения сессии? Покупатель не устанет логиниться постоянно?

Link to post
Share on other sites

17 минут назад, nikifalex сказал:

так а какое время хранения сессии?

 

Спасибо за вопрос.

Время хранения сессии берется из  gc.max_lifetime

Link to post
Share on other sites

Чем хранение сессии в редисе лучше чем в мемкеше? При этом php поддерживает мемкеш нативно.

Link to post
Share on other sites

2 часа назад, Vladzimir сказал:

Чем хранение сессии в редисе лучше чем в мемкеше

 

Мемкеш не лучшая идея для хранения сессий. При перезагрузке сервера или любом краше сессии будут теряться.

Redis периодически сбрасывает данные на диск.

 

 

Link to post
Share on other sites

11 часов назад, SirGrey сказал:

Мемкеш не лучшая идея для хранения сессий. При перезагрузке сервера или любом краше сессии будут теряться.

Redis периодически сбрасывает данные на диск.

Аптайм моего сервера более 5 лет. Мемкеш ни разу не крашился. Недавно была необходимость перегрузить сервер - сделал дамп мемкеша, после перезагрузки восстановил из дампа. Все встало на место.

Для реализации хранения сессий с мемкеше ничего модифицировать не нужно. Достаточно прописать в php.ini куда хранить сессию.

Link to post
Share on other sites

  • SirGrey changed the title to Модуль Redis Session Driver (Хранение сессии в Redis) [Поддержка]

Это такой бесконечный вопрос :) 

 

Можно продолжить обсуждение что лучше Redis или Memcached для хранения сессий на тематический форумах.

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

 

24 минуты назад, Vladzimir сказал:

Достаточно прописать в php.ini куда хранить сессию.

 

Да и нативная сессия будет записывать в Memcached а OpenCart продолжит писать сессии в базу данных в таблицу oс_session :)

Для Memcached в OpenCart так же нужен свой "драйвер", которого, кстати, тоже нет в базовой версии.

 

 

 

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Similar Content

    • By SirGrey
      750 10
      Скачать/Купить дополнение


      Кеширование Redis
      Драйвер кеширования Redis для Opencart 1.5.x - 3.x
       
      Redis — это высокопроизводительное распределенное хранилище данных.
      Высокая скорость работы обеспечивается за счет хранения данных в оперативной памяти, которые периодически сохраняются на диск.
       
      Для работы модуля необходим включенный Redis на сервере и библиотека  php-redis
       
      Инструкция по установке
       
      Opencart 2.x - 3.x  Стандартный установщик модулей.
      Opencart 1.5.x Распаковать архив в корень сайта.
       
       
      Добавить константы в файлы config.php и admin->config.php
      // Redis define('CACHE_HOSTNAME', '127.0.0.1'); define('CACHE_PORT', '6379'); define('CACHE_PREFIX', 'redis_'); define('CACHE_PASSWORD', '');  
      Reds  для Opencart 3.x
       
      В OpenCart 3 драйвер Redis уже присутствует.
      В модуле заменены устаревшие функции и добавлена авторизация.
       
      Файл system->config->default.php
       
      Изменить
       
      $_['cache_engine'] = 'redis';  
      На 
       
      $_['cache_engine'] = 'redisp';  
       
      Reds  для Opencart 2.2 - 2.3
       
      Файл system->config->default.php
      Изменить
      $_['cache_type'] На 
      $_['cache_type'] = 'redis';
      Reds  для Opencart 2.0.x - 2.1.x
       
      Файл index.php и admin->index.php
       
      изменить
      $cache = new Cache('file');  
      На
       
      $cache = new Cache('redis');
      Reds  для  Opencart 1.5.x
       
      файл index.php и admin->index.php изменить
      $cache = new Cache('file');  
      На
       
      $cache = new redis_cache(); После 
      require_once(DIR_SYSTEM . 'library/cart.php');  Добавить
      require_once(DIR_SYSTEM . 'library/redis_cache.php'); Если вы используете VQMod добавить
       
      require_once(VQMod::modCheck(DIR_SYSTEM . 'library/redis_cache.php'));  
       
      Добавил SirGrey Добавлено 20.11.2019 Категория SEO, карта сайта, оптимизация Системные требования Метод активации Без активации Ioncube Loader Нет OpenCart 3.0
      2.3
      2.2
      2.1
      2.0
      1.5.6.4
      1.5.6.3
      1.5.6.2
      1.5.6.1
      1.5.6
      1.5.5.1
      1.5.5
      1.5.4.1
      1.5.3.1 ocStore 3.0
      2.3
      2.2
      2.1
      1.5.5.1.2
      1.5.5.1.1
      1.5.5.1
      1.5.4.1.2
      1.5.4.1.1
      1.5.4.1
      1.5.3.1
      1.5.2.1
      1.5.1.3 OpenCart.Pro, ocShop Не проверялось Обращение к серверу разработчика Нет Старая цена 0  
    • By SirGrey
      Драйвер кеширования Redis для Opencart 1.5.x - 3.x
       
      Redis — это высокопроизводительное распределенное хранилище данных.
      Высокая скорость работы обеспечивается за счет хранения данных в оперативной памяти, которые периодически сохраняются на диск.
       
      Для работы модуля необходим включенный Redis на сервере и библиотека  php-redis
       
      Инструкция по установке
       
      Opencart 2.x - 3.x  Стандартный установщик модулей.
      Opencart 1.5.x Распаковать архив в корень сайта.
       
       
      Добавить константы в файлы config.php и admin->config.php
      // Redis define('CACHE_HOSTNAME', '127.0.0.1'); define('CACHE_PORT', '6379'); define('CACHE_PREFIX', 'redis_'); define('CACHE_PASSWORD', '');  
      Reds  для Opencart 3.x
       
      В OpenCart 3 драйвер Redis уже присутствует.
      В модуле заменены устаревшие функции и добавлена авторизация.
       
      Файл system->config->default.php
       
      Изменить
       
      $_['cache_engine'] = 'redis';  
      На 
       
      $_['cache_engine'] = 'redisp';  
       
      Reds  для Opencart 2.2 - 2.3
       
      Файл system->config->default.php
      Изменить
      $_['cache_type'] На 
      $_['cache_type'] = 'redis';
      Reds  для Opencart 2.0.x - 2.1.x
       
      Файл index.php и admin->index.php
       
      изменить
      $cache = new Cache('file');  
      На
       
      $cache = new Cache('redis');
      Reds  для  Opencart 1.5.x
       
      файл index.php и admin->index.php изменить
      $cache = new Cache('file');  
      На
       
      $cache = new redis_cache(); После 
      require_once(DIR_SYSTEM . 'library/cart.php');  Добавить
      require_once(DIR_SYSTEM . 'library/redis_cache.php'); Если вы используете VQMod добавить
       
      require_once(VQMod::modCheck(DIR_SYSTEM . 'library/redis_cache.php'));  
       
    • By SirGrey
      Хранение пользовательских сессии в Redis
       
      Стандартно OpenCart хранит сессии в базе данных или файлах.
       
      Это работаете отлично но при большом объёме и нагрузке замедляет работу сайта.
       
      Redis отличное решение для хранения сессий.
      Все операции происходят в оперативной памяти поэтому чтение и запись будут быстрее.
       
      Redis — это высокопроизводительное распределенное хранилище данных.
      Высокая скорость работы обеспечивается за счет хранения данных в оперативной памяти, которые периодически сохраняются на диск.
       
      Для работы модуля необходим включенный Redis на сервере и библиотека php-redis
       
    • By Twissell
      Рад приветствовать форумчан!
      Вопрос по сабжу: возможно ли хранить сессии пользователей в key-vaule базе?
      Может уже есть готовое решение?

      Т.к. даже автоочистка таблицы сессий при большой количестве уников напрягает
    • By Wyachik2
      Добрый день! Пытаюсь изменить одну из форм оплат, а точнее необходимо добавить туда поля для заполнения и после вывести их в письмо о успешном заказе.
      Эта строка находится в tpl-файле: <input type="text" name="nameUr" value="<?php echo $nameUr; ?>" placeholder="Наименование Юр. лица" id="input-payment-nameUr" class="form-control" />. Через нее и собираюсь получать данные в письмо.

      После чего пытаюсь получить значения через сессии:
      if (isset($this->session->data['bank_transfer']['nameUr'])) {
         $data['nameUr'] = $this->session->data['bank_transfer']['nameUr'];
      } else {
         $data['nameUr'] = ' ';
      }

      И вывожу через: $comment .= $this->language->get('nameUr');
      Но в письмо приходит только название переменной (nameUr), может кто сталкивался с подобным или знает как получить данные? Буду очень благодарен.
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.