Memcached ========= ``MemcachedTask.cpp`` |image0| Узел отправляет запрос по указанному адресу и извлекает нужные ключи и значения из универсальной-распределенной системы кеширования памяти **memcached**. Конфигурация узла ----------------- Входные параметры: ~~~~~~~~~~~~~~~~~~ |image1| - **host** - адрес сервера с развёрнутым Memcached ``str``. - **port** - порт сервера по которому доступен Memcached. По умолчанию 11211 ``int``. - **keys** - значения в Memcached, которые будут проверяться. Для добавления ключа необходимо ввести его имя, после чего нажать кнопку ‘Добавить’. После добавления внизу появится красная кнопка с именем ключа, нажав на котороу, можно удалить ключ ``arr[str]``. - **period** - период проверки изменений ключей в мс. ``int``. .. Значения ключей могут быть строками или другими типами данных, представленными в виде строк. Результаты опроса: ~~~~~~~~~~~~~~~~~~ В **DATA** могут записываться следующие поля: - **connection_status** - успешность подключения и получения данных ``bool``. - **values** - Массив объектов, каждый из которых содержит: - **property-name** - ключ ``str``. - **value** - значение, связанное с ключом ``str``. - **error** - сообщение об ошибке, если она возникла ``str``. Ошибки выводятся с использованием библиотеки spdlog. Только при ошибке. - **time** - текущее время ``int64_t`` Пример использования -------------------- Напишу сразу, чтобы всё работало нужно установить библиотеки, связанные с memcached. 1. Для начала создадим в нашем хранилище какое-нибудь значение для проверки. Следует подключиться к нашему запущенному контейнеру.В нашем compose файле установлен статичный адрес для этого сервиса, поэтому можно просто скопировать. Будем использовать telnet: ``bash telnet 172.20.0.13 11211`` При успешном подключении создаем наше значение *“example_value”* и даём ему ключ *“example_key”*, 0 - флаги, 0 - время жизни (неограничено), 13 - количество зарезервированных байтов (равное количеству символов). ``bash set example_key 0 0 13 example_value`` Получив положительный ответ, мы двигаемся дальше. |image2| 2. Соберём схему, как на картинке снизу: |image3| 3. Настроим узел: |image4| 4. Готово, можем наблюдать за извлечением нашего значения из memcached. |image5| .. |image0| image:: ../../_img/memcached_icon.png .. |image1| image:: ../../_img/input-memcached-settings.png .. |image2| image:: ../../_img/memcached_example_key_create.png .. |image3| image:: ../../_img/memcached_chain.png .. |image4| image:: ../../_img/memcached_example_settings.png .. |image5| image:: ../../_img/memcached_socket.png