前言
前阶段写Redis
客户端作为学习和了解Redis Protocol
,基本上把Strintg
,List
,Hash
,Set
,SortedSet
五种基础类型的命令都写完了,本篇进行总结,也相当于复习一遍了。
STRING 命令
- SET KEY VALUE
*3
$3
SET
$6
set_20
$4
test
+OK
- GET KEY
*2
$3
GET
$6
get_21
$9
testValue
- APPEND KEY VALUE
*3
$6
APPEND
$9
append_29
$3
789
:9
- MSET KEY VALUE1 VALUE2
*9
$4
MSET
$4
key1
$6
value1
$4
key2
$6
value2
$4
key3
$6
value3
$4
key4
$6
value4
+OK
- SETRANGE KEY OFFSET VALUE
*4
$8
SETRANGE
$11
setrange_30
$1
3
$6
123456
:9
- STRLEN KEY
*2
$6
STRLEN
$9
strlen_31
:6
- MSETNX KEY VALUE1 VALUE2
*9
$6
MSETNX
$7
key1111
$6
value1
$7
key2222
$6
value2
$7
key3333
$6
value3
$7
key4444
$6
value4
:1
- SETNX KEY VALUE
*3
$5
SETNX
$8
setNxKey
$6
value1
:0
- PSETEX KEY EXPIRE VALUE
*4
$6
PSETEX
$8
setex_32
$4
2000
$4
test
+OK
- MGET KEY1 KEY2
*4
$4
MGET
$4
key1
$4
key2
$4
key3
*3
$6
value1
$6
value2
$6
value3
- SETBIT KEY INDEX VALUE
*4
$6
SETBIT
$9
setbit_33
$1
6
$1
1
:0
- GETBIT KEY INDEX
*3
$6
GETBIT
$9
getbit_34
$1
5
:1
- GETSET KEY VALUE
*3
$6
GETSET
$9
getset_35
$7
newtest
$4
test
- GETRANGE KEY START END
*4
$8
GETRANGE
$11
getrange_36
$1
0
$1
5
$6
test12
- INCR KEY
*2
$4
INCR
$7
incr_24
:1
- INCRBY KEY VALUE
*3
$6
INCRBY
$9
incrby_25
$2
10
:10
- DECR KEY
*2
$4
DECR
$7
decr_26
:-1
- DECRBY KEY VALUE
*3
$6
DECRBY
$9
decrby_27
$1
1
:-1
LIST 命令
- LPUSH KEY VALUE1 VALUE2
*5
$5
LPUSH
$8
lpush_53
$5
panzi
$8
xiaoming
$8
zhangsan
:3
- BLPOP KEY TIMEOUT
*3
$5
BLPOP
$8
blpop_54
$1
2
*2
$8
blpop_54
$6
value4
- BRPOP KEY TIMEOUT
*3
$5
BRPOP
$8
brpop_55
$1
2
*2
$8
brpop_55
$6
value1
- LINDEX KEY INDEX
*3
$6
LINDEX
$9
lindex_56
$1
2
$6
value2
- LLEN KEY
*2
$4
LLEN
$7
llen_57
:4
- LPOP KEY
*2
$4
LPOP
$7
lpop_58
$6
value4
- RPOP KEY
*2
$4
RPOP
$7
rpop_59
$6
value1
- RPUSH KEY VALUE1 VALUE2
*5
$5
RPUSH
$8
rpush_60
$5
panzi
$8
xiaoming
$8
zhangsan
:3
- RPUSHX KEY VALUE
*3
$6
RPUSHX
$9
rpushx_61
$5
test1
:5
- LPUSHX KEY VALUE
*3
$6
LPUSHX
$9
lpushx_62
$5
panzi
:0
- LTRIM KEY START END
*4
$5
LTRIM
$8
ltrim_63
$1
0
$1
2
+OK
- LSET KEY INDEX VALUE
*4
$4
LSET
$7
lset_64
$1
0
$8
valueset
+OK
- LREM KEY COUNT VALUE
*4
$4
LREM
$7
lrem_65
$1
1
$6
value4
:1
- LRANGE KEY START END
*4
$6
LRANGE
$9
lrange_66
$1
0
$1
2
*3
$6
value4
$6
value3
$6
value2
- LINSERT KEY BEFORE/AFTER PIVOT VALUE
*5
$7
LINSERT
$10
linsert_67
$6
BEFORE
$6
value1
$9
preValue1
:5
- RPOPLPUSH KEY DESTINATION
*3
$9
RPOPLPUSH
$12
rpoplpush_68
$15
rpoplpush_68des
$6
value1
- BRPOPLPUSH KEY DESTINATION TIMEOUT
*4
$10
BRPOPLPUSH
$13
brpoplpush_69
$16
brpoplpush_69des
$1
2
$6
value1
HASH 命令
- HSETNX KEY FIELD VALUE
*4
$6
HSETNX
$8
hsetnx_2
$8
hsetnx_1
$2
v1
:1
- HSET KEY FIELD VALUE
*4
$4
HSET
$5
user2
$2
f1
$2
v1
:1
- HLEN KEY
*2
$4
HLEN
$5
user2
:3
- HKEYS KEY
*2
$5
HKEYS
$5
user1
*3
$2
f1
$2
f2
$2
f3
- HMGET KEY FIELD1 FIELD2
*4
$5
HMGET
$5
user3
$2
f1
$2
f2
*2
$2
v1
$2
v2
- HMSET KEY FIELD1 VALUE1 FIELD2 VALUE2
*10
$5
HMSET
$5
user4
$4
key1
$6
value1
$4
key2
$6
value2
$4
key3
$6
value3
$4
key4
$6
value4
+OK
- HVALS KEY
*2
$5
HVALS
$5
user5
*3
$2
v1
$2
v2
$2
v3
- HEXISTS KEY FIELD
*3
$7
HEXISTS
$11
hashexist_3
$8
existkey
:1
- HDEL KEY FIELD
*3
$4
HDEL
$6
hdel_4
$6
delkey
:1
- HGET KEY FIELD
*3
$4
HGET
$9
hashget_5
$6
getkey
$5
value
- HGETALL
*2
$7
HGETALL
$9
hgetall_7
*6
$2
f1
$2
v1
$2
f2
$2
v2
$2
f3
$2
v3
- HINCRBY KEY FIELD INCREMENT
*4
$7
HINCRBY
$9
hincrby_8
$2
t1
$1
1
:1
SET 命令
- SADD KEY MEMBER1 MEMBER2
*8
$4
SADD
$10
sinter2_41
$1
1
$1
2
$1
3
$1
4
$1
5
$1
6
:6
- SINTERSTORE DESTINATION KEY1 KEY2
*4
$11
SINTERSTORE
$10
sinter3_42
$10
sinter2_41
$10
sinter1_40
:4
- SUNIONSTORE DESTINATION KEY1 KEY2
*4
$11
SUNIONSTORE
$10
sunion2_45
$9
sunion_43
$10
sunion1_44
:8
- SSCAN KEY CURSOR MATCH COUNT
*7
$5
SSCAN
$8
sscan_46
$1
0
$5
MATCH
$2
h*
$5
COUNT
$1
1
*2
$1
2
*1
$2
hi
- SPOP KEY
*2
$4
SPOP
$7
spop_47
$-1
- SISMEMBER KEY MEMBER
*3
$9
SISMEMBER
$12
sismember_48
$1
1
:1
- SREM KEY MEMBER1 MEMBER2
*3
$4
SREM
$7
srem_49
$1
1
:1
- SINTER KEY1 KEY2
*3
$6
SINTER
$10
sinter2_51
$10
sinter1_50
*4
$1
1
$1
2
$1
3
$1
4
- SUNION KEY1 KEY2
*3
$6
SUNION
$9
sunion_52
$10
sunion1_53
*8
$1
1
$1
2
$1
3
$1
4
$1
5
$1
6
$1
7
$1
8
- SRANDMEMBER KEY COUNT
*3
$11
SRANDMEMBER
$15
srandmembers_54
$1
6
*5
$1
1
$1
2
$1
3
$1
4
$1
5
- SMEMBERS KEY
*2
$8
SMEMBERS
$11
smembers_55
*3
$1
1
$1
2
$1
3
- SCARD KEY
*2
$5
SCARD
$8
scard_58
:4
- SDIFF KEY1 KEY2
*3
$5
SDIFF
$9
sdiff2_60
$9
sdiff1_59
*2
$1
5
$1
6
- SMOVE SOURCE DESTINATION MEMBER
*4
$5
SMOVE
$8
smove_61
$9
smove1_62
$1
1
:1
- SDIFFSTORE DESTINATION KEY1 KEY2
*4
$10
SDIFFSTORE
$9
sdiff3_66
$9
sdiff2_65
$9
sdiff1_64
:2
SORTED SET 命令
- ZRANGEBYLEX
*4
$11
ZRANGEBYLEX
$15
zrangebylex_236
$1
-
$7
[value3
*3
$6
value1
$6
value2
$6
value3
- ZCOUNT
*4
$6
ZCOUNT
$10
zcount_238
$1
1
$1
5
:5
- ZRANGEBYSCORE
*4
$13
ZRANGEBYSCORE
$17
zrangebyscore_239
$1
1
$1
3
*3
$6
value1
$6
value2
$6
value3
- ZREVRANGEBYSCORE
*8
$16
ZREVRANGEBYSCORE
$20
zrevrangebyscore_241
$1
3
$1
1
$10
WITHSCORES
$5
LIMIT
$1
0
$1
2
*4
$6
value3
$1
3
$6
value2
$1
2
- ZRANK
*3
$5
ZRANK
$9
zrank_244
$6
value4
$-1
- ZREVRANGEBYSCORE
*4
$16
ZREVRANGEBYSCORE
$17
zrangebyscore_246
$4
+inf
$4
-inf
*10
$7
value10
$6
value9
$6
value8
$6
value7
$6
value6
$6
value5
$6
value4
$6
value3
$6
value2
$6
value1
- ZREVRANK
*3
$8
ZREVRANK
$11
zrevank_248
$6
value4
:6
- ZRANGEBYSCORE
*8
$13
ZRANGEBYSCORE
$17
zrangebyscore_250
$3
1.0
$3
3.0
$10
WITHSCORES
$5
LIMIT
$1
0
$1
2
*4
$6
value1
$1
1
$6
value2
$1
2
- ZREMRANGEBYSCORE
*4
$16
ZREMRANGEBYSCORE
$20
zremrangebyscore_251
$3
1.0
$3
3.0
:3
- ZREM
*3
$4
ZREM
$8
zrem_253
$4
test
:0
- ZRANGEBYLEX
*7
$11
ZRANGEBYLEX
$15
zrangebylex_256
$7
(value1
$7
[value3
$5
LIMIT
$1
0
$1
1
*1
$6
value2
- ZREVRANGEBYSCORE
*8
$16
ZREVRANGEBYSCORE
$20
zrevrangebyscore_257
$3
3.0
$3
1.0
$10
WITHSCORES
$5
LIMIT
$1
0
$1
2
*4
$6
value3
$1
3
$6
value2
$1
2
- ZRANGEBYSCORE
*8
$13
ZRANGEBYSCORE
$17
zrangebyscore_258
$3
1.0
$3
3.0
$10
WITHSCORES
$5
LIMIT
$1
0
$1
2
*4
$6
value1
$1
1
$6
value2
$1
2
- ZINCRBY
*4
$7
ZINCRBY
$10
zcount_262
$1
1
$6
value1
$1
2
- ZSCORE
*3
$6
ZSCORE
$10
zscore_263
$6
value1
$-1
- ZCARD
*2
$5
ZCARD
$9
zcard_269
:10
- ZRANGE
*5
$6
ZRANGE
$10
zrange_272
$1
1
$2
-1
$10
WITHSCORES
*18
$6
value2
$1
2
$6
value3
$1
3
$6
value4
$1
4
$6
value5
$1
5
$6
value6
$1
6
$6
value7
$1
7
$6
value8
$1
8
$6
value9
$1
9
$7
value10
$2
10
- ZRANGEBYSCORE
*4
$13
ZRANGEBYSCORE
$17
zrangebyscore_275
$1
1
$1
3
*3
$6
value1
$6
value2
$6
value3
- ZLEXCOUNT
*4
$9
ZLEXCOUNT
$13
zlexcount_281
$7
[value1
$7
[value6
:6
- ZRANGEBYSCORE
*8
$13
ZRANGEBYSCORE
$17
zrangebyscore_283
$1
1
$1
3
$10
WITHSCORES
$5
LIMIT
$1
0
$1
2
*4
$6
value1
$1
1
$6
value2
$1
2
- ZREVRANGEBYSCORE
*8
$16
ZREVRANGEBYSCORE
$20
zrevrangebyscore_285
$3
3.0
$3
1.0
$10
WITHSCORES
$5
LIMIT
$1
0
$1
2
*4
$6
value3
$1
3
$6
value2
$1
2
- ZRANGEBYLEX
*4
$11
ZRANGEBYLEX
$15
zrangebylex_286
$7
[value1
$7
[value3
*3
$6
value1
$6
value2
$6
value3
- ZRANGEBYLEX
*7
$11
ZRANGEBYLEX
$15
zrangebylex_290
$7
[value1
$7
[value3
$5
LIMIT
$1
0
$1
1
*1
$6
value1
- ZREMRANGEBYRANK
*4
$15
ZREMRANGEBYRANK
$19
zremrangebyrank_291
$1
1
$1
5
:5
其他命令
- DEL KEY
*2
$3
DEL
$6
del_19
:1
- EXISTS KEY
*2
$6
EXISTS
$9
exists_18
:1
- SELECT
*2
$6
SELECT
$1
1
+OK
- PING
*1
$4
PING
+PONG