Redis键(key)

命令:keys *

作用:查看当前库的所有键

redis常用命令 redis常用命令 keys_子串

命令:exists [key]

作用:判断某一个key是否存在

redis常用命令 redis常用命令 keys_Redis_02

命令:ttl [key]

作用:查看key还有多少秒过期,-1表示永不过期,-2表示已经过期

redis常用命令 redis常用命令 keys_子串_03

命令:expire [key] [second]

作用:给key设置过期时间,单位秒,过期后生命周期终结

redis常用命令 redis常用命令 keys_Redis_04

命令:type [key]

作用:查看key的类型

redis常用命令 redis常用命令 keys_子串_05

命令:del [key]

作用:删除key

redis常用命令 redis常用命令 keys_子串_06

Redis字符串(String)

命令:set [key] [value]

作用:设置字符串键值

redis常用命令 redis常用命令 keys_键值_07


如果key存在,这时候set进相同的key,那么会覆盖掉以前的value

redis常用命令 redis常用命令 keys_键值_08

命令:get [key]

作用:获取字符串值

redis常用命令 redis常用命令 keys_Redis_09

命令:append [key] [value]

作用:追加value到key中

redis常用命令 redis常用命令 keys_Redis_10

命令:strlen [key]

作用:获取value的长度

redis常用命令 redis常用命令 keys_redis_11

命令:incr [key]

作用:使key的value值加1(value必须为纯数字)

redis常用命令 redis常用命令 keys_子串_12

命令:incrby [key] [number]

作用:使key的value值加上number

redis常用命令 redis常用命令 keys_Redis_13

命令:decr [key]

作用:使key的value值减去1

redis常用命令 redis常用命令 keys_子串_14

命令:decrby [key] [number]

作用:使key的value值减去number

redis常用命令 redis常用命令 keys_键值_15

命令:getrange [key] [开始索引] [结束索引]

作用:截取子串

索引从0开始

redis常用命令 redis常用命令 keys_redis_16

命令:setrange [key] [开始索引] [子串]

作用:设置子串,从[开始索引]设置[子串]

redis常用命令 redis常用命令 keys_Redis_17

命令:setex [键] [秒] [值]

作用:设置键值的生存周期,单位为秒

redis常用命令 redis常用命令 keys_Redis_18


过期后生命周期终结,无法读取,-1为永不过期,-2为已经过期

命令:setnx [key] [value]

作用:设置key和value,如果有重复key返回0,无法设置,通过没有重复key则返回1,设置成功

redis常用命令 redis常用命令 keys_Redis_19

命令:mset [key] [value] [key] [value] [key] [value] ...

作用:设置多个键值,m代表more

redis常用命令 redis常用命令 keys_Redis_20

命令:mget [key] [key] [key] [key] ...

作用:获取多个键值,m代表more

redis常用命令 redis常用命令 keys_键值_21

命令:msetnx [key] [value] [key] [value] [key] [value] ...

作用:设置key和value,如果有重复key返回0,无法设置,通过没有重复key则返回1,设置成功

注意:如果有一个或多个键已经存在,那么全部都无法设置

redis常用命令 redis常用命令 keys_redis常用命令_22

Redis 集合(List)

单值多value

命令:lpush [listname] [value] [value] [value]...

作用: 设置一个集合,正进反出

redis常用命令 redis常用命令 keys_子串_23

命令:rpush [listname] [value] [value] [value]...

作用:设置一个集合,正进正出

redis常用命令 redis常用命令 keys_键值_24

命令:lrange [listname] [开始索引] [结束索引]

作用:截取[listname]的子串

命令:lpop [listname]

作用:栈顶出栈一个

注意:出栈后就没有在list里了

redis常用命令 redis常用命令 keys_redis常用命令_25


因为list01和list02采用的创建方式不一样,所以栈顶元素不一样

命令:rpop [listname]

作用:栈底出栈一个

注意:出栈后就没有在list里了

redis常用命令 redis常用命令 keys_redis常用命令_26

命令:lindex [listname] [索引]

作用:按照索引获得元素(从上到下)

redis常用命令 redis常用命令 keys_redis常用命令_27

命令:llen [listname]

作用:获取[listname]的长度

命令:lrem [listname] [n] [value]

作用:去除[listname]中的[n]个[value]

redis常用命令 redis常用命令 keys_redis常用命令_28

命令:ltrim [listname] [开始索引] [结束索引]

作用:将下标为[开始索引]到[结束索引]的值给截取出来后付给[listname]

redis常用命令 redis常用命令 keys_redis_29

命令:rpoplpush [listname1] [listname2]

作用:将 listname1 的栈底元素压到 listname2 的栈顶

redis常用命令 redis常用命令 keys_子串_30


redis常用命令 redis常用命令 keys_键值_31

命令:lset [listname] [index] [value]

作用:将索引处的值替换为value

redis常用命令 redis常用命令 keys_Redis_32

命令:linsert [listname] [before]/[after] [value1] [value2]

作用:在 value1 之前/之后 插入 value2

redis常用命令 redis常用命令 keys_Redis_33


redis常用命令 redis常用命令 keys_redis_34

性能总结

  • List是一个字符串链表,left、right都可以插入添加;
  • 如果键不存在,创建新的链表;如果键已存在,新增内容;
  • 如果值全移除,对应的键也就消失了。
  • 链表的操作无论是头和尾效率都极高,但假如是对中间元素进行操作,效率就很惨淡了。

Redis集合(Set)

单值多value不能重复

命令:sadd [setname] [value] [value] [value]...

作用:将 value 加到集合 setname 中,没有集合就创建并加入

redis常用命令 redis常用命令 keys_redis_35


如果有重复值,会自动去除

命令:smembers [setname]

作用:查看set集合中的value

redis常用命令 redis常用命令 keys_redis_36

命令:sismember [setname] [value]

作用:查看 setname 中是否存在 value ,存在返回1 ,不存在返回0

redis常用命令 redis常用命令 keys_键值_37

命令:scard [setname]

作用:查看 setname 集合中有多少元素

redis常用命令 redis常用命令 keys_redis_38

命令:srem [setname] [value]

作用:删除集合中的值

redis常用命令 redis常用命令 keys_子串_39

命令:srandmember [setname] [number]

作用:随机获取出 number 个数

redis常用命令 redis常用命令 keys_Redis_40

命令:spop [setname]

作用:随机出栈一个

redis常用命令 redis常用命令 keys_redis_41

命令:smove [setname1] [setname2] [value1]

作用:将 setname1 中的 value1 赋给 setname2

redis常用命令 redis常用命令 keys_redis常用命令_42


如果 setname1 中不存在value1 那将返回0,代表失败

命令:sdiff [setname1] [setname2] [setname3] ...

作用:查看两个或以上集合的差集(即第一个有,后面任何一个都没有的)

redis常用命令 redis常用命令 keys_键值_43

命令:sinter [setname1] [setname2] [setname3] ...

作用:查看两个或以上集合的交集

redis常用命令 redis常用命令 keys_redis_44

命令:sunion [setname1] [setname2] [setname3] ...

作用:查看两个或以上集合的并集

redis常用命令 redis常用命令 keys_Redis_45

Redis哈希(Hash)

K/V模式不变,但是V是一个键值对

命令:hset [keys] [key] [value]

作用:设置一个 hash,K为 keys,V为 key 和 value

redis常用命令 redis常用命令 keys_键值_46

命令:hget [keys] [key]

作用:获取 keys 的一个 key 值

redis常用命令 redis常用命令 keys_Redis_47

命令:hmset [keys] [key] [value] [key] [value] ...

作用:设置 keys 的多个 key 值

redis常用命令 redis常用命令 keys_redis_48

命令:hmget [keys] [key] [key] ...

作用:获取 keys 的多个 key 值

redis常用命令 redis常用命令 keys_redis_49

命令:hgetall [keys]

作用:获取 keys 的所有 key 键值

redis常用命令 redis常用命令 keys_子串_50

命令:hdel [keys] [key]

作用:删除 keys 中的一个 key 键值

redis常用命令 redis常用命令 keys_redis常用命令_51

命令:hlen [keys]

作用:查看 keys 中 key 的个数

redis常用命令 redis常用命令 keys_子串_52

命令:hexists [keys] [key]

作用:判断 keys 中是否含有 key

redis常用命令 redis常用命令 keys_redis_53

命令:hkeys [keys]

作用:查看 keys 中有多少个 key

redis常用命令 redis常用命令 keys_键值_54

命令:hvals [keys]

作用:查看 keys 的key值有哪些

redis常用命令 redis常用命令 keys_子串_55

命令:hincrby [keys] [key] [number]

作用:使 keys 中的 key 值加上 number(number必须为整数值)

redis常用命令 redis常用命令 keys_键值_56

命令:hincrbyfloat [keys] [key] [number]

作用:使 keys 中的 key 值加上 number (number必须为浮点数)

redis常用命令 redis常用命令 keys_子串_57

命令:hsetnx [keys] [key] [value]

作用:创建 keys 中的 key/value 键值对,如果存在键值对,返回0,创建失败,反之返回1,创建成功

redis常用命令 redis常用命令 keys_redis常用命令_58

Redis 有序集合(Zset)

set的基础上,加上一个score值(score从小到大,而自上而下排列,),
之前set为 k1 v1 v2 v3,
现在Zset为 k1 score1 v1 score2 v2

命令:zadd [zsetname] [score1] [value1] [score2] [value2] ...

作用:添加一个 zsetname 作为zset集合,值有 value1 value2 …

redis常用命令 redis常用命令 keys_redis常用命令_59

命令:zrange [zsetname] [开始索引] [结束索引] withscores

作用:查看 zsetname 中 开始索引 到 结束索引 的 value 值,后面的 withscore 可选,带上 withscores score 也会显示出来

redis常用命令 redis常用命令 keys_子串_60


redis常用命令 redis常用命令 keys_redis_61

命令:zrangebyscore [zsetname] [score1] [score2]

作用:获取 zsetname 中 score1 到 score 2 中间的 value

redis常用命令 redis常用命令 keys_redis_62


zrangebyscore [zsetname] ([score1] ([score2](代表不包含

redis常用命令 redis常用命令 keys_redis常用命令_63


redis常用命令 redis常用命令 keys_redis_64


redis常用命令 redis常用命令 keys_redis_65


zrangebyscore [zsetname] [score1] [score2] limit [开始索引] [步数]

limit代表限制返回结果的个数

redis常用命令 redis常用命令 keys_键值_66

命令:zrem [zsetname] [value]

作用:删除 zsetname 中值为 value 的项

redis常用命令 redis常用命令 keys_redis_67

命令:zcard [zsetname]

作用:获取 zsetname 中 value 的个数

redis常用命令 redis常用命令 keys_子串_68

命令:zcount [zsetname] [score1] [score2]

作用:统计 zsetname 中 score1 到score 2 的个数

redis常用命令 redis常用命令 keys_redis_69

命令:zrank [zsetname] [value]

作用:获取 zsetname 中值为 value 的下标

redis常用命令 redis常用命令 keys_键值_70

命令:zscore [zsetname] [value]

作用:获取 zsetname 中值为 value 的 score

redis常用命令 redis常用命令 keys_键值_71

命令:zrevrank [zsetname] [value]

作用:获取 zsetname 中值为 value 的项的逆序下标

redis常用命令 redis常用命令 keys_redis_72

命令:zrevrange [zsetname] [开始索引] [结束索引]

作用:获取 zsetname 中从 开始索引 到 结束索引 的逆序

redis常用命令 redis常用命令 keys_redis_73

命令:zrevrangebyscore [zsetname] [开始索引] [结束索引]

作用:获取 zsetname 中从 开始索引 到 结束索引 的逆序(开始索引和结束索引也要倒过来)

redis常用命令 redis常用命令 keys_redis_74