diff --git a/cmd/ledis-cli/const.go b/cmd/ledis-cli/const.go index df18fd6..5404cf4 100644 --- a/cmd/ledis-cli/const.go +++ b/cmd/ledis-cli/const.go @@ -1,4 +1,4 @@ -//This file was generated by .tools/generate_commands.py on Wed Mar 04 2015 09:31:59 +0800 +//This file was generated by .tools/generate_commands.py on Thu Mar 05 2015 15:42:49 +0800 package main var helpCommands = [][]string{ @@ -106,10 +106,13 @@ var helpCommands = [][]string{ {"SYNC", "logid", "Replication"}, {"TIME", "-", "Server"}, {"TTL", "key", "KV"}, - {"XHSCAN", "key cursor [MATCH match] [COUNT count]", "Hash"}, - {"XSCAN", "type cursor [MATCH match] [COUNT count]", "Server"}, - {"XSSCAN", "key cursor [MATCH match] [COUNT count]", "Set"}, - {"XZSCAN", "key cursor [MATCH match] [COUNT count]", "ZSet"}, + {"XHSCAN", "key cursor [MATCH match] [COUNT count] [ASC|DESC]", "Hash"}, + {"XLSORT", "key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC|DESC] [ALPHA] [STORE destination]", "List"}, + {"XSCAN", "type cursor [MATCH match] [COUNT count] [ASC|DESC]", "Server"}, + {"XSSCAN", "key cursor [MATCH match] [COUNT count] [ASC|DESC]", "Set"}, + {"XSSORT", "key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC|DESC] [ALPHA] [STORE destination]", "Set"}, + {"XZSCAN", "key cursor [MATCH match] [COUNT count] [ASC|DESC]", "ZSet"}, + {"XZSORT", "key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC|DESC] [ALPHA] [STORE destination]", "ZSet"}, {"ZADD", "key score member [score member ...]", "ZSet"}, {"ZCARD", "key", "ZSet"}, {"ZCLEAR", "key", "ZSet"}, @@ -119,7 +122,7 @@ var helpCommands = [][]string{ {"ZEXPIREAT", "key timestamp", "ZSet"}, {"ZINCRBY", "key increment member", "ZSet"}, {"ZINTERSTORE", "destkey numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]", "ZSet"}, - {"ZKEYEXISTS", "ZSet", "Hash"}, + {"ZKEYEXISTS", "key", "ZSet"}, {"ZLEXCOUNT", "key min max", "ZSet"}, {"ZMCLEAR", "key [key ...]", "ZSet"}, {"ZPERSIST", "key", "ZSet"}, diff --git a/doc/commands.json b/doc/commands.json index 1ae730a..87ee379 100644 --- a/doc/commands.json +++ b/doc/commands.json @@ -604,25 +604,25 @@ }, "XSCAN": { - "arguments": "type cursor [MATCH match] [COUNT count]", + "arguments": "type cursor [MATCH match] [COUNT count] [ASC|DESC]", "group": "Server", "readonly": true }, "XHSCAN": { - "arguments": "key cursor [MATCH match] [COUNT count]", + "arguments": "key cursor [MATCH match] [COUNT count] [ASC|DESC]", "group": "Hash", "readonly": true }, "XSSCAN": { - "arguments": "key cursor [MATCH match] [COUNT count]", + "arguments": "key cursor [MATCH match] [COUNT count] [ASC|DESC]", "group": "Set", "readonly": true }, "XZSCAN": { - "arguments": "key cursor [MATCH match] [COUNT count]", + "arguments": "key cursor [MATCH match] [COUNT count] [ASC|DESC]", "group": "ZSet", "readonly": true }, @@ -712,8 +712,26 @@ }, "ZKEYEXISTS": { - "arguments" : "ZSet", - "group" : "Hash", + "arguments" : "key", + "group" : "ZSet", "readonly" : true + }, + + "XLSORT": { + "arguments" : "key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC|DESC] [ALPHA] [STORE destination]", + "group" : "List", + "readonly" : false + }, + + "XSSORT": { + "arguments" : "key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC|DESC] [ALPHA] [STORE destination]", + "group" : "Set", + "readonly" : false + }, + + "XZSORT": { + "arguments" : "key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC|DESC] [ALPHA] [STORE destination]", + "group" : "ZSet", + "readonly" : false } } diff --git a/doc/commands.md b/doc/commands.md index a5f33d7..272746f 100644 --- a/doc/commands.md +++ b/doc/commands.md @@ -125,10 +125,14 @@ Most of the Ledisdb's commands are the same as Redis's, you can see the redis co - [ZDUMP key](#zdump-key) - [ZKEYEXISTS key](#zkeyexists-key) - [Scan](#scan) - - [XSCAN type cursor [MATCH match] [COUNT count]](#xscan-type-cursor-match-match-count-count) - - [XHSCAN key cursor [MATCH match] [COUNT count]](#xhscan-key-cursor-match-match-count-count) - - [XSSCAN key cursor [MATCH match] [COUNT count]](#xsscan-key-cursor-match-match-count-count) - - [XZSCAN key cursor [MATCH match] [COUNT count]](#xzscan-key-cursor-match-match-count-count) + - [XSCAN type cursor [MATCH match] [COUNT count] [ASC|DESC]](#xscan-type-cursor-match-match-count-count-asc|desc) + - [XHSCAN key cursor [MATCH match] [COUNT count] [ASC|DESC]](#xhscan-key-cursor-match-match-count-count-asc|desc) + - [XSSCAN key cursor [MATCH match] [COUNT count] [ASC|DESC]](#xsscan-key-cursor-match-match-count-count-asc|desc) + - [XZSCAN key cursor [MATCH match] [COUNT count] [ASC|DESC]](#xzscan-key-cursor-match-match-count-count-asc|desc) +- [Sort](#sort) + - [XLSORT key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC|DESC] [ALPHA] [STORE destination]](#xlsort-key-by-pattern-limit-offset-count-get-pattern-get-pattern--asc|desc-alpha-store-destination) + - [XSSORT key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC|DESC] [ALPHA] [STORE destination]](#xssort-key-by-pattern-limit-offset-count-get-pattern-get-pattern--asc|desc-alpha-store-destination) + - [XZSORT key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC|DESC] [ALPHA] [STORE destination]](#xzsort-key-by-pattern-limit-offset-count-get-pattern-get-pattern--asc|desc-alpha-store-destination) - [Replication](#replication) - [SLAVEOF host port [RESTART] [READONLY]](#slaveof-host-port-restart-readonly) - [FULLSYNC [NEW]](#fullsync-new) @@ -2371,7 +2375,7 @@ Check key exists for zset data, like [EXISTS key](#exists-key) ## Scan -### XSCAN type cursor [MATCH match] [COUNT count] +### XSCAN type cursor [MATCH match] [COUNT count] [ASC|DESC] Iterate data type keys incrementally. @@ -2379,6 +2383,7 @@ Type is "KV", "LIST", "HASH", "SET" or "ZSET". Cursor is the start for the current iteration. Match is the regexp for checking matched key. Count is the maximum retrieved elememts number, default is 10. +DESC for reverse iterator. **Return value** @@ -2410,20 +2415,33 @@ ledis>xscan "KV" "c" count 1 2) [] ``` -### XHSCAN key cursor [MATCH match] [COUNT count] +### XHSCAN key cursor [MATCH match] [COUNT count] [ASC|DESC] -Same like [XSCAN type cursor [MATCH match] [COUNT count]](#xscan-type-cursor-match-match-count-count), but return array of elements +Same like XSCAN, but return array of elements. contains two elements, a field and a value. -### XSSCAN key cursor [MATCH match] [COUNT count] +### XSSCAN key cursor [MATCH match] [COUNT count] [ASC|DESC] -Same like [XSCAN type cursor [MATCH match] [COUNT count]](#xscan-type-cursor-match-match-count-count) +Same like XSCAN. -### XZSCAN key cursor [MATCH match] [COUNT count] +### XZSCAN key cursor [MATCH match] [COUNT count] [ASC|DESC] -Same like [XSCAN type cursor [MATCH match] [COUNT count]](#xscan-type-cursor-match-match-count-count), but return array of elements +Same like XSCAN, but return array of elements. contains two elements, a member and its associated score. +## Sort + +### XLSORT key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC|DESC] [ALPHA] [STORE destination] + +Returns or stores the elements contained in the list at key. + +### XSSORT key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC|DESC] [ALPHA] [STORE destination] + +Returns or stores the elements contained in the set at key. + +### XZSORT key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC|DESC] [ALPHA] [STORE destination] + +Returns or stores the elements contained in the zset at key. ## Replication