Proxy API doc
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 |
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 |
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 — запрос данных в пакете успешно выполнен.
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 — вставка выполнена успешно.
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 — успешное выполнение вставки.
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 — услуга не предоставляется, поскольку это ведомый сервер.
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 | ошибка модуля Это раб. |
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: все данные успешно удалены.
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 | все данные успешно удалены |
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, возвращаемое значение указывает общее количество записей под первичным ключом. В противном случае операция считается успешной. |
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. Ошибки: |
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 — структура запроса, которая содержит следующие поля:
Структура InsertKeyValue содержит следующие поля:
Возвращаемые значения:
popList: удаляет один элемент из начала или конца списка.
Параметры:
const PopListReq &req, PopListRsp &rsp — структуры запроса и ответа соответственно, которые содержат следующие поля:
Структура PopListRsp содержит единственное поле:
Структура Entry содержит одно поле:
Возвращаемые значения:
replaceList: заменяет данные на основе указанного основного ключа и индекса.
const ReplaceListReq &req — запрос на замену, который содержит следующие поля:
Структура UpdateValue содержит два поля:
Возвращаемые значения:
trimList: обрезает список.
Параметры: const TrimListReq &req.
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 | успешно удалено |
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 | успешное удаление |
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 )