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

OSCHINA-MIRROR/mirrors-DCache

Клонировать/Скачать
proxy_api_guide-en.md 51 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 28.11.2024 12:25 05af7cd

Proxy API doc

getKV

int getKV(const GetKVReq &req, GetKVRsp &rsp)

Get value and other data by key.

Parameters:

struct GetKVReq {
  1 require string moduleName; //module name
  2 require string keyItem;
  3 require string idcSpecified = ""; //idc area
};

struct GetKVRsp {
  1 require string value;
  2 require byte ver; //Data version number
  3 require int expireTime = 0; //expiration time
};

Returns:

Returns Description
ET_MODULE_NAME_INVALID module error
ET_KEY_AREA_ERR The current Key should not be assigned to this node, need to update the routing table to re-access
ET_DB_ERR access database error
ET_KEY_INVALID key is invalid
ET_INPUT_PARAM_ERROR parameter error, for example, the key is empty
ET_SYS_ERR system error
ET_NO_DATA data does not exist
ET_SUCC query data successfully

getKVBatch

int getKVBatch(const GetKVBatchReq &req, GetKVBatchRsp &rsp)

Bulk query.

Parameters:

struct GetKVBatchReq {
  1 require string moduleName; //module name
  2 require vector<string> keys; //set of keys
  3 require string idcSpecified = ""; //idc area
};

struct GetKVBatchRsp {
  1 require vector<SKeyValue> values; //set of results
};

Returns:

Returns Description
ET_MODULE_NAME_INVALID module error
ET_KEY_AREA_ERR The current Key should not be assigned to this node, need to update the routing table to re-access
ET_CACHE_ERR access cache error
ET_INPUT_PARAM_ERROR parameter error, for example, the number of keys exceeds the limit or a key is empty.
ET_SYS_ERR system error
ET_SUCC query data in batch successfully

checkKey

int checkKey(const CheckKeyReq &req, CheckKeyRsp &rsp)

Check status of multiple key-values.

Parameters:

struct CheckKeyReq {
  1 require string moduleName; //module name
  2 require vector<string> keys; //set of keys
  3 require string idcSpecified = ""; //idc area
};

struct CheckKeyRsp {
  1 require map<string, SKeyStatus> keyStat;
};

struct SKeyStatus {
  1 require bool exist; //whether the data exists
  2 require bool dirty; //whether the data is dirty
};

Returns:

Returns Description
ET_MODULE_NAME_INVALID module error
ET_KEY_AREA_ERR The current Key should not be assigned to this node, need to update the routing table to re-access
ET_CACHE_ERR access cache error
ET_INPUT_PARAM_ERROR parameter error, for example, the number of keys exceeds the limit or a key

ET_SYS_ERR — системная ошибка.
ET_SUCC — запрос данных в пакете успешно выполнен.

getAllKeys

int getAllKeys(const GetAllKeysReq &req, GetAllKeysRsp &rsp)

Получить все ключи из кэша.

Параметры:

struct GetAllKeysReq
{
  1 require string moduleName;  //имя модуля
  2 require int index;  //перебор начиная с указанного индекса хэш-корзины, начиная с 0
  3 require int count;  //количество хэш-корзин для перебора
  4 require string idcSpecified = "";  //область idc
}

struct GetAllKeysRsp
{
  1 require vector<string> keys;  //набор ключей
  2 require bool isEnd;   //поскольку количество корзин неизвестно, параметр isEnd используется для указания, есть ли корзина, которая не была пройдена
};

Возвращает:

Возвращает Описание
ET_MODULE_NAME_INVALID ошибка модуля
ET_CACHE_ERR ошибка доступа к кэшу
ET_SYS_ERR системная ошибка
ET_SUCC запрос данных успешно выполнен

setKV

ET_MODULE_NAME_INVALID — ошибка модуля.
ET_SERVER_TYPE_ERR — услуга не предоставляется, поскольку это ведомый сервер.
ET_KEY_AREA_ERR — текущий ключ не должен быть назначен этому узлу, необходимо обновить таблицу маршрутизации для повторного доступа.
ET_PARAM_TOO_LONG — длина ключа превышает лимит.
ET_FORBID_OPT — запись запрещена во время миграции.
ET_DATA_VER_MISMATCH — разные номера версий.
ET_MEM_FULL — нет свободного места в памяти.
ET_CACHE_ERR — ошибка кэша.
ET_INPUT_PARAM_ERROR — ошибка параметра, например, ключ пуст.
ET_SYS_ERR — системная ошибка.
ET_SUCC — вставка выполнена успешно.

setKV

int setKV(const SetKVReq &req)

Вставить данные.

Параметры:

struct SetKVReq
{
  1 require string moduleName;  //имя модуля
  2 require SSetKeyValue data;
};

struct SSetKeyValue
{
  1 require string keyItem;  
  2 require string value;  
  3 require byte   version = 0;  //номер версии данных
  4 require bool   dirty = true;  //сделать данные грязными
  5 require int    expireTimeSecond = 0;  //время истечения срока действия, по умолчанию 0, что означает никогда не истечёт
};

Возвращает:

Возвращает Описание
ET_MODULE_NAME_INVALID ошибка модуля
ET_SERVER_TYPE_ERR услуга не предоставляется, поскольку это ведомый сервер
ET_KEY_AREA_ERR текущий ключ не должен быть присвоен этому узлу, нужно обновить таблицу маршрутизации, чтобы получить доступ повторно
ET_PARAM_TOO_LONG длина ключа превышает предел
ET_FORBID_OPT запись запрещена во время миграции
ET_DATA_VER_MISMATCH разные номера версий
ET_MEM_FULL нет свободного места в памяти
ET_CACHE_ERR ошибка кэша
ET_INPUT_PARAM_ERROR ошибка параметра, например, ключ пустой
ET_SYS_ERR системная ошибка
ET_SUCC вставка выполнена успешно

insertKV

ET_DATA_EXIST — данные уже существуют, вставка не разрешена.
ET_MODULE_NAME_INVALID — ошибка модуля.
ET_SERVER_TYPE_ERR — услуга не предоставляется, поскольку это ведомый сервер.
ET_KEY_AREA_ERR — текущий ключ не должен быть назначен этому узлу, необходимо обновить таблицу маршрутизации для повторного доступа.
ET_PARAM_TOO_LONG — длина ключа превышает лимит.
ET_FORBID_OPT — запись запрещена во время миграции.
ET_DATA_VER_MISMATCH — разные номера версий.
ET_MEM_FULL — нет свободного места в памяти.
ET_CACHE_ERR — ошибка кэша.
ET_INPUT_PARAM_ERROR — ошибка параметра, например, ключ пуст.
ET_SYS_ERR — системная ошибка.
ET_SUCC — успешное выполнение вставки.

insertKV

int insertKV(const SetKVReq &req)

Вставляет, если данных не существует, иначе происходит сбой.

Параметры:

struct SetKVReq
{
  1 require string moduleName;  //имя модуля
  2 require SSetKeyValue data;
};

struct SSetKeyValue
{
  1 require string keyItem;  
  2 require string value;  
  3 require byte   version = 0;  //номер версии данных
  4 require bool   dirty = true;  //сделать данные грязными
  5 require int    expireTimeSecond = 0;  //время истечения срока действия, по умолчанию 0, что означает никогда не истечёт
};

Возвращает:

Возвращает Описание
ET_DATA_EXIST данные уже существуют, вставка не разрешена
ET_MODULE_NAME_INVALID ошибка модуля
ET_SERVER_TYPE_ERR услуга не предоставляется, поскольку это ведомый сервер
ET_KEY_AREA_ERR текущий ключ не должен быть присвоен этому узлу, нужно обновить таблицу маршрутизации, чтобы получить доступ повторно
ET_PARAM_TOO_LONG длина ключа превышает предел
ET_FORBID_OPT запись запрещена во время миграции
ET_DATA_VER_MISMATCH разные номера версий
ET_MEM_FULL нет свободного места в памяти
ET_CACHE_ERR ошибка кэша
ET_INPUT_PARAM_ERROR ошибка параметра, например, ключ пустой
ET_SYS_ERR системная ошибка
ET_SUCC успешное выполнение вставки

updateKV

ET_NO_DATA — данных не существует.
ET_MODULE_NAME_INVALID — ошибка модуля.
ET_SERVER_TYPE_ERR — услуга не предоставляется, поскольку это ведомый сервер.

updateKV

int updateKV(const UpdateKVReq &req, UpdateKVRsp &rsp)

Обновляет данные.

Параметры:

struct UpdateKVReq
{
  1 require string moduleName;  //имя модуля
  2 require SSetKeyValue data;  //данные для обновления
  3 require Op option;    //действие обновления, включая ADD/SUB/ADD_INSERT/SUB_INSERT
};

struct UpdateKVRsp
{
  1 require string retValue;
};

Возвращает:

Возвращает Описание
ET_NO_DATA данных не существует
ET_MODULE_NAME_INVALID ошибка модуля Это раб.
  • ET_KEY_AREA_ERR: текущий ключ не должен быть назначен этому узлу, необходимо обновить таблицу маршрутизации для повторного доступа.
  • ET_PARAM_TOO_LONG: длина ключа превышает лимит.
  • ET_FORBID_OPT: запись запрещена во время миграции.
  • ET_PARAM_OP_ERR: ошибка параметра.
  • ET_DATA_VER_MISMATCH: разные номера версий.
  • ET_MEM_FULL: нет свободного места в памяти.
  • ET_CACHE_ERR: ошибка кэша.
  • ET_INPUT_PARAM_ERROR: ошибка параметра, например, ключ пуст.
  • ET_SYS_ERR: системная ошибка.
  • ET_SUCC: обновление успешно.

eraseKV

int eraseKV(const RemoveKVReq &req)

Удалить данные, которые не являются грязными.

Параметры:

struct RemoveKVReq
{
  1 require string moduleName;  //имя модуля;
  2 require KeyInfo keyInfo;
};

struct KeyInfo
{
  1 require string keyItem;  
  2 require byte version;  //номер версии данных.
};

Возвращает:

Возвращает Описание
ET_MODULE_NAME_INVALID ошибка модуля
ET_SERVER_TYPE_ERR услуга не предоставляется, так как это раб
ET_KEY_AREA_ERR текущий ключ не должен быть назначен этому узлу, необходимо обновить таблицу маршрутизации для повторного доступа
ET_FORBID_OPT запись запрещена во время миграции
ET_ERASE_DIRTY_ERR нельзя использовать для удаления грязных данных
ET_DATA_VER_MISMATCH разные номера версий
ET_CACHE_ERR ошибка кэша
ET_INPUT_PARAM_ERROR ошибка параметра, например, ключ пуст
ET_SYS_ERR системная ошибка
ET_SUCC удаление успешно

delKV

int delKV(const RemoveKVReq &req)

Удаление данных, включая грязные данные.

Параметры:

struct RemoveKVReq
{
  1 require string moduleName;  //имя модуля;
  2 require KeyInfo keyInfo;
};

struct KeyInfo
{
  1 require string keyItem;  
  2 require byte version;  //номер версии данных.
};

Возвращает:

Возвращает Описание
ET_MODULE_NAME_INVALID ошибка модуля
ET_SERVER_TYPE_ERR услуга не предоставляется, так как это раб
ET_KEY_AREA_ERR текущий ключ не должен быть назначен этому узлу, необходимо обновить таблицу маршрутизации для повторного доступа
ET_FORBID_OPT запись запрещена во время миграции
ET_DB_ERR ошибка доступа к базе данных
ET_DATA_VER_MISMATCH разные номера версий
ET_CACHE_ERR ошибка кэша
ET_INPUT_PARAM_ERROR ошибка параметра, например, ключ пуст
ET_SYS_ERR системная ошибка
ET_SUCC удаление успешно

setKVBatch

int setKVBatch(const SetKVBatchReq &req, SetKVBatchRsp &rsp)

Вставка данных в пакетном режиме.

Параметры:

struct SetKVBatchReq
{
  1 require string moduleName;  //имя модуля;
  2 require vector<SSetKeyValue> data;  //пакетные данные.
};

struct SetKVBatchRsp
{
  1 require map<string, int> keyResult;   //результаты вставки ключей-значений, WRITE_SUCC = 0/WRITE_ERROR = -1/WRITE_DATA_VER_MISMATCH = -2
};

Возвращает:

Возвращает Описание
ET_MODULE_NAME_INVALID ошибка модуля
ET_SERVER_TYPE_ERR услуга не предоставляется, так как это раб
ET_KEY_AREA_ERR текущий ключ не должен быть назначен этому узлу, необходимо обновить таблицу маршрутизации для повторного доступа
ET_INPUT_PARAM_ERROR ошибка параметра, например, количество ключей превышает лимит или ключ пуст.
ET_SYS_ERR системная ошибка
ET_PARTIAL_FAIL только часть данных была успешно вставлена
ET_SUCC все данные успешно вставлены

eraseKVBatch

int eraseKVBatch(const RemoveKVBatchReq &req, RemoveKVBatchRsp &rsp)

Удаление данных пакетами, этот интерфейс не позволяет удалять грязные данные.

Параметры:

struct RemoveKVBatchReq
{
  1 require string moduleName;  //имя модуля;
  2 require vector<KeyInfo> data;  
};

struct KeyInfo
{
  1 require string keyItem; 
  2 require byte version;  //номер версии данных.
};

struct RemoveKVBatchRsp
{
  1 require map<string, int> keyResult;  //результаты операции удаления, WRITE_SUCC = 0/WRITE_ERROR = -1/WRITE_DATA_VER_MISMATCH = -2
};

Возвращает: ### Модуль ошибок

  • ET_SERVER_TYPE_ERR: сервис не предоставляется, поскольку это подчинённый сервер.

  • ET_KEY_AREA_ERR: текущий ключ не должен быть назначен этому узлу, необходимо обновить таблицу маршрутизации для повторного доступа.

  • ET_INPUT_PARAM_ERROR: ошибка параметра, например, количество ключей превышает лимит или ключ пуст.

  • ET_SYS_ERR: системная ошибка.

  • ET_PARTIAL_FAIL: только часть данных была успешно удалена.

  • ET_SUCC: все данные успешно удалены.

delKVBatch

int delKVBatch(const RemoveKVBatchReq &req, RemoveKVBatchRsp &rsp)

Удаление данных партиями, включая грязные данные.

Параметры:

struct RemoveKVBatchReq
{
  1 require string moduleName;  //имя модуля;
  2 require vector<KeyInfo> data;  
};

struct KeyInfo
{
  1 require string keyItem;  
  2 require byte version;  //номер версии данных.
};

struct RemoveKVBatchRsp
{
  1 require map<string, int> keyResult;  //результаты вставки пар «ключ-значение»: WRITE_SUCC = 0/WRITE_ERROR = -1/WRITE_DATA_VER_MISMATCH = -2
};

Возвращает:

Возвращаемое значение Описание
ET_MODULE_NAME_INVALID ошибка модуля
ET_SERVER_TYPE_ERR сервис не предоставляется, поскольку это подчинённый сервер
ET_KEY_AREA_ERR текущий ключ не должен быть назначен этому узлу, необходимо обновить таблицу маршрутизации для повторного доступа
ET_INPUT_PARAM_ERROR ошибка параметра, например, количество ключей превышает лимит или ключ пуст
ET_SYS_ERR системная ошибка
ET_PARTIAL_FAIL только часть данных была успешно удалена
ET_SUCC все данные успешно удалены

getMKV

int getMKV(const GetMKVReq &req, GetMKVRsp &rsp)

Запрос данных на основе полей и условий.

Параметры:

struct GetMKVReq
{
  1 require string moduleName; //имя модуля;
  2 require string mainKey;  
  3 require string field; //набор полей для запроса, несколько полей разделяются символом ',', например: «a, b», «*» для всех полей
  4 require vector<Condition> cond; //условия, используемые для фильтрации данных при запросе
  5 require bool retEntryCnt = false; //возвращать ли количество записей, где первичный ключ равен mainKey
  6 require string idcSpecified = ""; //область idc
};

struct GetMKVRsp
{
  1 require vector<map<string, string> > data; //результирующий набор
};

Возвращает:

Возвращаемое значение Описание
ET_MODULE_NAME_INVALID ошибка модуля
ET_KEY_AREA_ERR текущий ключ не должен быть назначен этому узлу, необходимо обновить таблицу маршрутизации для повторного доступа
ET_KEY_INVALID mainKey недействителен
ET_INPUT_PARAM_ERROR mainKey пуст
ET_PARAM_LIMIT_VALUE_ERR значение поля limit в условии неверно
ET_PARAM_NOT_EXIST поле в условиях недействительно
ET_PARAM_REDUNDANT повторяющееся поле или поле недействительно
ET_SYS_ERR системная ошибка
Другие значения (больше или равно 0): если атрибут retEntryCnt структуры запроса установлен в true, возвращаемое значение указывает общее количество записей под первичным ключом. В противном случае операция считается успешной.

getMainKeyCount

int getMainKeyCount(const MainKeyReq &req)

Получение общего количества записей данных под заданным mainKey.

Параметры:

struct MainKeyReq
{
  1 require string moduleName; //имя модуля;
  2 require string mainKey;  
  3 require string idcSpecified = ""; //область idc
};

Возвращает:

Возвращаемое значение Описание
ET_MODULE_NAME_INVALID ошибка модуля
ET_KEY_AREA_ERR текущий ключ не должен быть назначен этому узлу, необходимо обновить таблицу маршрутизации для повторного доступа
ET_KEY_INVALID mainKey недействителен
ET_INPUT_PARAM_ERROR mainKey пуст
ET_SYS_ERR системная ошибка
Другое значение (больше или равное 0): общее количество записей данных под указанным mainKey. Ошибки:
  • ET_KEY_INVALID — некоторые основные ключи недействительны;
  • ET_INPUT_PARAM_ERROR — основной ключ или слишком много основных ключей недействительны;
  • ET_PARAM_MISSING — не все вторичные ключи включены в условия;
  • ET_SYS_ERR — системная ошибка;
  • ET_SUCC — запрос данных в пакете успешно выполнен.

insertMKV

int insertMKV(const InsertMKVReq &req)

Вставить данные.

Параметры:

struct InsertMKVReq
{
  1 require string moduleName;  //имя модуля;
  2 require InsertKeyValue data;
};

struct InsertKeyValue
{
  1 require string mainKey;  
  2 require map<string, UpdateValue> mpValue;  //Другие поля, кроме mainKey
  3 require byte ver = 0;  //номер версии данных
  4 require bool dirty = true;  //сделать данные грязными
  5 require bool replace = false;  //перезаписать старую запись, если запись уже существует и replace равно true
  6 require int expireTimeSecond = 0; //время истечения срока действия
};

Возвращает:

Возвращает Описание
ET_SERVER_TYPE_ERR услуга не предоставляется, так как это подчинённый сервер
ET_MODULE_NAME_INVALID ошибка модуля
ET_FORBID_OPT данные переносятся
ET_KEY_AREA_ERR текущий ключ не должен быть назначен этому узлу, необходимо обновить таблицу маршрутизации для повторного доступа
ET_INPUT_PARAM_ERROR ошибка параметра, например, mainKey пуст
ET_PARAM_DIGITAL_ERR ошибка поля, например поле с числовым типом содержит нечисловые символы
ET_PARAM_TOO_LONG длина поля превышает лимит
ET_PARAM_MISSING не содержит всех вторичных ключей
ET_PARAM_OP_ERR ошибка операции, поддерживается только SET
ET_DATA_EXIST данные уже существуют
ET_DATA_VER_MISMATCH разные номера версий
ET_MEM_FULL нет свободного места в памяти
ET_SYS_ERR системная ошибка
ET_SUCC вставка выполнена успешно

updateMKV

int updateMKV(const UpdateMKVReq &req)

Обновить данные.

Параметры:

struct UpdateMKVReq
{
  1 require string moduleName;  //имя модуля
  2 require string mainKey;  
  3 require map<string, UpdateValue> value;  //Поля, которые необходимо обновить, исключая вторичный ключ
  4 require vector<Condition> cond;  
  5 require byte ver = 0;  //номер версии данных
  6 require bool dirty = true;  //сделать данные грязными
  7 require bool insert = false; //вставить запись, если уникальная запись, которую нужно изменить, не существует, и insert == true
  8 require int expireTimeSecond = 0;  //время истечения срока действия
};

Возвращает:

Возвращает Описание
ET_SERVER_TYPE_ERR услуга не предоставляется, так как это подчинённый сервер
ET_MODULE_NAME_INVALID ошибка модуля
ET_FORBID_OPT данные переносятся
ET_KEY_AREA_ERR текущий ключ не должен быть назначен этому узлу, необходимо обновить таблицу маршрутизации для повторного доступа
ET_INPUT_PARAM_ERROR ошибка параметра, например, mainKey пуст
ET_PARAM_UPDATE_UKEY_ERR поля для обновления содержат поле вторичного ключа
ET_PARAM_DIGITAL_ERR ошибка поля, например поле с числовым типом содержит нечисловые символы
ET_PARAM_TOO_LONG длина поля превышает лимит
ET_PARAM_NOT_EXIST поле не существует
ET_PARAM_REDUNDANT в условии есть несколько полей вторичного ключа с одинаковым именем
ET_PARAM_LIMIT_VALUE_ERR значение поля с именем limit в условии неверно
ET_DATA_VER_MISMATCH разные номера версий
ET_SYS_ERR системная ошибка
другие значения (больше или равные 0) обновление выполнено успешно, также это значение указывает на количество записей, затронутых операцией обновления

updateMKVAtom

int updateMKVAtom(const UpdateMKVAtomReq &req)

Атомарно обновить данные.

Параметры:

struct UpdateMKVAtomReq
{
  1 require string moduleName;  //имя модуля
  2 require string mainKey;  
  3 require map<string, UpdateValue> value;  //поля, которые необходимо обновить, не включая поле вторичного ключа, op поддерживает операции SET, ADD, SUB.
  4 require vector<Condition> cond;  
  5 require bool dirty = true;  //сделать данные грязными
``` **Возвращает:**

| Возвращает | Описание |
| --- | --- |
| ET_SERVER_TYPE_ERR | сервис не предоставляется, так как это ведомый сервер |
| ET_MODULE_NAME_INVALID | ошибка модуля |
| ET_FORBID_OPT | данные мигрируют |
| ET_KEY_AREA_ERR | текущий ключ не должен быть назначен этому узлу, необходимо обновить таблицу маршрутизации для повторного доступа |
| ET_INPUT_PARAM_ERROR | ошибка параметра, например, mainKey пуст |
| ET_PARAM_UPDATE_UKEY_ERR | поля, которые должны быть обновлены, содержат поле вторичного ключа |
| ET_PARAM_DIGITAL_ERR | ошибка поля, например, поле числового типа содержит нечисловые символы |
| ET_PARAM_TOO_LONG | длина поля превышает лимит |
| ET_PARAM_NOT_EXIST | поле не существует |
| ET_PARAM_REDUNDANT | в условии есть несколько полей вторичных ключей с одинаковым именем |
| ET_PARAM_LIMIT_VALUE_ERR | значение поля с именем limit в условии неверно |
| ET_DATA_VER_MISMATCH | разные номера версий |
| ET_SYS_ERR | системная ошибка |
| другие значения (больше или равно 0) | обновление успешно, также это значение указывает на количество записей, затронутых операцией обновления |

**eraseMKV**

```C++
int eraseMKV(const MainKeyReq &req)

Удаляет данные, которые не являются грязными.

Параметры:

struct MainKeyReq
{
  1 require string moduleName; //имя модуля
  2 require string mainKey;
  3 require string idcSpecified = ""; //область idc
};

Возвращает:

Возвращает Описание
ET_SERVER_TYPE_ERR сервис не предоставляется, так как это ведомый сервер
ET_MODULE_NAME_INVALID ошибка модуля
ET_FORBID_OPT данные мигрируют
ET_KEY_AREA_ERR текущий ключ не должен быть назначен этому узлу, необходимо обновить таблицу маршрутизации для повторного доступа
ET_INPUT_PARAM_ERROR ошибка параметра, например, mainKey пуст
ET_ERASE_DIRTY_ERR попытка удалить грязные данные
ET_SYS_ERR системная ошибка
ET_SUCC удаление успешно

delMKV

int delMKV(const DelMKVReq &req)

Удаляет данные, включая грязные.

Параметры:

struct DelMKVReq
{
  1 require string moduleName; //имя модуля
  2 require string mainKey;
  3 require vector<Condition> cond;
};

struct Condition
{
  1 require string fieldName;
  2 require Op op; //операторы условия, поддерживают ==/!=/</>/<=/>=
  3 require string value;
};

Возвращает:

Возвращает Описание
ET_SERVER_TYPE_ERR сервис не предоставляется, так как это ведомый сервер
ET_MODULE_NAME_INVALID ошибка модуля
ET_FORBID_OPT данные мигрируют
ET_KEY_AREA_ERR текущий ключ не должен быть назначен этому узлу, необходимо обновить таблицу маршрутизации для повторного доступа
ET_INPUT_PARAM_ERROR ошибка параметра, например, mainKey пуст
ET_PARAM_LIMIT_VALUE_ERR значение поля с именем limit в условии неверно
ET_PARAM_NOT_EXIST поле не существует
ET_PARAM_REDUNDANT несколько полей с одинаковыми именами
ET_SYS_ERR системная ошибка
ET_SUCC удаление успешно

insertMKVBatch

int insertMKVBatch(const InsertMKVBatchReq &req, MKVBatchWriteRsp &rsp)

Массовая вставка.

Параметры:

struct InsertMKVBatchReq
{
  1 require string moduleName; //имя модуля
  2 require vector<InsertKeyValue> data;
};

struct InsertKeyValue
{
  1 require string mainKey;
  2 require map<string, UpdateValue> mpValue; //значения полей исключая mainKey
  3 require byte ver = 0; //номер версии данных
  4 require bool dirty = true; //сделать данные грязными
  5 require bool replace = false; //перезаписать старую запись, если запись уже существует и replace истинно
  6 require int expireTimeSecond = 0; //время истечения срока действия
};

struct MKVBatchWriteRsp
{
  1 require map<int, int> rspData; //ключ: индекс поля данных в структуре запроса, значение: причина сбоя вставки, rspData пуста, если все вставки успешны
};

Возвращает:

ET_MODULE_NAME_INVALID — ошибка модуля. ET_INPUT_PARAM_ERROR — неверный mainKey или слишком много. Основные функции работы со списками

  • pushList: добавляет один или несколько элементов в начало или конец списка.

    • Параметры:

      • const PushListReq &req — структура запроса, которая содержит следующие поля:

        • require string moduleName — имя модуля;
        • require string mainKey — основной ключ;
        • require vector data — данные;
        • require bool atHead = true — если значение равно true, то данные добавляются в начало списка, иначе — в конец.
      • Структура InsertKeyValue содержит следующие поля:

        • require string mainKey;
        • require map<string, UpdateValue> mpValue;
        • require byte ver = 0 — номер версии данных;
        • require bool dirty = true — признак грязных данных;
        • require bool replace = false — перезаписывает старую запись, если она существует и replace равно true;
        • require int expireTimeSecond = 0.
    • Возвращаемые значения:

      • ET_MODULE_NAME_INVALID — ошибка модуля;
      • ET_KEY_AREA_ERR — текущий ключ не должен быть назначен этому узлу, необходимо обновить таблицу маршрутизации для повторного доступа;
      • ET_FORBID_OPT — данные переносятся;
      • ET_SERVER_TYPE_ERR — услуга не предоставляется, поскольку это подчинённый сервер;
      • ET_PARAM_DIGITAL_ERR — ошибка поля, например, поле числового типа содержит нечисловые символы;
      • ET_PARAM_TOO_LONG — длина поля превышает лимит;
      • ET_PARAM_OP_ERR — ошибка операции, поддерживается только SET;
      • ET_PARAM_NOT_EXIST — поле не существует;
      • ET_KEY_INVALID — неверный основной ключ;
      • ET_INPUT_PARAM_ERROR — пустой основной ключ;
      • ET_SYS_ERR — системная ошибка;
      • ET_SUCC — успешно добавлено.
  • popList: удаляет один элемент из начала или конца списка.

    • Параметры:

      • const PopListReq &req, PopListRsp &rsp — структуры запроса и ответа соответственно, которые содержат следующие поля:

        • require string moduleName;
        • require string mainKey;
        • require bool atHead = true — удаляет из начала списка, если значение равно true, иначе удаляет из конца.
      • Структура PopListRsp содержит единственное поле:

        • require Entry entry — удалённые данные.
      • Структура Entry содержит одно поле:

        • require map<string, string> data.
    • Возвращаемые значения:

      • ET_MODULE_NAME_INVALID — ошибка модуля;
      • ET_KEY_AREA_ERR — текущий ключ не должен быть назначен этому узлу, необходимо обновить таблицу маршрутизации для повторного доступа;
      • ET_FORBID_OPT — данные переносятся;
      • ET_SERVER_TYPE_ERR — услуга не предоставляется, поскольку это подчинённый сервер;
      • ET_KEY_INVALID — неверный основной ключ;
      • ET_INPUT_PARAM_ERROR — пустой основной ключ;
      • ET_SYS_ERR — системная ошибка;
      • ET_SUCC — удаление выполнено успешно.
  • replaceList: заменяет данные на основе указанного основного ключа и индекса.

    • Параметры:
      • const ReplaceListReq &req — запрос на замену, который содержит следующие поля:

        • require string moduleName;
        • require string mainKey;
        • require map<string, UpdateValue> data — обновляемые данные;
        • require long index — указанный индекс;
        • require int expireTime — время истечения срока действия.
      • Структура UpdateValue содержит два поля:

        • require Op op — оператор обновления, поддерживается только SET;
        • require string value.
  • Возвращаемые значения:

    • ET_MODULE_NAME_INVALID — ошибка модуля;
    • ET_KEY_AREA_ERR — текущий ключ не должен быть назначен этому узлу, необходимо обновить таблицу маршрутизации для повторного доступа;
    • ET_FORBID_OPT — данные переносятся;
    • ET_SERVER_TYPE_ERR — услуга не предоставляется, поскольку это подчинённый сервер;
    • ET_PARAM_DIGITAL_ERR — ошибка поля, например, поле числового типа содержит нечисловые символы;
    • ET_PARAM_TOO_LONG — длина поля превышает лимит;
    • ET_PARAM_OP_ERR — ошибка операции, поддерживается только SET;
    • ET_PARAM_NOT_EXIST — поле не существует;
    • ET_KEY_INVALID — неверный основной ключ;
    • ET_INPUT_PARAM_ERROR — пустой основной ключ;
    • ET_SYS_ERR — системная ошибка;
    • ET_SUCC — замена выполнена успешно.
  • trimList: обрезает список.

    • Параметры: const TrimListReq &req.

      • Структура TrimListReq содержит два поля:
        • require string moduleName;
        • —. Текст 1

Returns:

Returns Description
ET_MODULE_NAME_INVALID ошибка модуля
ET_KEY_AREA_ERR текущий ключ не должен быть назначен этому узлу, необходимо обновить таблицу маршрутизации для повторного доступа
ET_FORBID_OPT данные переносятся
ET_SERVER_TYPE_ERR услуга не предоставляется, поскольку это ведомый сервер
ET_KEY_INVALID mainKey недействителен
ET_INPUT_PARAM_ERROR mainKey пуст
ET_SYS_ERR системная ошибка
ET_SUCC успех

Текст 2

int remList(const RemListReq &req) — удалить один или несколько элементов из начала или конца списка.

Параметры:

struct RemListReq {
1 require string moduleName; //имя модуля |
2 require string mainKey; |
3 require bool atHead = true; //удалить из начала, если значение true, иначе из конца |
4 require long count; //указать, сколько записей нужно удалить |
};

Возвращает:

Возвращает Описание
ET_MODULE_NAME_INVALID ошибка модуля
ET_KEY_AREA_ERR текущий ключ не должен быть назначен этому узлу, необходимо обновить таблицу маршрутизации для повторного доступа
ET_FORBID_OPT данные переносятся
ET_SERVER_TYPE_ERR услуга не предоставляется, поскольку это ведомый сервер
ET_KEY_INVALID mainKey недействителен
ET_INPUT_PARAM_ERROR mainKey пуст
ET_SYS_ERR системная ошибка
ET_SUCC удаление успешно

Текст 3

int getSet(const GetSetReq &req, BatchEntry &rsp) — получить всех членов из набора.

Параметры:

struct GetSetReq {
1 require string moduleName; //имя модуля |
2 require string mainKey; |
3 require string field; //набор полей для запроса, несколько полей разделяются запятой, например «a, b», «*» для всех полей |
4 require string idcSpecified = ""; //область idc |
};

struct BatchEntry {
1 require vector<map<string, string>> entries; //результирующий набор |
};

Возвращает:

Возвращает Описание
ET_MODULE_NAME_INVALID ошибка модуля
ET_KEY_AREA_ERR текущий ключ не должен быть назначен этому узлу, необходимо обновить таблицу маршрутизации для повторного доступа
ET_KEY_INVALID mainKey недействителен
ET_INPUT_PARAM_ERROR mainKey пуст
ET_SYS_ERR системная ошибка
ET_SUCC запрос успешно выполнен

Текст 4

int addSet(const AddSetReq &req) — добавить одного члена в набор.

Параметры:

struct AddSetReq {
1 require string moduleName; //имя модуля |
2 require AddSetKeyValue value; |
};

struct AddSetKeyValue {
1 require string mainKey; |
2 require map<string, UpdateValue> data; |
3 require int expireTime; //время истечения срока действия |
4 require bool dirty = true; //сделать данные грязными |
};

Возвращает:

Возвращает Описание
ET_MODULE_NAME_INVALID ошибка модуля
ET_KEY_AREA_ERR текущий ключ не должен быть назначен этому узлу, необходимо обновить таблицу маршрутизации для повторного доступа
ET_FORBID_OPT данные переносятся
ET_SERVER_TYPE_ERR услуга не предоставляется, поскольку это ведомый сервер
ET_PARAM_DIGITAL_ERR ошибка поля, например поле числового типа содержит нечисловые символы
ET_PARAM_TOO_LONG длина поля превышает предел
ET_PARAM_OP_ERR op-ошибка, поддерживается только SET
ET_PARAM_NOT_EXIST поле не существует
ET_DATA_EXIST данные уже существуют
ET_KEY_INVALID mainKey недействителен
ET_INPUT_PARAM_ERROR mainKey пуст
ET_SYS_ERR системная ошибка
ET_SUCC добавление успешно выполнено

Текст 5

int delSet(const DelSetReq &req) — удалить одного члена из набора.

Параметры:

struct DelSetReq {
1 require string moduleName; //имя модуля |
2 require string mainKey; |
3 require vector cond; |
};

struct Condition {
1 require string fieldName; //все поля, кроме mainKey |
2 require Op op; //поддерживается только EQ |
3 require string value; |
};

Возвращает:

Возвращает Описание
ET_MODULE_NAME_INVALID ошибка модуля
ET_KEY_AREA_ERR Текущий ключ не должен быть назначен этому узлу, необходимо обновить таблицу маршрутизации для повторного доступа
ET_FORBID_OPT данные мигрируют
ET_SERVER_TYPE_ERR услуга не предоставляется, поскольку это ведомый сервер
ET_PARAM_REDUNDANT несколько полей с одинаковым именем
ET_PARAM_MISSING некоторые поля отсутствуют
ET_DB_ERR ошибка доступа к базе данных
ET_PARAM_OP_ERR поддерживается только EQ
ET_KEY_INVALID основной ключ недействителен
ET_INPUT_PARAM_ERROR основной ключ пуст
ET_SYS_ERR системная ошибка
ET_SUCC успешно удалено

delZSetByScore

int delZSetByScore(const DelZSetByScoreReq &req)

Удаление элементов в отсортированном наборе по заданным оценкам

Параметры:

struct DelZSetByScoreReq
{
  1 require string moduleName;  //имя модуля
  2 require string mainKey;  
  3 require double minScore;
  4 require double maxScore;
};

Возвращает:

Возвращает Описание
ET_MODULE_NAME_INVALID ошибка модуля
ET_KEY_AREA_ERR текущий ключ не должен быть присвоен этому узлу, требуется обновить таблицу маршрутизации для повторной доступности
ET_FORBID_OPT данные переносятся
ET_SERVER_TYPE_ERR обслуживание не предоставляется, так как это подчинённый сервер
ET_DB_ERR ошибка доступа к базе данных
ET_KEY_INVALID ключ недействителен
ET_INPUT_PARAMETER_ERROR ключ пустой
ET_SYS_ERROR системная ошибка
ET_SUCC успешное удаление

updateZSet

int updateZSet(const UpdateZSetReq &req)

Обновление элемента в отсортированном наборе, который соответствует указанным условиям

Параметры:

struct UpdateZSetReq
{
  1 require string moduleName;  //имя модуля
  2 require AddSetKeyValue value;  //данные, используемые для обновления
  3 require vector<Condition> cond;
};

struct AddSetKeyValue
{
  1 require string mainKey;  
  2 require map<string, UpdateValue> data;  //данные, используемые для обновления
  3 require int expireTime;  //время истечения срока действия
  4 require bool dirty = true;  //сделать данные «грязными»
};

struct Condition
{
  1 require string fieldName;  //все поля, кроме mainKey
  2 require Op op;  //поддерживается только EQ
  3 require string value;  
};

Возвращает:

Возвращает Описание
ET_MODULE_NAME_INVALID ошибка модуля
ET_KEY_AREA_ERR текущий ключ не должен быть присвоен этому узлу, требуется обновить таблицу маршрутизации для повторной доступности
ET_FORBID_OPT данные переносятся
ET_SERVER_TYPE_ERR обслуживание не предоставляется, так как это подчинённый сервер
ET_PARAM_DIGITAL_ERR ошибка поля, например, поле числового типа содержит нечисловые символы
ET_PARAM_TOO_LONG длина поля превышает лимит
ET_PARAM_NOT_EXIST поле не существует
ET_PARAM_MISSING некоторые поля отсутствуют
ET_PARAM_REDUNDANT несколько полей с одинаковыми именами
ET_PARAM_OP_ERR поддерживается только EQ
ET_DB_ERR ошибка доступа к базе данных
ET_KEY_INVALID ключ недействителен
ET_INPUT_PARAMETER_ERROR ключ пустой
ET_SYS_ERROR системная ошибка
ET_SUCC обновление успешно

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

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

1
https://api.gitlife.ru/oschina-mirror/mirrors-DCache.git
git@api.gitlife.ru:oschina-mirror/mirrors-DCache.git
oschina-mirror
mirrors-DCache
mirrors-DCache
master