Автор оригинала: 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 он не может написать строку кода для непосредственного использования. Нам все еще нужно его установить. Клиент 。 В настоящее время существует два способа сравнения и рекомендации:
- Установите расширение Redis для PHP.
- Используйте пакет 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');
После запуска один раз прокомментируйте приведенную выше строку и постоянно обновляйте ее. Посмотри на это. значение Исчезнет ли он со страницы в конце установленного времени?
анализ кода
- Мы его создали.
\РедисКласс предоставляет::set()、::get()и::удалить()Три статических метода добавления, получения и удаления парыключ-значение。 ::set()Настройки поддержки методаключ-значениеЖизненный цикл пар ключ-значение и поддержкаh、м、sимсЧетыре единицы измерения, представляющие часы, минуты, секунды и миллисекунды, могут быть легко использованы для кэширования.- Строго говоря, требуется хотя бы один класс кэширования
Определите, существует ли еще ключОсновная операция, поэтому этот класс является лишь слегка мощным интерфейсом Redis. - В качестве упражнения вы можете попробовать написать его от руки. Выберите создание нового класса кэша или добавление интерфейса в класс Redis.
[ Завершение этой серии]
Оригинал: “https://developpaper.com/end-use-composer-to-improve-your-php-framework-3-redis-cache/”