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

OSCHINA-MIRROR/0xsky-xredis

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README-cn.md 4.3 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 03.03.2025 01:51 5d220ae

xRedis

xRedis — это C++-клиент для Redis, представляющий собой C++-обёртку над hiredis, предоставляющую удобный интерфейс для выполнения команд Redis.

Основные возможности и особенности:

  • Поддержка распределённого хранения данных на нескольких узлах с возможностью настройки правил шардинга;
  • Возможность одновременного подключения к основному и вспомогательному узлам каждого шарда, что позволяет использовать разделение нагрузки между ними;
  • Поддержка создания пулов соединений для каждого хранилища данных;
  • Возможность одновременного подключения к нескольким группам шардов;
  • Поддержка подключения к официальным кластерам Redis, позволяющая автоматически вычислять распределение слотов и обновлять соединения при изменениях в кластере;
  • Предоставление простого и удобного C++-интерфейса, реализованного большинство команд Redis;
  • Взаимодействие только с библиотекой hiredis;
  • Поддержка многопоточности;
  • Поддержка подключений с использованием пароля;
  • Поддержка операционных систем Linux и Windows.

Зависимости

Для использования xRedis требуется установка библиотеки hiredis. Установите hiredis перед началом работы.

Установка

Первым шагом является установка libhiredis:

На Debian:

sudo apt-get install libhiredis-dev

Установка исходного кода xRedis:

git clone https://github.com/0xsky/xredis
cd xredis
make
sudo make install

Пример использования:

// Используйте класс xRedisClusterClient для доступа к узлу Redis или кластеру Redis

#include "xRedisClusterClient.h"
int main(int argc, char **argv) {
    xRedisClusterClient redisclient;
    // Подключение к Redis, создание пула соединений размером 4,
    // если этот узел является частью кластера Redis, будет создано по четыре соединения для каждого главного узла.
    std::string passwd = "passwd123";
    bool bRet = redisclient.connect("127.0.0.1", 6379, passwd, 4);

    RedisResult result;
    redisclient.command(result, "set %s %s", "key", "hello");

    printf("type:%d integer:%lld str:%s \n",
           result.type(), result.integer(), result.str());

    while (true) {
        usleep(1000 * 1000 * 6);
        // Вызов keepalive для проверки состояния соединений и обновления при необходимости.
        redisclient.keepalive();
    }

    return 0;
}

Более подробные примеры использования можно найти в директории examples.

Документация

Планы

Добавить поддержку режима Sentinel для Redis.

Архитектурная схема xRedis

xredis

[API xRedis](http://xredis.0xsky.com/)

Примеры использования [examples](https://github.com/0xsky/xredis/blob/master/examples) директория для некоторых примеров

xRedis открытое сообщество QQ группы: 190107312

Автор: xSky

Блог: Блог xSky

xRedis QQ группа: 190107312

Поддержка автора: Поддержать автора

Опубликовать ( 0 )

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

1
https://api.gitlife.ru/oschina-mirror/0xsky-xredis.git
git@api.gitlife.ru:oschina-mirror/0xsky-xredis.git
oschina-mirror
0xsky-xredis
0xsky-xredis
master