Redis事务
用法
事务中的错误
为什么 Redis 不支持回滚(roll back)
放弃事务
使用 check-and-set 操作实现乐观锁
了解 WATCH
使用 WATCH 实现 ZPOP
Redis 脚本和事务
key事件通知(Redis keyspace notifications)
事件类型
配置
不同的命令生成的事件
过期事件的时间安排
管道
请求/响应协议和RTT
Redis 管道(Pipelining)
管道(Pipelining) VS 脚本(Scripting)
Redis命令
Cluster
CLUSTER ADDSLOTS slot [slot ...]
CLUSTER COUNT-FAILURE-REPORTS node-id
CLUSTER COUNTKEYSINSLOT slot
CLUSTER DELSLOTS slot [slot ...]
CLUSTER FAILOVER [FORCE|TAKEOVER]
......
Connection
AUTH password
ECHO message
PING
QUIT
SELECT index
SWAPDB index index
Geo(地理位置命令)
Hashes
HDEL key field [field ...]
HEXISTS key field
HGET key field
HGETALL key
HINCRBY key field increment
HINCRBYFLOAT key field increment
HKEYS key
HLEN key
HMGET key field [field ...]
HMSET key field value [field value ...]
HSCAN key cursor [MATCH pattern] [COUNT count]
HSET key field value
HSETNX key field value
HSTRLEN key field
HVALS key
HyperLogLog
PFADD key element [element ...]
PFCOUNT key [key ...]
PFMERGE destkey sourcekey [sourcekey ...]
Keys
DEL key [key ...]
DUMP key
EXISTS key [key ...]
EXPIRE key seconds
EXPIREAT key timestamp
KEYS pattern
MIGRATE host port key destination-db timeout [COPY] [REPLACE]
MOVE key db
OBJECT subcommand [arguments [arguments ...]]
PERSIST key
PEXPIRE key milliseconds
PEXPIREAT key milliseconds-timestamp
PTTL key
RANDOMKEY
RENAME key newkey
RENAMENX key newkey
RESTORE key ttl serialized-value [REPLACE]
SCAN cursor [MATCH pattern] [COUNT count]
SORT key [BY pattern] [LIMIT offset count] [GET pattern] [ASC|DESC] [ALPHA] destination
TOUCH key [key ...]
TTL key
TYPE key
UNLINK key [key ...]
WAIT numslaves timeout
Lists
BLPOP key [key ...] timeout
BRPOP key [key ...] timeout
BRPOPLPUSH source destination timeout
LINDEX key index
LINSERT key BEFORE|AFTER pivot value
LLEN key
LPOP key
LPUSH key value [value ...]
LPUSHX key value
LRANGE key start stop
LREM key count value
LSET key index value
LTRIM key start stop
RPOP key
RPOPLPUSH source destination
RPUSH key value [value ...]
RPUSHX key value
Pub/Sub
PSUBSCRIBE pattern [pattern ...]
PUBLISH channel message
PUBSUB subcommand [argument [argument ...]]
PUNSUBSCRIBE [pattern [pattern ...]]
SUBSCRIBE channel [channel ...]
UNSUBSCRIBE [channel [channel ...]]
Scripting
EVAL script numkeys key [key ...] arg [arg ...]
EVALSHA sha1 numkeys key [key ...] arg [arg ...]
SCRIPT DEBUG YES|SYNC|NO
SCRIPT EXISTS script [script ...]
SCRIPT FLUSH
SCRIPT KILL
SCRIPT LOAD script
Server
CLIENT KILL [ip:port] [ID client-id] [normal|slave|pubsub] [ADDR ip:port] [SKIPME yes/no]
CLIENT LIST
CLIENT PAUSE timeout
CLIENT REPLY ON|OFF|SKIP
......
Sets
SADD key member [member ...]
SCARD key
SDIFF key [key ...]
SDIFFSTORE destination key [key ...]
SINTER key [key ...]
SINTERSTORE destination key [key ...]
SISMEMBER key member
SMEMBERS key
SMOVE source destination member
SPOP key [count]
SRANDMEMBER key [count]
SREM key member [member ...]
SSCAN key cursor [MATCH pattern] [COUNT count]
SUNION key [key ...]
SUNIONSTORE destination key [key ...]
Sorted Sets
ZADD key [NX|XX] [CH] [INCR] score member [score member ...]
ZCARD key
ZCOUNT key min max
ZINCRBY key increment member
ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight] [SUM|MIN|MAX]
.......
Strings
APPEND key value
BITCOUNT key [start end]
BITFIELD key [GET type offset] [SET type offset value] [INCRBY type offset increment] [OVERFLOW WRAP|SAT|FAIL]
BITOP operation destkey key [key ...]
BITPOS key bit [start] [end]
DECR key
DECRBY key decrement
GET key
GETBIT key offset
GETRANGE key start end
GETSET key value
INCR key
INCRBY key increment
INCRBYFLOAT key increment
MGET key [key ...]
MSET key value [key value ...]
MSETNX key value [key value ...]
PSETEX key milliseconds value
SET key value [EX seconds] [PX milliseconds] [NX|XX]
SETBIT key offset value
SETEX key seconds value
SETNX key value
SETRANGE key offset value
STRLEN key
Transactions
DISCARD
EXEC
MULTI
UNWATCH
WATCH key [key ...]