Add ZLexCount

This commit is contained in:
Vladimir Mihailenco 2017-08-15 09:49:23 +03:00
parent 7a034e1609
commit a9364f117c
2 changed files with 23 additions and 12 deletions

View File

@ -159,6 +159,7 @@ type Cmdable interface {
ZIncrXX(key string, member Z) *FloatCmd
ZCard(key string) *IntCmd
ZCount(key, min, max string) *IntCmd
ZLexCount(key, min, max string) *IntCmd
ZIncrBy(key string, increment float64, member string) *FloatCmd
ZInterStore(destination string, store ZStore, keys ...string) *IntCmd
ZRange(key string, start, stop int64) *StringSliceCmd
@ -1352,6 +1353,12 @@ func (c *cmdable) ZCount(key, min, max string) *IntCmd {
return cmd
}
func (c *cmdable) ZLexCount(key, min, max string) *IntCmd {
cmd := NewIntCmd("zlexcount", key, min, max)
c.process(cmd)
return cmd
}
func (c *cmdable) ZIncrBy(key string, increment float64, member string) *FloatCmd {
cmd := NewFloatCmd("zincrby", key, increment, member)
c.process(cmd)

View File

@ -2176,20 +2176,24 @@ var _ = Describe("Commands", func() {
})
It("should ZCount", func() {
zAdd := client.ZAdd("zset", redis.Z{1, "one"})
Expect(zAdd.Err()).NotTo(HaveOccurred())
zAdd = client.ZAdd("zset", redis.Z{2, "two"})
Expect(zAdd.Err()).NotTo(HaveOccurred())
zAdd = client.ZAdd("zset", redis.Z{3, "three"})
Expect(zAdd.Err()).NotTo(HaveOccurred())
err := client.ZAdd("zset", redis.Z{1, "one"}).Err()
Expect(err).NotTo(HaveOccurred())
err = client.ZAdd("zset", redis.Z{2, "two"}).Err()
Expect(err).NotTo(HaveOccurred())
err = client.ZAdd("zset", redis.Z{3, "three"}).Err()
Expect(err).NotTo(HaveOccurred())
zCount := client.ZCount("zset", "-inf", "+inf")
Expect(zCount.Err()).NotTo(HaveOccurred())
Expect(zCount.Val()).To(Equal(int64(3)))
count, err := client.ZCount("zset", "-inf", "+inf").Result()
Expect(err).NotTo(HaveOccurred())
Expect(count).To(Equal(int64(3)))
zCount = client.ZCount("zset", "(1", "3")
Expect(zCount.Err()).NotTo(HaveOccurred())
Expect(zCount.Val()).To(Equal(int64(2)))
count, err = client.ZCount("zset", "(1", "3").Result()
Expect(err).NotTo(HaveOccurred())
Expect(count).To(Equal(int64(2)))
count, err = client.ZLexCount("zset", "-", "+").Result()
Expect(err).NotTo(HaveOccurred())
Expect(count).To(Equal(int64(3)))
})
It("should ZIncrBy", func() {