1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/wenzhenxi-phalapi2-redis

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Расширение Redis на основе PhalApi2

Логотип

Введение

Использование Redis в PHP-разработке становится всё более распространённым. От простого кэширования до использования Redis как базы данных или очереди сообщений — возможности этого решения практически безграничны. С выходом PhalApi2 был создан PhalApi2-Redis, который предоставляет расширенные возможности работы с Redis и полезные механизмы упаковки, чтобы помочь разработчикам эффективнее использовать это решение для решения реальных бизнес-задач.

Дополнительно:

Официальный сайт: http://www.phalapi.net/

Адрес проекта на GitHub: https://github.com/wenzhenxi/phalapi2-redis

Адрес проекта на Gitee: https://gitee.com/wenzhenxi/phalapi2-redis

Установка и конфигурация Redis

Рекомендуется использовать oneinstack для установки Redis на Linux:

oneinstack: https://oneinstack.com/

Для ручной установки Redis есть множество руководств в интернете, но стоит обратить внимание на следующие параметры конфигурационного файла:

databases 100                      # максимальное количество баз данных Redis (по умолчанию OnClickListener 16, рекомендуется увеличить до 100)
requirepass phalapi                # пароль для подключения к Redis (по умолчанию отсутствует, рекомендуется установить)
```Установка зависимости php-redis:

```bash
# скачивание и установка phpredis
wget https://github.com/nicolasff/phpredis/archive/master.zip
unzip master.zip -d phpredis
cd phpredis/phpredis-master
phpize
./configure
make && make install
# регистрация phpredis в php.ini
extension = redis.so

После выполнения этих шагов вы сможете видеть Redis при вызове phpinfo().

Установка PhalApi2-Redis

Добавьте следующую строку в файл composer.json вашего проекта:

{
    "require": {
        "phalapi/redis": "2.0.*"
    }
}

После этого выполните команду composer update, чтобы обновить зависимости.

Конфигурационный файл

Необходимо добавить следующие параметры в файл конфигурации ./config/app.php:


Таким образом, теперь ваш проект может использовать расширенные возможности Redis через PhalApi2-Redis.

    /**
     * Расширенная библиотека — расширение Redis
     */
    'redis' => array(
        // Параметры конфигурации соединения с Redis
        'servers'  => array(
            'host'   => '127.0.0.1',        // Адрес сервера Redis
            'port'   => '6379',             // Порт Redis
            'prefix' => 'PhalApi_',         // Префикс ключей Redis
            'auth'   => 'phalapi',          // Пароль соединения с Redis
        ),
        // Соответствие баз данных Redis при работе с ними используется имя вместо номера базы данных
        'DB'       => array(
            'developers' => 1,
            'user'       => 2,
            'code'       => 3,
        ),
        // Время ожидания при использовании блокирующего чтения очереди в секундах
        'blocking' => 5,
    ),

Начальный запускДля инициализации PhalApi2-Redis в файле index.php добавьте следующий код:

// Ленивая загрузка Redis
\PhalApi\DI()->redis = function () {
    return new \PhalApi\Redis\Lite(\PhalApi\DI()->config->get("app.redis.servers"));
};

Основные операции с использованием базовых методов (подробнее см. src/Lite.php):

// Сохранение постоянного ключа-значения
\PhalApi\DI()->redis->set_forever('ключ', 'значение', 'имя_базы');
// Получение постоянного ключа-значения
\PhalApi\DI()->redis->get_forever('ключ', 'имя_базы');

// Сохранение временного ключа-значения со значением времени жизни по умолчанию 600 секунд
\PhalApi\DI()->redis->set_time('ключ', 'значение', 'время_жизни', 'имя_базы');
// Получение временного ключа-значения
\PhalApi\DI()->redis->get_time('ключ', 'имя_базы');

// Вставка значения в левую сторону очереди
\PhalApi\DI()->redis->lpush('ключ_очереди', 'значение', 'имя_базы');
// Чтение значения из правой стороны очереди
\PhalApi\DI()->redis->rpop('ключ_очереди', 'имя_базы');
// Чтение значения из правой стороны очереди с блокировкой на определённое время при отсутствии данных
\PhalApi\DI()->redis->brpop('ключ_очереди', 'время_ожидания', 'имя_базы');

// Удаление ключа-значения
\PhalApi\DI()->redis->del('ключ', 'имя_базы');
// Автоматическое увеличение значения ключа
\PhalApi\DI()->redis->incr('ключ', 'имя_базы');
// Изменение текущей базы данных и получение экземпляра для работы
\PhalApi\DI()->redis->select('индекс_базы', 'имя_базы');

Если у вас есть предложения по улучшению, вы можете связаться лично или присоединиться к сообществу PhalApi для совместной работы над проектом.Примечание: Автор данной статьи имеет ограниченные возможности, поэтому если вы заметили ошибки, пожалуйста, сообщите об этом. Также приветствуем любое взаимодействие!


Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
AGPL-3.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://gitlife.ru/oschina-mirror/wenzhenxi-phalapi2-redis.git
git@gitlife.ru:oschina-mirror/wenzhenxi-phalapi2-redis.git
oschina-mirror
wenzhenxi-phalapi2-redis
wenzhenxi-phalapi2-redis
master