Рубрики
Uncategorized

[Конец] Используйте Composer для улучшения Вашего фреймворка PHP (3) – Кэш Redis

Автор оригинала: David Wong.

Оригинальная статья была опубликована на моем личном веб-сайте: использование Composer для улучшения моего Фреймворк PHP (3) – Редис кэш

Видишь https://github.com/johnlui/My-First-Framework-based-on-Composer для примера кода для этого руководства

обзор

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

текст

Введение в Redis

Redis Является высокопроизводительным ключ-значение База данных значение Поддержка СтрокаКарта(Хэш)списокнабор и сортированные наборы Китайский перевод в строки, словари (хэш, в PHP, лучший язык в мире Принадлежат массиву части), списку, набору и упорядоченному набору.

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

Установка Redis

Официальный сайт Рида-http:// редис .io/. Его можно легко загрузить, установить и запустить непосредственно из командной строки. Он слушает по умолчанию. 6379 Порт.

После установки и запуска сервера Redis он не может написать строку кода для непосредственного использования. Нам все еще нужно его установить. Клиент 。 В настоящее время существует два способа сравнения и рекомендации:

  1. Установите расширение Redis для PHP.
  2. Используйте пакет NRK/predis.

Будьте осторожны: При установке в качестве расширения PHP сначала распечатайте его php info() Найти Загруженный файл конфигурации Этот пункт, отредактируйте этот php.ini Это работает. Не забывай перезапуск Apache или php-fpm.

Повторное использование

Мы выбираем здесь. nrk/предис Пакеты управляются Redis. редактировать композитор .json :

"require": {
  "codingbean/macaw": "dev-master",
  "illuminate/database": "*",
  "filp/whoops": "*",
  "nette/mail": "*",
  "predis/predis": "*"
},

Функция обновление композитора Ожидание завершения установки.

Затем мы начнем создавать класс Redis и создадим новый. services/Redis.php :

set($key,$value);

    }
  }

  public static function get($key)
  {
    self::init();

    return self::$redis->get($key);
  }

  public static function delete($key)
  {
    self::init();

    return self::$redis->del($key);
  }

  private static function _setex($key,$value,$time)
  {
    self::$redis->setex($key,$time,$value);
  }

  private static function _psetex($key,$value,$time)
  {
    self::$redis->psetex($key,$time,$value);
  }
}

Новый файл конфигурации config/redis.php :

 '127.0.0.1',
  'port' => 6379
];

Тогда мы сможем начать тестирование. Домашний контролер Увеличение:

Redis::set('key','value',5,'s');
echo Redis::get('key');

После запуска один раз прокомментируйте приведенную выше строку и постоянно обновляйте ее. Посмотри на это. значение Исчезнет ли он со страницы в конце установленного времени?

анализ кода

  1. Мы его создали. \Редис Класс предоставляет ::set()::get() и ::удалить() Три статических метода добавления, получения и удаления пары ключ-значение
  2. ::set() Настройки поддержки метода ключ-значение Жизненный цикл пар ключ-значение и поддержка hмs и мс Четыре единицы измерения, представляющие часы, минуты, секунды и миллисекунды, могут быть легко использованы для кэширования.
  3. Строго говоря, требуется хотя бы один класс кэширования Определите, существует ли еще ключ Основная операция, поэтому этот класс является лишь слегка мощным интерфейсом Redis.
  4. В качестве упражнения вы можете попробовать написать его от руки. Выберите создание нового класса кэша или добавление интерфейса в класс Redis.

[ Завершение этой серии]

Оригинал: “https://developpaper.com/end-use-composer-to-improve-your-php-framework-3-redis-cache/”