17. append 给指定 key 的字符串值追加 value,返回新字符串值的长度。
127.0.0.1:6379> append name haha
12
127.0.0.1:6379> get name
liudehuahaha
18. strlen 取指定 key 的 value 值的长度。
127.0.0.1:6379> strlen name
12
127.0.0.1:6379> strlen name999
0
19. hset 设置 hash field 为指定值,如果 key 不存在,则先创建
127.0.0.1:6379> hset hash1 f1 v1
1
127.0.0.1:6379> hset hash1 f12 v2
1
20. hsetnx 设置 hash field 为指定值,如果 key 不存在,则先创建。如果 field 已经存在,返回 0,nx 是not exist 的意思。
127.0.0.1:6379> hsetnx hash1 f1 v1
0
**第一次执行是成功的,但第二次执行相同的命令失败,原因是 field 已经存在了。**
21. hmset 同时设置 hash 的多个 field。
127.0.0.1:6379> hmset hash1 f1 v1 f2 v2
OK
22. hget 获取指定的 hash field。
127.0.0.1:6379> hget hash1 f1
v1
23. hmget 获取全部指定的 hash filed
127.0.0.1:6379> hmget hash1 f1 f2 f3
v1
v2
127.0.0.1:6379>
24. hincrby 指定的 hash filed 加上给定值。
127.0.0.1:6379> hincrby hash1 v1 "1"
1
127.0.0.1:6379> hincrby hash1 v1 "1"
2
127.0.0.1:6379> hincrby hash1 v1 "1"
3
25. hexists 测试指定 field 是否存在。
```sbtshell
127.0.0.1:6379> hexists hash1 f4
0
127.0.0.1:6379> hexists hash1 f1
1
```
26. hlen 返回指定 hash 的 field 数量
127.0.0.1:6379> hlen hash
0
127.0.0.1:6379> hlen hash1
4
27. hdel 删除指定字段
127.0.0.1:6379> hdel hash1 f1
1
127.0.0.1:6379> hlen hash1
3
28. hkeys 返回 hash 的所有 field
127.0.0.1:6379> hkeys hash1
f12
f2
v1
29. hvals 返回 hash 的所有 value
127.0.0.1:6379> hvals hash1
v2
v2
3
30. hgetall 获取某个 hash 中全部的 filed 及 value。
127.0.0.1:6379> hgetall hash1
f12
v2
f2
v2
v1
3
31. lpush 在 key 对应 list 的头部添加字符串元素
127.0.0.1:6379> lpush listA hello
1
127.0.0.1:6379> lpush listA world
2
127.0.0.1:6379> lrange listA 0 -1
world
hello
32. rpush在 key 对应 list 的尾部添加字符串元素
127.0.0.1:6379> rpush listB hello
1
127.0.0.1:6379> rpush listB world
2
127.0.0.1:6379> lrange listB 0 -1
hello
world
33. linsert 在 key 对应 list 的特定位置之前或之后添加字符串元素
127.0.0.1:6379> linsert listA before world abc
3
127.0.0.1:6379> linsert listA after world def
4
127.0.0.1:6379> lrange listA 0 -1
abc
world
def
hello
34. lset 设置 list 中指定下标的元素值(下标从 0 开始)
127.0.0.1:6379> lset listA 0 aaa
OK
127.0.0.1:6379> lset listA 2 bbb
OK
127.0.0.1:6379> lrange listA 0 -1
aaa
world
bbb
hello
35. lrem 从 key 对应 list 中删除 count 个和 value 相同的元素。
count>0 时,按从头到尾的顺序删除
count<0 时,按从尾到头的顺序删除
count=0 时,删除全部
127.0.0.1:6379> lpush listA aaa
5
127.0.0.1:6379> lpush listA aaa
6
127.0.0.1:6379> lpush listA aaa
7
127.0.0.1:6379> lrange listA 0 -1
aaa
aaa
aaa
aaa
world
bbb
hello
127.0.0.1:6379> lrem listA 3 aaa
3
127.0.0.1:6379> lrange listA 0 -1
aaa
world
bbb
hello
36. ltrim ????
37. lpop从 list 的头部删除元素,并返回删除元素
127.0.0.1:6379> lpush listA aaaa
1
127.0.0.1:6379> lpush listA bbbb
2
127.0.0.1:6379> lpush listA cccc
3
127.0.0.1:6379> lrange listA 0 -1
cccc
bbbb
aaaa
127.0.0.1:6379> lpop listA
cccc
127.0.0.1:6379> lrange listA 0 -1
bbbb
aaaa
38. rpop 从 list 的尾部删除元素,并返回删除元素
127.0.0.1:6379> rpop listA
aaaa
127.0.0.1:6379> lrange listA 0 -1
bbbb
39. rpoplpush 从第一个 list 的尾部移除元素并添加到第二个 list 的头部,最后返回被移除的元素值,整个操
作是原子的.如果第一个 list 是空或者不存在返回 nil
127.0.0.1:6379> rpoplpush listB listA
world
127.0.0.1:6379> lrange listB 0 -1
hello
127.0.0.1:6379> lrange listA 0 -1
world
bbbb
40. lindex 返回名称为 key 的 list 中 index 位置的元素
127.0.0.1:6379> lindex listA 1
bbbb
127.0.0.1:6379> lindex listA 0
world
41. llen 返回 key 对应 list 的长度
127.0.0.1:6379> llen listA
2