mirror of
https://github.com/duanhf2012/origin.git
synced 2026-02-23 22:04:49 +08:00
zrange descend
This commit is contained in:
@@ -1123,8 +1123,8 @@ func (slf *RedisModule) ZADDInsert(key string, score float64, Data interface{})
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (slf *RedisModule) ZRangeJSON(key string, start, stop int, data interface{}) error {
|
func (slf *RedisModule) ZRangeJSON(key string, start, stop int, ascend bool, data interface{}) error {
|
||||||
b, err := slf.ZRange(key, start, stop)
|
b, err := slf.ZRange(key, start, stop, ascend)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@@ -1135,22 +1135,26 @@ func (slf *RedisModule) ZRangeJSON(key string, start, stop int, data interface{}
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (slf *RedisModule) ZRange(key string, start, stop int) ([]byte, error) {
|
//取有序set指定排名 ascend=true表示按升序遍历 否则按降序遍历
|
||||||
|
func (slf *RedisModule) ZRange(key string, start, stop int, ascend bool) ([]byte, error) {
|
||||||
conn, err := slf.getConn()
|
conn, err := slf.getConn()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
defer conn.Close()
|
defer conn.Close()
|
||||||
|
cmd := "ZREVRANGE"
|
||||||
reply, err := conn.Do("ZRANGE", key, start, stop)
|
if ascend {
|
||||||
|
cmd = "ZRANGE"
|
||||||
|
}
|
||||||
|
reply, err := conn.Do(cmd, key, start, stop)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
return redis.Bytes(reply, err)
|
return redis.Bytes(reply, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (slf *RedisModule) ZRangeByScoreJSON(key string, start, stop int, data interface{}) error {
|
func (slf *RedisModule) ZRangeByScoreJSON(key string, start, stop int, ascend bool, data interface{}) error {
|
||||||
b, err := slf.ZRangeByScore(key, start, stop)
|
b, err := slf.ZRangeByScore(key, start, stop, ascend)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@@ -1161,32 +1165,35 @@ func (slf *RedisModule) ZRangeByScoreJSON(key string, start, stop int, data inte
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (slf *RedisModule) ZRangeByScore(key string, start, stop int) ([]byte, error) {
|
func (slf *RedisModule) ZRangeByScore(key string, start, stop int, ascend bool) ([]byte, error) {
|
||||||
conn, err := slf.getConn()
|
conn, err := slf.getConn()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
defer conn.Close()
|
defer conn.Close()
|
||||||
|
cmd := "ZREVRANGEBYSCORE"
|
||||||
reply, err := conn.Do("ZRANGEBYSCORE", key, start, stop)
|
if ascend {
|
||||||
|
cmd = "ZRANGEBYSCORE"
|
||||||
|
}
|
||||||
|
reply, err := conn.Do(cmd, key, start, stop)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
return redis.Bytes(reply, err)
|
return redis.Bytes(reply, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (slf *RedisModule) ZREMRANGEBYSCORE(key string, start, stop interface{}) ( error) {
|
func (slf *RedisModule) ZREMRANGEBYSCORE(key string, start, stop interface{}) error {
|
||||||
conn, err := slf.getConn()
|
conn, err := slf.getConn()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
defer conn.Close()
|
defer conn.Close()
|
||||||
|
|
||||||
_ , err = conn.Do("ZREMRANGEBYSCORE", key, start, stop)
|
_, err = conn.Do("ZREMRANGEBYSCORE", key, start, stop)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (slf *RedisModule) LRangeJSON(key string, start, stop int, data interface{}) error {
|
func (slf *RedisModule) LRangeJSON(key string, start, stop int, data interface{}) error {
|
||||||
|
|||||||
Reference in New Issue
Block a user