Support redis command Rpop (#431)
* ss * ss * add go-zero:stores:redis-command:Rpop and redis_test * Delete 1.go * support redis command Rpop Co-authored-by: fanhongyi <fanhongyi@tal.com>
This commit is contained in:
@@ -751,6 +751,20 @@ func (s *Redis) Pipelined(fn func(Pipeliner) error) (err error) {
|
||||
return
|
||||
}
|
||||
|
||||
func (s *Redis) Rpop(key string) (val string, err error) {
|
||||
err = s.brk.DoWithAcceptable(func() error {
|
||||
conn, err := getRedis(s)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
val, err = conn.RPop(key).Result()
|
||||
return err
|
||||
}, acceptable)
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func (s *Redis) Rpush(key string, values ...interface{}) (val int, err error) {
|
||||
err = s.brk.DoWithAcceptable(func() error {
|
||||
conn, err := getRedis(s)
|
||||
|
||||
@@ -272,7 +272,12 @@ func TestRedis_List(t *testing.T) {
|
||||
val, err = client.Lpush("key", "value1", "value2")
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, 5, val)
|
||||
val, err = client.Rpush("key", "value3", "value3")
|
||||
_, err = NewRedis(client.Addr, "").Rpop("key")
|
||||
assert.NotNil(t, err)
|
||||
v, err = client.Rpop("key")
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, "value4", v)
|
||||
val, err = client.Rpush("key", "value4", "value3", "value3")
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, 7, val)
|
||||
_, err = NewRedis(client.Addr, "").Lrem("key", 2, "value1")
|
||||
|
||||
Reference in New Issue
Block a user