* 判断member元素是否集合key的成员 * @param[in] key 集合键 * @param[in] member 集合元素 * @return 是true,否false * @see * @note */
| 3320 | * @note |
| 3321 | */ |
| 3322 | bool RedisClient::sismember(const QString & key, const QString & member) { |
| 3323 | _sErrorInfo.clear(); |
| 3324 | if(key.trimmed().isEmpty()) { |
| 3325 | _sErrorInfo = "destkey is empty"; |
| 3326 | return false; |
| 3327 | } |
| 3328 | |
| 3329 | _vCmdList.clear(); |
| 3330 | _vCmdList.push_back("SISMEMBER"); |
| 3331 | _vCmdList.push_back(key); |
| 3332 | _vCmdList.push_back(member); |
| 3333 | |
| 3334 | _cmdResult = command(_vCmdList); |
| 3335 | if(_cmdResult[0] == '-') { |
| 3336 | if(parseRespError(_cmdResult,_sValue)) |
| 3337 | _sErrorInfo = _sValue; |
| 3338 | else |
| 3339 | _sErrorInfo = "parser resp error info failed"; |
| 3340 | _bRet = false; |
| 3341 | } else if(_cmdResult[0] == ':') { |
| 3342 | if(parseRespInteger(_cmdResult,_llRet)) { |
| 3343 | if(_llRet) |
| 3344 | _bRet = true; |
| 3345 | else |
| 3346 | _bRet = false; |
| 3347 | } else { |
| 3348 | _sErrorInfo = "parser resp integer info failed"; |
| 3349 | _bRet = false; |
| 3350 | } |
| 3351 | } else { |
| 3352 | _bRet = false; |
| 3353 | _sErrorInfo = QString("parser resp type failed:") + _cmdResult[0]; |
| 3354 | } |
| 3355 | return _bRet; |
| 3356 | } |
| 3357 | |
| 3358 | /** |
| 3359 | * 用value参数覆写(overwrite)给定key所储存的字符串值,从偏移量offset开始。 |