forked from mirror/redis
Merge pull request #479 from go-redis/fix/zremrangebylex
Add ZRemRangeByLex.
This commit is contained in:
commit
a8345871dc
|
@ -170,6 +170,7 @@ type Cmdable interface {
|
|||
ZRem(key string, members ...interface{}) *IntCmd
|
||||
ZRemRangeByRank(key string, start, stop int64) *IntCmd
|
||||
ZRemRangeByScore(key, min, max string) *IntCmd
|
||||
ZRemRangeByLex(key, min, max string) *IntCmd
|
||||
ZRevRange(key string, start, stop int64) *StringSliceCmd
|
||||
ZRevRangeWithScores(key string, start, stop int64) *ZSliceCmd
|
||||
ZRevRangeByScore(key string, opt ZRangeBy) *StringSliceCmd
|
||||
|
@ -1468,6 +1469,12 @@ func (c *cmdable) ZRemRangeByScore(key, min, max string) *IntCmd {
|
|||
return cmd
|
||||
}
|
||||
|
||||
func (c *cmdable) ZRemRangeByLex(key, min, max string) *IntCmd {
|
||||
cmd := NewIntCmd("zremrangebylex", key, min, max)
|
||||
c.process(cmd)
|
||||
return cmd
|
||||
}
|
||||
|
||||
func (c *cmdable) ZRevRange(key string, start, stop int64) *StringSliceCmd {
|
||||
cmd := NewStringSliceCmd("zrevrange", key, start, stop)
|
||||
c.process(cmd)
|
||||
|
|
|
@ -2429,6 +2429,33 @@ var _ = Describe("Commands", func() {
|
|||
Expect(val).To(Equal([]redis.Z{{2, "two"}, {3, "three"}}))
|
||||
})
|
||||
|
||||
It("should ZRemRangeByLex", func() {
|
||||
zz := []redis.Z{
|
||||
{0, "aaaa"},
|
||||
{0, "b"},
|
||||
{0, "c"},
|
||||
{0, "d"},
|
||||
{0, "e"},
|
||||
{0, "foo"},
|
||||
{0, "zap"},
|
||||
{0, "zip"},
|
||||
{0, "ALPHA"},
|
||||
{0, "alpha"},
|
||||
}
|
||||
for _, z := range zz {
|
||||
err := client.ZAdd("zset", z).Err()
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
}
|
||||
|
||||
n, err := client.ZRemRangeByLex("zset", "[alpha", "[omega").Result()
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
Expect(n).To(Equal(int64(6)))
|
||||
|
||||
vals, err := client.ZRange("zset", 0, -1).Result()
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
Expect(vals).To(Equal([]string{"ALPHA", "aaaa", "zap", "zip"}))
|
||||
})
|
||||
|
||||
It("should ZRevRange", func() {
|
||||
zAdd := client.ZAdd("zset", redis.Z{1, "one"})
|
||||
Expect(zAdd.Err()).NotTo(HaveOccurred())
|
||||
|
|
Loading…
Reference in New Issue