MCPcopy Create free account
hub / github.com/cc20110101/RedisView / sdiffstore

Method sdiffstore

src/RedisView/RedisLib/RedisClient.cpp:3413–3448  ·  view source on GitHub ↗

* 将集合之间的差集存储在指定的destkey集合中,如果destkey集合已经存在,则将其覆盖。 * @param[in] destkey 目的集合键 * @param[in] keys 要加入目的集合的集合key,多个可空格分割 * @param[out] llRet 结果集中的元素数量 * @return 成功true,失败false * @see * @note */

Source from the content-addressed store, hash-verified

3411 * @note
3412 */
3413bool RedisClient::sdiffstore(const QString & destkey, const QString & keys, qlonglong & llRet) {
3414 _sErrorInfo.clear();
3415 if(destkey.trimmed().isEmpty()) {
3416 _sErrorInfo = "destkey is empty";
3417 return false;
3418 }
3419 if(keys.trimmed().isEmpty()) {
3420 _sErrorInfo = "keys is empty";
3421 return false;
3422 }
3423
3424 _vCmdList.clear();
3425 _vCmdList.push_back("SDIFFSTORE");
3426 _vCmdList.push_back(destkey);
3427 _vCmdList.push_back(keys);
3428
3429 _cmdResult = command(_vCmdList);
3430 if(_cmdResult[0] == '-') {
3431 if(parseRespError(_cmdResult,_sValue))
3432 _sErrorInfo = _sValue;
3433 else
3434 _sErrorInfo = "parser resp error info failed";
3435 _bRet = false;
3436 } else if(_cmdResult[0] == ':') {
3437 if(parseRespInteger(_cmdResult,llRet)) {
3438 _bRet = true;
3439 } else {
3440 _sErrorInfo = "parser resp integer info failed";
3441 _bRet = false;
3442 }
3443 } else {
3444 _bRet = false;
3445 _sErrorInfo = QString("parser resp type failed:") + _cmdResult[0];
3446 }
3447 return _bRet;
3448}
3449
3450/**
3451 * 将给定集合之间的交集存储在指定的destkey集合中。如果指定的destkey集合已经存在,则将其覆盖

Callers

nothing calls this directly

Calls 1

clearMethod · 0.45

Tested by

no test coverage detected