1、数据类型命令

1.命令不区分大小写,而key是区分大小写的

centos redis 键值 大小写_redis

2.永远的帮助命令,help @类型

help @string

help @list

help @hash

help @hyperloglog

centos redis 键值 大小写_centos redis 键值 大小写_02

2、字符串(String)

centos redis 键值 大小写_缓存_03

单值单value

案例:

1.最常用:set key value | get key

centos redis 键值 大小写_redis_04

返回值:

设置成功则返回OK,返回nil为未执行Set命令,如不满足NX,XX条件等。

若使用GET参数,则返回该键原来的值,或在键不存在时nil。

centos redis 键值 大小写_集合运算_05

如何获得设置指定的key过期的Unix时间,单位为秒

System.out.println(Long.toString(System.currentTimeMillis()/1000L));

centos redis 键值 大小写_集合运算_06

2.同时设置/获取多个键值

MSET key value [key value...]

MGET key [key ...]

mset/mget/msetnx

centos redis 键值 大小写_数据库_07

3.获取指定区间范围内的值

getrange/setrange

centos redis 键值 大小写_centos redis 键值 大小写_08

4.数值增减

一定要是数据才能进行加减

递增数字:INCR key

增加指定的整数:INCRBY key increment

递减数值:DECR key

减少指定的整数:DECRBY key decrement

centos redis 键值 大小写_centos redis 键值 大小写_09

5.获取字符串长度和内容追加

获取字符串长度:strlen key

字符串内容追加:append key value

centos redis 键值 大小写_redis_10

6.分布式锁

setnx key value

setex(set with expire)键秒值/setnx(set if not exist)

centos redis 键值 大小写_redis_11

7.getset(先get再set)

getset:将给定key的值设为value,并返回key的旧值(old value)。

简单一句话:先get然后立即set

centos redis 键值 大小写_数据库_12

3、列表(List)

centos redis 键值 大小写_centos redis 键值 大小写_13

单key多value

简单说明:一个双端链表的结构,容量是2的32次方减1个元素大概40多亿,主要功能有push/pop等,一般用在栈、队列、消息队列等场景。left、right都可以插入添加;

如果键不存在,创建新的链表;

如果键已存在,新增内容;

如果值全移除,对应的键也就消失了

它的底层实际上就是个双向链表,对两端的作性能很高,通过索引下标的操作中间的节点性能会较差

centos redis 键值 大小写_centos redis 键值 大小写_14

案例:

1.lpush/rpush/lrange 注:没有rrange

centos redis 键值 大小写_集合运算_15

2.lpop/rpop

centos redis 键值 大小写_缓存_16

3.lindex,按照索引下标获得元素(从上到下)

centos redis 键值 大小写_缓存_17

4.llen,获取List列表中元素的个数

centos redis 键值 大小写_缓存_18

5.lrem key 数字N 给定值v1

解释:删除N个值等于v1的元素

从left往right删除2个值等于v1的元素,返回的值为实际删除的数量

LREM list3 0 值,表示删除全部给定的值,零个就是全部值

centos redis 键值 大小写_缓存_19

6.ltrim key 开始index 结束index

截取指定范围的值后在赋值给key

centos redis 键值 大小写_数据库_20

7.rpoplpush 源列表 目的列表

移除列表的最后一个元素,并将该元素添加到另一个列表并返回

centos redis 键值 大小写_数据库_21

8.lset key index value

让指定数组集合的小标位置值替换成新值

centos redis 键值 大小写_缓存_22

9.linsert key before/after 已有值 插入的新值

centos redis 键值 大小写_centos redis 键值 大小写_23

4、哈希(Hash)

KV模式不变,但V是一个键值对 Map<String, Map<Object, Object>>

案例:

1.hset/hget/hmset/hmget/hgetall/hdel

centos redis 键值 大小写_数据库_24

2.hlen

获取某个key内的全部数量

centos redis 键值 大小写_缓存_25

3.hexists key 在key里面的某个值的key

centos redis 键值 大小写_redis_26

4.hkeys/hvals

hkeys key 查询出所有key对应的子key值

hvals key 查询出所有key对应的子key的value值

centos redis 键值 大小写_redis_27

5.hincrby/hincrbyfloat

centos redis 键值 大小写_数据库_28

6.hsetnx

不存在赋值,存在了无效

centos redis 键值 大小写_集合运算_29

5、集合(Set)

单值多value,且无重复

案例:

1.SADD key member [member ...]

添加元素,可以多次向同一个key中设置不同值,不会覆盖之前的值

2.SMEMBERS key

遍历集合中的所有元素

3.SISMEMBER key member

判断元素是否在集合中

centos redis 键值 大小写_数据库_30

4.SREM key member [member ...]

删除元素

centos redis 键值 大小写_redis_31

5.scard

获取集合里面的元素个数

centos redis 键值 大小写_缓存_32

6.SRANDMEMBER key [数字]

从集合中随机展现设置的数字个数展现设置的数字个数元素,元素不删除

centos redis 键值 大小写_集合运算_33

7.SPOP key [数字]

从集合中随机弹出弹出一个元素,出一个删除一个

centos redis 键值 大小写_缓存_34

8. smove key1 key2

将key1里已存在的某个值赋给key2

centos redis 键值 大小写_数据库_35

9.集合运算-集合的差集运算A-B

属于A但是不属于B的元素构成的集合

SDIFF key [key ...],可以计算多个元素的差集

centos redis 键值 大小写_数据库_36

10.集合运算-集合的并集运算A∪B

属于A或者属于B的元素构成的集合

SUNION key [key ...]

centos redis 键值 大小写_centos redis 键值 大小写_37

11.集合运算-集合的交集运算A∩B

属于A同时也属于B的共同拥有的元素构成的集合

SINTER key [key ...]

centos redis 键值 大小写_centos redis 键值 大小写_38

SINTERCARD numkeys key 【key ...】【LIMIT limit】

numkeys 的具体值由输入的key个数决定

SINTERCARD 为redis7新命令,它不返回结果集,而是返回结果的基数。返回由所有给定集合的交集产生的集合的基数

基数的词语解释: 用于表示事物个数的数

centos redis 键值 大小写_redis_39

![](images/50.set-sintercard limit.png)

6、有序集合Zset(sorted set)

在set基础上,每个val值前加一个score分数值。之前set是k1 v1 v2 v3,现在zset是 k1 score1 v1 score2 v2

案例:

向有序集合中加入一个元素和该元素的分数

1.ZADD key score member [score member ...]

添加元素

2.ZRANGE key start stop [WITHSCORES]

按照元素分数从小到大的顺序返回索引从start到stop之间的所有元素

centos redis 键值 大小写_集合运算_40

3.zrevrange key start stop [WITHSCORES]

反转集合,按照元素分数从大到小的顺序返回索引从start到stop之间的所有元素

centos redis 键值 大小写_缓存_41

4.ZRANGEBYSCORE key min max 【WITHSCORES】【LIMIT offset count】

获取指定分数范围的元素,可以在min和max前面加个(,表示不包含

limit作用是返回限制,limit开始下标步,一共多少步

centos redis 键值 大小写_redis_42

5.ZSCORE key member

获取元素的分数

6.ZCARD key

获取集合中元素的数量

centos redis 键值 大小写_数据库_43

7. zrem key member [member ...]

某个score对应的value值,作用是删除元素

centos redis 键值 大小写_缓存_44

8.ZINCRBY key increment member

增加某个元素的分数

centos redis 键值 大小写_redis_45

9.ZCOUNT key min max

获得指定分数内的元素个数

centos redis 键值 大小写_集合运算_46

10.ZMPOP numkeys key [key ...] MIN|MAX [COUNT count]

从键名列表中的第一个非空排序集中弹出一个或多个元素,他们是成员分数对

centos redis 键值 大小写_数据库_47

11.zrank key member [withscore]

作用是通过子value获得下标值

12.zrevrank key member [withscore]

作用是通过子value逆序获得下标值

centos redis 键值 大小写_集合运算_48

 

本文为学习笔记,所参考文章均已附上链接,若有疑问请私信!

新手小白,欢迎留言指正!