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

OSCHINA-MIRROR/inhere-php-redis

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

Библиотека клиента Redis для PHP

Простая библиотека клиента Redis на PHP.

中文README

Проект

Установка

ВНИМАНИЕ: требуется расширение PHP «redis».

  1. Используйте Composer:

    • отредактируйте файл composer.json, в разделе require добавьте строку: "inhere/redis": "dev-master";
    • запустите команду composer update.
  2. Прямая загрузка:

    • выполните команду git clone https://github.com/inhere/php-redis.git или git clone https://git.oschina.net/inhere/php-redis.git.

Конфигурация

Конфигурация синглтона

$config = [
    'host' => '127.0.0.1',
    'port' => 6379,
    'timeout' => 0.0,
    'database' => 0,
];

Конфигурация master-slave

$config = [
      'mode' => 2, // 1 singleton 2 master-slave 3 cluster
      'master' => [
          'host' => '127.0.0.1',
          'port' => 6379,
          'timeout' => 0.0,
          'database' => 0,
      ],
      'slaves' => [
          'slave0' => [
              'host' => '127.0.0.1',
              'port' => 6380,
              'timeout' => 0.0,
              'database' => 0,
          ]
      ],
    ];

Конфигурация кластера

$config = [
     'mode' => 3, // 1 singleton 2 master-slave 3 cluster
     'name1' => [
         'host' => '127.0.0.1',
         'port' => '6379',
         'database' => '0',
         'options' => []
     ],
     'name2' => [
         'host' => '127.0.0.2',
         'port' => '6379',
         'database' => '0',
         'options' => []
     ],
];

Создание клиента

use inhere\redis\ClientFactory;

// $app — экземпляр моего приложения.

$client = ClientFactory::make($config);

Добавление прослушивателя событий

$client->on(ClientInterface::CONNECT, function($name, $mode, $config) {
    printf("CONNECT:connect to the name=%s,mode=%s,config=%s\n", $name, $mode, json_encode($config));
});

$client->on(ClientInterface::DISCONNECT, function($name, $mode) {
    $names = 'all';

    if ($name) {
        $names = is_array($name) ? implode(',', $name) : $name;
    }

    printf("DISCONNECT:close there are %s connections,mode=%s\n", $names, $mode);
});

$client->on('beforeExecute', function ($cmd, array $args, $operate)
{
    printf("BEFORE_EXECUTE:will be execute the command=$cmd, operate=$operate, args=%s\n", json_encode($args));
});

$client->on('afterExecute', function ($cmd, array $data, $operate)
{
    printf("AFTER_EXECUTE:has been executed the command=$cmd, operate=$operate, data=%s\n", json_encode($data));
});

Использование

echo $client->ping(); // +PONG

echo "test set/get value:\n";

$suc = $client->set('key0', 'val0'); // bool(true)
$ret0 = $client->get('key0'); // string(4) "val0"

var_dump($suc, $ret0);

echo "test del key:\n";

$suc = $client->del('key0'); // int(1)
$ret0 = $client->get('key0'); // bool(false)

var_dump($suc, $ret0);

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

Примеры см. в файле examples.

Лицензия

MIT

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

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

Введение

Простая библиотека-обёртка для клиента операций Redis. Удобно использовать, прямой доступ ко всем командам Redis. Поддерживает подключение и мониторинг событий операций. В режиме главный-подчиненный автоматически выбирает reader/writer для выполнения соответствующей команды. Развернуть Свернуть
MIT
Отмена

Обновления

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

Участники

все

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

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