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

Method sdiff

src/RedisView/RedisLib/RedisClient.cpp:4207–4237  ·  view source on GitHub ↗

* 返回一个集合的全部成员,该集合是所有给定集合之间的差集 * 不存在的key被视为空集 * @param[in] keys 一个或多个集合 * @param[out] value 集合差集 * @return 成功true,失败false * @see * @note */

Source from the content-addressed store, hash-verified

4205 * @note
4206 */
4207bool RedisClient::sdiff(const QString & keys, QList<QByteArray> & value) {
4208 _sErrorInfo.clear();
4209 if(keys.trimmed().isEmpty()) {
4210 _sErrorInfo = "key is empty";
4211 return false;
4212 }
4213
4214 _vCmdList.clear();
4215 _vCmdList.push_back("SDIFF");
4216 _vCmdList.push_back(keys);
4217
4218 _cmdResult = command(_vCmdList);
4219 if(_cmdResult[0] == '-') {
4220 if(parseRespError(_cmdResult,_sValue))
4221 _sErrorInfo = _sValue;
4222 else
4223 _sErrorInfo = "parser resp error info failed";
4224 _bRet = false;
4225 } else if(_cmdResult[0] == '*') {
4226 if(parseRespSingelArray(_cmdResult,value, _iRet)) {
4227 _bRet = true;
4228 } else {
4229 _sErrorInfo = "parser resp bulk string info failed";
4230 _bRet = false;
4231 }
4232 } else {
4233 _bRet = false;
4234 _sErrorInfo = QString("parser resp type failed:") + _cmdResult[0];
4235 }
4236 return _bRet;
4237}
4238
4239/**
4240 * 返回一个集合的全部成员,该集合是所有给定集合之间的交集

Callers

nothing calls this directly

Calls 1

clearMethod · 0.45

Tested by

no test coverage detected