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