未验证 提交 a83c9ce3 编写于 作者: A Axlgrep 提交者: GitHub

bugfix srandmember acts differently with redis (#275)

* v2.3.4

* bugfix srandmember acts differently with redis
上级 9340d43d
......@@ -156,9 +156,11 @@ public:
private:
std::string key_;
int64_t count_;
bool reply_arr;
virtual void DoInitial(PikaCmdArgsType &argvs, const CmdInfo* const ptr_info);
virtual void Clear() {
count_ = 1;
reply_arr = false;
}
};
......
......@@ -408,10 +408,12 @@ void SRandmemberCmd::DoInitial(PikaCmdArgsType &argv, const CmdInfo* const ptr_i
if (argv.size() > 3) {
res_.SetRes(CmdRes::kWrongNum, kCmdNameSRandmember);
return;
} else if (argv.size() < 3) {
return;
} else if (!slash::string2l(argv[2].data(), argv[2].size(), &count_)) {
res_.SetRes(CmdRes::kInvalidInt);
} else if (argv.size() == 3) {
if (!slash::string2l(argv[2].data(), argv[2].size(), &count_)) {
res_.SetRes(CmdRes::kInvalidInt);
} else {
reply_arr = true;;
}
}
return;
}
......@@ -420,7 +422,7 @@ void SRandmemberCmd::Do() {
std::vector<std::string> members;
nemo::Status s = g_pika_server->db()->SRandMember(key_, members, count_);
if (s.ok() || s.IsNotFound()) {
if (members.size() == 1) {
if (!reply_arr) {
res_.AppendStringLen(members[0].size());
res_.AppendContent(members[0]);
} else {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册