Skip to content

Commit 5bc04e6

Browse files
authored
fix spop resp format to compatible with php redis client (#3129)
1 parent d3eafe0 commit 5bc04e6

1 file changed

Lines changed: 9 additions & 4 deletions

File tree

src/pika_set.cc

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -72,10 +72,15 @@ void SPopCmd::Do() {
7272
STAGE_TIMER_GUARD(storage_duration_ms, true);
7373
s_ = db_->storage()->SPop(key_, &members_, count_);
7474
if (s_.ok()) {
75-
res_.AppendArrayLenUint64(members_.size());
76-
for (const auto& member : members_) {
77-
res_.AppendStringLenUint64(member.size());
78-
res_.AppendContent(member);
75+
if (argv_.size() == 2) {
76+
res_.AppendStringLen(members_[0].size());
77+
res_.AppendContent(members_[0]);
78+
} else {
79+
res_.AppendArrayLenUint64(members_.size());
80+
for (const auto& member : members_) {
81+
res_.AppendStringLenUint64(member.size());
82+
res_.AppendContent(member);
83+
}
7984
}
8085
} else if (s_.IsNotFound()) {
8186
res_.AppendContent("$-1");

0 commit comments

Comments
 (0)