Redis命名大全地址:https://redis.io/commands

1. 3个通配符 * ? [] 查询当前有哪些keys,command: keys * 

*   - 通配多个字符,例:查找key=mysite, keys my*(表示my字符开头的keys)

? - 通配单个字符,例:查找key=mysite, 可以使用:keys my?ite

[]  -  通配中括号中的某一字符,例:查找key=mysite, 可以使用:keys my[rst]ite 

2. 随机返回key, command: randomkey

3. 判断key是否存在,command: exists mysite

4. 重命名key, command: rename mysite mysit # renamenx: 判断修改的名称不存在时才修改 

5. 删除key, command: del mysite

6. 移动key,将key=mysite移动到1号库,command: move mysite 1 # redis默认有16个库,分别是0,1,2,3....15进行编号,通过select index进行切换

7. 生命周期:

7.1. 查询key的生命周期,command: ttl mysite # 返回值单位为秒,如果返回-1表示永不过期,redis 2.8以后返回值为-2表示key不存在。pttl 生命周期单位为毫秒

7.2. 设置key的生命周期, command: expire mysite  100 # 100单位是秒。pexpire 设置生命周期单位为毫秒

7.3. 设置key不过期, command: persist mysite

8. 清空所有缓存,command: flushdb

-------------------------------------------5大数据结构之一: string常用命令-------------------------------------------

9. set 命令设置key时指定[ex | px], [nx | xx]的情况,command: set mysite www.baidu.com ex 100 nx

# ex - 表示key生命周期单位为秒,px- 表示毫秒

# nx - 表示key不存在时进行设置,xx - 表示key存在时才进行设置(也就是等同于修改操作)

补充:

# mset 命令, command: mset key1 key1value key2 key2value key3 key3value # mget同理列出keys即可取得相应keys的value

# setrange 命令,command: setrange mysite 7 ??? # 从第几个字符开始,替换多少个字段由???的长度确定。getrange myste 1 4 # 从下标1开始,4结束(如果结尾是负数则倒数)

redisson key规范 redis key操作_数据结构

10. append 追加字符,command: append mysite test 

redisson key规范 redis key操作_hg_02

11. getset 命令,command: getset mysite www.taobao.com # 取得上一次的值,并同时设置新址

redisson key规范 redis key操作_redisson key规范_03

12. incr 和 dec 增加和减少值,command: incr age # key=age, incrby 5和decrby可以指定增加和减少的粒度,例如一次增加10(command: incrby age 10), 以及按浮点数进行增加(command: incrbyfloat age 0.5).

redisson key规范 redis key操作_redisson key规范_04

13. setbit(getbit) 命令,大小写字母转换,command: setbit key 2 [0 | 1]

 

-------------------------------------------5大数据结构之二: list常用命令-------------------------------------------

14. lpush(rpush) 往list左边或右边追加值,command: lpush answer a b c d a b c d

redisson key规范 redis key操作_redisson key规范_05

15. lrange 取出list范围,command: lrange answer 0 3 # 从右边开始计数,将结尾的计数值3换成负数即可

redisson key规范 redis key操作_链表_06

redisson key规范 redis key操作_数据结构_07

16. lpop(rpop) 取出list并弹出相应值,command: lpop answer

redisson key规范 redis key操作_redisson key规范_08

17. lrem 从链表中删除值, command: lrem answer 1 c # 数据1表示删除的个数,c表示删除值

redisson key规范 redis key操作_redisson key规范_09

从左开始删除链表中2个值为d的item, command: lrem answer 2 d

redisson key规范 redis key操作_链表_10

从右开始删除链表中1个值为b的item, comand: lrem answer -1 b

redisson key规范 redis key操作_链表_11

18. ltrim 剪切,command: ltrim chars 3 -1

redisson key规范 redis key操作_hg_12

19. lindex 获取特定索引的值, command: lindex chars 2

redisson key规范 redis key操作_hg_13

20. llen 查看链表的长度,command: llen chars

redisson key规范 redis key操作_redisson key规范_14

21. linsert 在链表中找到某个值并在before or after插入特定值, command: linsert chars before d c  # before / after

redisson key规范 redis key操作_链表_15

22. rpoplpush 将链表的值取出放到另一链表的左(或右)边,command: rpoplpush tasks working

redisson key规范 redis key操作_hg_16

 应用场景:后台任务在链表中pop时,将值暂时存储到bak表,如果任务执行成功,删除bak表的值,如果失败再push回去再次执行。

23. brpop(blpop) 适用聊天场景

-------------------------------------------5大数据结构之三: set常用命令-------------------------------------------

24. sadd 添加元素,command: sadd week Sundy Monday Tuesday Wednesday # smembers key 查看集合元素

redisson key规范 redis key操作_数据结构_17

25. srem 删除元素,command: srem week Monday

redisson key规范 redis key操作_hg_18

26. spom 获取并删除相应的元素, command: spop week

redisson key规范 redis key操作_hg_19

27. srandmember 随机取出一个元素, command: srandmember week

28. sismember 返回给定的值在集合中是否存在,command: sismember week Tuesday

redisson key规范 redis key操作_数据结构_20

29. scard 查看总共有多少个元素, command: scard week

redisson key规范 redis key操作_数据结构_21

30. smove 在集合之间移动元素,command: smove upper lower B 

redisson key规范 redis key操作_redisson key规范_22

31. sinter 取交集, command: sinter key1 key2 key3   # sinterstore 存储取到的结果

redisson key规范 redis key操作_hg_23

 

redisson key规范 redis key操作_hg_24

 

32. sunion 取并集,command: sunion key1 key2 key3

redisson key规范 redis key操作_数据结构_25

33. sdiff 取差集, command: sdiff key1 key2 key3 # key1 - (key2 + key3 + ...)

redisson key规范 redis key操作_数据结构_26

 

-------------------------------------------5大数据结构之四:sorted set常用命令-------------------------------------------

34. zadd 添加元素,command: zadd key score1 value1 score2 value2 ... # 

redisson key规范 redis key操作_redisson key规范_27

35.  zrange 通过指定范围查询,command: zrange key startSortNumber endSortNumber [withscores] # 起始是指排名的名次,并不是score的值

redisson key规范 redis key操作_链表_28

36. zrangebyscore 通过指定范围的score值进行查询,

command: zrangebyscore key startScore endScore

redisson key规范 redis key操作_数据结构_29

 

command: zrangebyscore key startScore endScore limit count1 count2 # limit参数,count1表示偏移量,即跳过多少个,count2表示取多少元素

redisson key规范 redis key操作_链表_30

37. zrank(zrevrank降序排列) 查询元素的排序,command: zrank key value

redisson key规范 redis key操作_链表_31

redisson key规范 redis key操作_redisson key规范_32

-------------------------------------------5大数据结构之五:hash常用命令-------------------------------------------

38. hset(hmset) 设置hash值,command: hset key field1 value1 # hmset key field1 value1 field2 value2 field3 value3 ...

redisson key规范 redis key操作_链表_33

39. hget(hmget)获取指定的属性值(hash值),command: hget key field1 # hgetall key

redisson key规范 redis key操作_hg_34

40. hgetall 获取指定的属性值(hash值),command: hget key field1 # hgetall key

redisson key规范 redis key操作_hg_35

41. hdel 删除指定属性,command: hdel key field

redisson key规范 redis key操作_数据结构_36

42. hlen 查询特定key有几个属性,command: hlen key

redisson key规范 redis key操作_链表_37

43. hexists 查询特定属性是否存在, command: hexists key field

redisson key规范 redis key操作_数据结构_38

44. hincrby 增加key中指定属性的值,command: hincrby key field value # 指定hincrbyfloat参数将增加浮点数的方式增加值 

redisson key规范 redis key操作_数据结构_39

 

redisson key规范 redis key操作_redisson key规范_40

45. hkeys(hvals) 查看key中所有的属性(值),command: hkeys key # kvals key

redisson key规范 redis key操作_数据结构_41

 

 

至此,已列举完redis的各种数据结构的常用命令,加深印象。