代码拉取完成,页面将自动刷新
package redis
import (
"fmt"
"github.com/redis-go/redcon"
)
func RPopCommand(c *Client, cmd redcon.Command) {
if len(cmd.Args) < 2 {
c.Conn().WriteError(fmt.Sprintf(WrongNumOfArgsErr, "rpop"))
return
}
key := string(cmd.Args[1])
db := c.Db()
i := db.GetOrExpire(&key, true)
if i == nil {
c.Conn().WriteNull()
return
} else if i.Type() != ListType {
c.Conn().WriteError(fmt.Sprintf("%s: key is a %s not a %s", WrongTypeErr, i.TypeFancy(), ListTypeFancy))
return
}
l := i.(*List)
c.Redis().Mu().Lock()
v, b := l.RPop()
if b {
db.Delete(&key)
}
c.Redis().Mu().Unlock()
c.Conn().WriteBulkString(*v)
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。