-struct redisCommand {
- char *name;
- int arity;
- int flags;
-};
-
-static struct redisCommand cmdTable[] = {
- {"get",2,REDIS_CMD_INLINE|REDIS_CMD_BULKREPLY},
- {"set",3,REDIS_CMD_BULK|REDIS_CMD_RETCODEREPLY},
- {"setnx",3,REDIS_CMD_BULK|REDIS_CMD_INTREPLY},
- {"del",2,REDIS_CMD_INLINE|REDIS_CMD_INTREPLY},
- {"exists",2,REDIS_CMD_INLINE|REDIS_CMD_INTREPLY},
- {"incr",2,REDIS_CMD_INLINE|REDIS_CMD_INTREPLY},
- {"decr",2,REDIS_CMD_INLINE|REDIS_CMD_INTREPLY},
- {"rpush",3,REDIS_CMD_BULK|REDIS_CMD_RETCODEREPLY},
- {"lpush",3,REDIS_CMD_BULK|REDIS_CMD_RETCODEREPLY},
- {"rpop",2,REDIS_CMD_INLINE|REDIS_CMD_BULKREPLY},
- {"lpop",2,REDIS_CMD_INLINE|REDIS_CMD_BULKREPLY},
- {"llen",2,REDIS_CMD_INLINE|REDIS_CMD_INTREPLY},
- {"lindex",3,REDIS_CMD_INLINE|REDIS_CMD_BULKREPLY},
- {"lset",4,REDIS_CMD_BULK|REDIS_CMD_RETCODEREPLY},
- {"lrange",4,REDIS_CMD_INLINE|REDIS_CMD_MULTIBULKREPLY},
- {"ltrim",4,REDIS_CMD_INLINE|REDIS_CMD_RETCODEREPLY},
- {"lrem",4,REDIS_CMD_BULK|REDIS_CMD_INTREPLY},
- {"sadd",3,REDIS_CMD_BULK|REDIS_CMD_INTREPLY},
- {"srem",3,REDIS_CMD_BULK|REDIS_CMD_INTREPLY},
- {"sismember",3,REDIS_CMD_BULK|REDIS_CMD_INTREPLY},
- {"scard",2,REDIS_CMD_INLINE|REDIS_CMD_INTREPLY},
- {"sinter",-2,REDIS_CMD_INLINE|REDIS_CMD_MULTIBULKREPLY},
- {"sinterstore",-3,REDIS_CMD_INLINE|REDIS_CMD_RETCODEREPLY},
- {"smembers",2,REDIS_CMD_INLINE|REDIS_CMD_MULTIBULKREPLY},
- {"incrby",3,REDIS_CMD_INLINE|REDIS_CMD_INTREPLY},
- {"decrby",3,REDIS_CMD_INLINE|REDIS_CMD_INTREPLY},
- {"randomkey",1,REDIS_CMD_INLINE|REDIS_CMD_SINGLELINEREPLY},
- {"select",2,REDIS_CMD_INLINE|REDIS_CMD_RETCODEREPLY},
- {"move",3,REDIS_CMD_INLINE|REDIS_CMD_INTREPLY},
- {"rename",3,REDIS_CMD_INLINE|REDIS_CMD_RETCODEREPLY},
- {"renamenx",3,REDIS_CMD_INLINE|REDIS_CMD_INTREPLY},
- {"keys",2,REDIS_CMD_INLINE|REDIS_CMD_BULKREPLY},
- {"dbsize",1,REDIS_CMD_INLINE|REDIS_CMD_INTREPLY},
- {"ping",1,REDIS_CMD_INLINE|REDIS_CMD_RETCODEREPLY},
- {"echo",2,REDIS_CMD_BULK|REDIS_CMD_BULKREPLY},
- {"save",1,REDIS_CMD_INLINE|REDIS_CMD_RETCODEREPLY},
- {"bgsave",1,REDIS_CMD_INLINE|REDIS_CMD_RETCODEREPLY},
- {"shutdown",1,REDIS_CMD_INLINE|REDIS_CMD_RETCODEREPLY},
- {"lastsave",1,REDIS_CMD_INLINE|REDIS_CMD_INTREPLY},
- {"type",2,REDIS_CMD_INLINE|REDIS_CMD_SINGLELINEREPLY},
- {"flushdb",1,REDIS_CMD_INLINE|REDIS_CMD_RETCODEREPLY},
- {"flushall",1,REDIS_CMD_INLINE|REDIS_CMD_RETCODEREPLY},
- {"sort",-2,REDIS_CMD_INLINE|REDIS_CMD_MULTIBULKREPLY},
- {"info",1,REDIS_CMD_INLINE|REDIS_CMD_BULKREPLY},
- {"mget",-2,REDIS_CMD_INLINE|REDIS_CMD_MULTIBULKREPLY},
- {NULL,0,0}
-};
-
-static struct redisCommand *lookupCommand(char *name) {
- int j = 0;
- while(cmdTable[j].name != NULL) {
- if (!strcasecmp(name,cmdTable[j].name)) return &cmdTable[j];
- j++;
- }
- return NULL;
-}