Localzet Server and Cluster documentation

Storage: начало работы

Storage — простое общее in-memory хранилище для процессов приложения. Установите пакет вместе с Localzet Server 7:

composer config repositories.localzet-storage vcs https://github.com/localzet/Storage
composer require localzet/storage:dev-main

Создайте серверное приложение. Storage слушает loopback и использует один worker по умолчанию:

<?php

use localzet\Server;
use localzet\Storage\Server as StorageServer;

require __DIR__ . '/vendor/autoload.php';

new StorageServer('127.0.0.1', 8008);
Server::runAll();

Запустите файл командой Localzet Server, например php storage.php start. В другом процессе приложения:

use localzet\Storage\Client;

$cache = new Client('127.0.0.1:8008');
$cache->set('greeting', 'hello');
$greeting = $cache->get('greeting');

$cache->add('counter', 0);
$cache->increment('counter');

set, get, add, cas, increment и delete работают через клиентский API; прочитайте возвращаемое значение, чтобы обработать отсутствующий ключ или неудачную условную запись. Клиент распределяет ключи между заданными адресами по CRC32, поэтому изменение списка узлов перемещает часть ключей.

Данные теряются при остановке процесса; TTL, персистентности, репликации, аутентификации и шифрования нет. Не открывайте порт наружу. Объектная десериализация выключена; см. безопасность и wire format.