Skip to content

Instantly share code, notes, and snippets.

@weaming
Last active October 24, 2019 07:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save weaming/4fca857ecdc7cb15fe5f4cc4efc4ee57 to your computer and use it in GitHub Desktop.
Save weaming/4fca857ecdc7cb15fe5f4cc4efc4ee57 to your computer and use it in GitHub Desktop.
"""
https://redis.io/commands
var xs = []; $('.command').each(function(i,x){xs.push($(x).text().trim())}); console.log(JSON.stringify(xs))
save output as x.json
"""
import json
data = json.load(open('x.json'))
print(len(data))
data = [[xx.strip() for xx in x.split('\n') if xx.strip()] for x in data]
json.dump(data, open('redis-commands.json', 'w'), indent=2)
data2 = [x[0] for x in data]
json.dump(data2, open('redis-commands-only.json', 'w'), indent=2)
def has_any(x, xs):
for y in xs:
if y in x:
return True
return False
data_write = [
x[0]
for x in data
if has_any(
x[0].lower(),
[
# 'value',
'set',
'reset',
'decr',
'incr',
'drop',
'flush',
'push',
'pop',
'add',
'del',
'rem',
'trim',
'ack',
'claim',
'insert',
'append',
'write',
'save',
'kill',
'pause',
'unblock',
'purge',
'migrate',
'load',
'unload',
'move',
'multi',
'persist',
'rename',
'restore',
'sync',
'unlink',
'swap',
],
)
and x[0] not in ['LASTSAVE']
]
json.dump(data_write, open('redis-commands-write.json', 'w'), indent=2)
[
"APPEND",
"AUTH",
"BGREWRITEAOF",
"BGSAVE",
"BITCOUNT",
"BITFIELD",
"BITOP",
"BITPOS",
"BLPOP",
"BRPOP",
"BRPOPLPUSH",
"BZPOPMIN",
"BZPOPMAX",
"CLIENT ID",
"CLIENT KILL",
"CLIENT LIST",
"CLIENT GETNAME",
"CLIENT PAUSE",
"CLIENT REPLY",
"CLIENT SETNAME",
"CLIENT UNBLOCK",
"CLUSTER ADDSLOTS",
"CLUSTER COUNT-FAILURE-REPORTS",
"CLUSTER COUNTKEYSINSLOT",
"CLUSTER DELSLOTS",
"CLUSTER FAILOVER",
"CLUSTER FORGET",
"CLUSTER GETKEYSINSLOT",
"CLUSTER INFO",
"CLUSTER KEYSLOT",
"CLUSTER MEET",
"CLUSTER NODES",
"CLUSTER REPLICATE",
"CLUSTER RESET",
"CLUSTER SAVECONFIG",
"CLUSTER SET-CONFIG-EPOCH",
"CLUSTER SETSLOT",
"CLUSTER SLAVES",
"CLUSTER REPLICAS",
"CLUSTER SLOTS",
"COMMAND",
"COMMAND COUNT",
"COMMAND GETKEYS",
"COMMAND INFO",
"CONFIG GET",
"CONFIG REWRITE",
"CONFIG SET",
"CONFIG RESETSTAT",
"DBSIZE",
"DEBUG OBJECT",
"DEBUG SEGFAULT",
"DECR",
"DECRBY",
"DEL",
"DISCARD",
"DUMP",
"ECHO",
"EVAL",
"EVALSHA",
"EXEC",
"EXISTS",
"EXPIRE",
"EXPIREAT",
"FLUSHALL",
"FLUSHDB",
"GEOADD",
"GEOHASH",
"GEOPOS",
"GEODIST",
"GEORADIUS",
"GEORADIUSBYMEMBER",
"GET",
"GETBIT",
"GETRANGE",
"GETSET",
"HDEL",
"HEXISTS",
"HGET",
"HGETALL",
"HINCRBY",
"HINCRBYFLOAT",
"HKEYS",
"HLEN",
"HMGET",
"HMSET",
"HSET",
"HSETNX",
"HSTRLEN",
"HVALS",
"INCR",
"INCRBY",
"INCRBYFLOAT",
"INFO",
"LOLWUT",
"KEYS",
"LASTSAVE",
"LINDEX",
"LINSERT",
"LLEN",
"LPOP",
"LPUSH",
"LPUSHX",
"LRANGE",
"LREM",
"LSET",
"LTRIM",
"MEMORY DOCTOR",
"MEMORY HELP",
"MEMORY MALLOC-STATS",
"MEMORY PURGE",
"MEMORY STATS",
"MEMORY USAGE",
"MGET",
"MIGRATE",
"MODULE LIST",
"MODULE LOAD",
"MODULE UNLOAD",
"MONITOR",
"MOVE",
"MSET",
"MSETNX",
"MULTI",
"OBJECT",
"PERSIST",
"PEXPIRE",
"PEXPIREAT",
"PFADD",
"PFCOUNT",
"PFMERGE",
"PING",
"PSETEX",
"PSUBSCRIBE",
"PUBSUB",
"PTTL",
"PUBLISH",
"PUNSUBSCRIBE",
"QUIT",
"RANDOMKEY",
"READONLY",
"READWRITE",
"RENAME",
"RENAMENX",
"RESTORE",
"ROLE",
"RPOP",
"RPOPLPUSH",
"RPUSH",
"RPUSHX",
"SADD",
"SAVE",
"SCARD",
"SCRIPT DEBUG",
"SCRIPT EXISTS",
"SCRIPT FLUSH",
"SCRIPT KILL",
"SCRIPT LOAD",
"SDIFF",
"SDIFFSTORE",
"SELECT",
"SET",
"SETBIT",
"SETEX",
"SETNX",
"SETRANGE",
"SHUTDOWN",
"SINTER",
"SINTERSTORE",
"SISMEMBER",
"SLAVEOF",
"REPLICAOF",
"SLOWLOG",
"SMEMBERS",
"SMOVE",
"SORT",
"SPOP",
"SRANDMEMBER",
"SREM",
"STRLEN",
"SUBSCRIBE",
"SUNION",
"SUNIONSTORE",
"SWAPDB",
"SYNC",
"PSYNC",
"TIME",
"TOUCH",
"TTL",
"TYPE",
"UNSUBSCRIBE",
"UNLINK",
"UNWATCH",
"WAIT",
"WATCH",
"ZADD",
"ZCARD",
"ZCOUNT",
"ZINCRBY",
"ZINTERSTORE",
"ZLEXCOUNT",
"ZPOPMAX",
"ZPOPMIN",
"ZRANGE",
"ZRANGEBYLEX",
"ZREVRANGEBYLEX",
"ZRANGEBYSCORE",
"ZRANK",
"ZREM",
"ZREMRANGEBYLEX",
"ZREMRANGEBYRANK",
"ZREMRANGEBYSCORE",
"ZREVRANGE",
"ZREVRANGEBYSCORE",
"ZREVRANK",
"ZSCORE",
"ZUNIONSTORE",
"SCAN",
"SSCAN",
"HSCAN",
"ZSCAN",
"XINFO",
"XADD",
"XTRIM",
"XDEL",
"XRANGE",
"XREVRANGE",
"XLEN",
"XREAD",
"XGROUP",
"XREADGROUP",
"XACK",
"XCLAIM",
"XPENDING"
]
[
"APPEND",
"BGREWRITEAOF",
"BGSAVE",
"BLPOP",
"BRPOP",
"BRPOPLPUSH",
"BZPOPMIN",
"BZPOPMAX",
"CLIENT KILL",
"CLIENT PAUSE",
"CLIENT SETNAME",
"CLIENT UNBLOCK",
"CLUSTER ADDSLOTS",
"CLUSTER DELSLOTS",
"CLUSTER RESET",
"CLUSTER SAVECONFIG",
"CLUSTER SET-CONFIG-EPOCH",
"CLUSTER SETSLOT",
"CONFIG REWRITE",
"CONFIG SET",
"CONFIG RESETSTAT",
"DECR",
"DECRBY",
"DEL",
"FLUSHALL",
"FLUSHDB",
"GEOADD",
"GETSET",
"HDEL",
"HINCRBY",
"HINCRBYFLOAT",
"HMSET",
"HSET",
"HSETNX",
"INCR",
"INCRBY",
"INCRBYFLOAT",
"LINSERT",
"LPOP",
"LPUSH",
"LPUSHX",
"LREM",
"LSET",
"LTRIM",
"MEMORY PURGE",
"MIGRATE",
"MODULE LOAD",
"MODULE UNLOAD",
"MOVE",
"MSET",
"MSETNX",
"MULTI",
"PERSIST",
"PFADD",
"PSETEX",
"READWRITE",
"RENAME",
"RENAMENX",
"RESTORE",
"RPOP",
"RPOPLPUSH",
"RPUSH",
"RPUSHX",
"SADD",
"SAVE",
"SCRIPT FLUSH",
"SCRIPT KILL",
"SCRIPT LOAD",
"SET",
"SETBIT",
"SETEX",
"SETNX",
"SETRANGE",
"SMOVE",
"SPOP",
"SREM",
"SWAPDB",
"SYNC",
"PSYNC",
"UNLINK",
"ZADD",
"ZINCRBY",
"ZPOPMAX",
"ZPOPMIN",
"ZREM",
"ZREMRANGEBYLEX",
"ZREMRANGEBYRANK",
"ZREMRANGEBYSCORE",
"XADD",
"XTRIM",
"XDEL",
"XACK",
"XCLAIM"
]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment