尚硅谷学习笔记---Redis常用命令

Redis常用命令

Redis 键(key)

  1. 查看当前库所有关键字
keys *
  1. 判断某个key是否存在
exists key的名字,
  1. 移动一个值到指定数据库
move key的名字 库索引
  1. 设置key过期时长
expire key的名称 秒数
  1. 查看key还有多长时间过期(-1表示永不过期,-2表示已过期)
ttl key的名字
  1. 查看key的数据类型
type key

Redis字符(String)

  • 基本操作: set/get/del/append/strlen
  • 设置字符型值
set key的名称 value值
  • 根据一个key的名称获取对应的值
get key的名字
  • 删除key
del key名称 key的名称......
  • 获取字符串长度
strlen key的名字
  • 自增&自减:Incr/decr/incrby/decrby(字符内容必须为数字才可以操作)
  1. 使指定值自增1
incr key的名字
  1. 使指定值自减1
decr key的名字
  1. 自增指定数量
incrby key的名字
  1. 自减指定数量
decrby key的名字
  • 字符串截取: getrange/setrange

getrange:获取指定区间范围内的值,类似between…and的关系
从零到负一表示全部

setrange设置指定区间范围内的值,格式是setrange key值 具体值

  1. 获取指定子字符串
getrange langString 开始位置索引 结束位置索引
  1. 替换字符串
 setrange langString 偏移位置 替换值
  • setex(set with expire)键秒值/setnx(set if not exist)
  • SETEX :将值 value 关联到 key ,并将 key 的生存时间设为 seconds (以秒为单位)。如果 key 已经存在, SETEX 命令将覆写旧值。
SETEX key的名称 秒数 值
  • SETNX key value:将 key 的值设为 value ,当且仅当 key 不存在。若给定的 key 已经存在则 SETNX 不做任何动作。SETNX 是『SET if Not eXists』(如果不存在,则 SET)的简写。
setnx key的名字 值

  • mset/mget/msetnx
  1. MSET key value [key value …]
  • 同时设置一个或多个 key-value 对。
    如果某个给定 key 已经存在,那么 MSET 会用新值覆盖原来的旧值,如果这不是你所希望的效果,请考虑使用 MSETNX 命令:它只会在所有给定 key 都不存在的情况下进行设置操作。
    MSET 是一个原子性(atomic)操作,所有给定 key 都会在同一时间内被设置,某些给定 key 被更新而另一些给定 key 没有改变的情况,不可能发生
  1. MGET key [key …]
  • 返回所有(一个或多个)给定 key 的值。如果给定的 key 里面,有某个 key 不存在,那么这个 key 返回特殊值 nil 。因此,该命令永不失败。
  1. MSETNX key value [key value …]
  • 同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在。
    即使只有一个给定 key 已存在, MSETNX 也会拒绝执行所有给定 key 的设置操作。
    MSETNX 是原子性的,因此它可以用作设置多个不同 key 表示不同字段(field)的唯一性逻辑对象(unique logic object),所有字段要么全被设置,要么全不被设置。

  • getset(先get再set)

  • GETSET key value:将给定 key 的值设为 value ,并返回 key 的旧值(old value)。当 key 存在但不是字符串类型时,返回一个错误。

Redis列表(list)

命令语法说明
lpushLPUSH key value [value …]将一个或多个值 value 插入到列表 key 的表头
rpushRPUSH key value [value …]将一个或多个值 value 插入到列表 key 的表尾(最右边)。
lrangeLRANGE key start stop返回列表 key 中指定区间内的元素,区间以偏移量 start 和 stop 指定
lpopLPOP key移除并返回列表 key 的头元素
rpopRPOP key移除并返回列表 key 的尾元素。
lindexLINDEX key index返回列表 key 中,下标为 index 的元素。
llenLLEN key返回列表 key 的长度。
lremLREM key count value根据参数 count 的值,移除列表中与参数 value 相等的元素。
ltrimLTRIM key start stop对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。
rpoplpushRPOPLPUSH source destination命令 RPOPLPUSH 在一个原子时间内,执行以下两个动作: 1.将列表 source 中的最后一个元素(尾元素)弹出,并返回给客户端。2. 将 source 弹出的元素插入到列表 destination ,作为 destination 列表的的头元素。
lsetLSET key index value将列表 key 下标为 index 的元素的值设置为 value 。
linsertLINSERT key BEFORE|AFTER pivot value将值 value 插入到列表 key 当中,位于值 pivot 之前或之后。
  • 列表总结
  • 它是一个字符串链表,left、right都可以插入添加;
    如果键不存在,创建新的链表;
    如果键已存在,新增内容;
    如果值全移除,对应的键也就消失了。
    链表的操作无论是头和尾效率都极高,但假如是对中间元素进行操作,效率就很惨淡了。

Redis集合

命令语法说明
saddSADD key member [member …]将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略.
smembersSMEMBERS key返回集合 key 中的所有成员。不存在的 key 被视为空集合。
sismemberSISMEMBER key member判断 member 元素是否集合 key 的成员。
scardSCARD key返回集合 key 的基数(集合中元素的数量)。
sremSREM key member [member …]移除集合 key 中的一个或多个 member 元素,不存在的 member 元素会被忽略。
srandmemberSRANDMEMBER key [count]如果命令执行时,只提供了 key 参数,那么返回集合中的一个随机元素。
spopSPOP key移除并返回集合中的一个随机元素。
smoveSMOVE source destination member将 member 元素从 source 集合移动到 destination 集合。
sdiffSDIFF key [key …]返回一个集合的全部成员,该集合是所有给定集合之间的差集。
sinterSINTER key [key …]返回一个集合的全部成员,该集合是所有给定集合的交集。
sunionSUNION key [key …]返回一个集合的全部成员,该集合是所有给定集合的并集。

Redis哈希(hash)

  • KV模式不变,但V是一个键值对
命令语法说明
hsetHSET key field value将哈希表 key 中的域 field 的值设为 value 。
hgetHGET key field返回哈希表 key 中给定域 field 的值。
hmsetHMSET key field value [field value …]同时将多个 field-value (域-值)对设置到哈希表 key 中。
hmgetHMGET key field [field …]返回哈希表 key 中,一个或多个给定域的值。
hgetallHGETALL key返回哈希表 key 中,所有的域和值。
hdelHDEL key field [field …]删除哈希表 key 中的一个或多个指定域,不存在的域将被忽略。
hlenHLEN key返回哈希表 key 中域的数量。
hexistsHEXISTS key field查看哈希表 key 中,给定域 field 是否存在。
hkeysHKEYS key返回哈希表 key 中的所有域。
hvalsHVALS key返回哈希表 key 中所有域的值。
hincrbyHINCRBY key field increment为哈希表 key 中的域 field 的值加上增量 increment 。
hincrbyfloatHINCRBYFLOAT key field increment为哈希表 key 中的域 field 加上浮点数增量 increment 。
hsetnxHSETNX key field value将哈希表 key 中的域 field 的值设置为 value ,当且仅当域 field 不存在。

SortedSet(有序集合)

  • 有序集合是普通集合的加强版,增加了排序属性
  • 常用命令
命令语法说明
zaddZADD key score member [[score member] [score member] …]将一个或多个 member 元素及其 score 值加入到有序集 key 当中。
zrangeZRANGE key start stop [WITHSCORES]返回有序集 key 中,指定区间内的成员。其中成员的位置按 score 值递增(从小到大)来排序。
zrangebyscoreZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]返回有序集 key 中,所有 score 值介于 min 和 max 之间(包括等于 min 或 max )的成员。有序集成员按 score 值递增(从小到大)次序排列。
zremZREM key member [member …]移除有序集 key 中的一个或多个成员,不存在的成员将被忽略。
zcardZCARD key返回有序集 key 的基数。
zcountZCOUNT key min max返回有序集 key 中, score 值在 min 和 max 之间(默认包括 score 值等于 min 或 max )的成员的数量。
zrevrankZREVRANK key member返回有序集 key 中成员 member 的排名。其中有序集成员按 score 值递减(从大到小)排序。
zrevrangeZREVRANGE key start stop [WITHSCORES]返回有序集 key 中,指定区间内的成员。
zrevrangebyscoreZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count]返回有序集 key 中, score 值介于 max 和 min 之间(默认包括等于 max 或 min )的所有的成员。有序集成员按 score 值递减(从大到小)的次序排列。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值