美文网首页
Redis常用命令

Redis常用命令

作者: g才华横溢 | 来源:发表于2019-05-04 13:31 被阅读0次

    字符串

    设置字符串键值对

    规则
    set [key]键 [value]值
    
    示例
    set name1 boy
    

    批量设置字符串键值对

    规则
    mset [key]键 [value]值 ...
    
    示例
    mset name1 boy name2 girl name3 unkonw
    

    获取字符串

    规则
    get [key]键
    
    示例
    get name1
    

    批量设置字符串

    规则
    mget [key]键 ...
    
    示例
    mget name1 name2 name3
    
    【过期和set命令扩展】
    规则
    expire [key]键 [seconds]秒
    
    示例
    expire name 5 #5秒后过期
    
    设置字段的时同时设置过期时间
    规则
    setex [key]键 [seconds]秒 [value]值
    
    示例
    setex name 5 codehold
    
    检查值是否存在如果不就实行set
    规则
    setnx [key]键 [value]值
    

    示例

    setnx name codehold
    

    删除设置的值

    规则
    del [key]键
    
    示例
    del codehold
    

    [计数]

    如果value值是一个整数,还可以对它进行自增操作。自增是有范围的,它的范围在signed long 的最大值和最小值之间,超出这个范围,redis会报错

    规则
    incr [key]键 #每次自增1
    incrby [key]键 [integer]有符号整数(整数负数均可)
    
    示例
    set age 30
    incr age #每次自增1
    incrby age 5 #必须设置参数,必须为整数
    incrby age -5 #必须设置参数,必须为整数
    

    list(列表)

    向队列右侧插入数据

    规则
    rpush [key] [value]...
    
    示例
    rpush books golang php python java 
    

    向队列左侧插入数据

    规则
    lpush [key] [value]...
    
    示例
    lpush python php java golang perl
    

    获取队列的长度

    规则
    llen [key]
    
    示例
    llen books
    
    将左边第一个元素移出队列(队列):先进先出
    规则
    lpop [key]
    
    示例
    lpop books
    
    将右边第一个元素移出队列(栈):先进后出
    规则
    rpop [key]
    
    示例
    rpop books
    
    根据下标取出链表中的数据
    算法复杂度 O(n) 慎用

    此命令会根据队列中数据的多寡而影响查询性能。

    规则
    lindex [key] (point)[integer]
    
    示例
    lindex books 1
    
    获取链表中所有元素
    算法复杂度 O(n) 慎用

    此命令会根据队列中数据的多寡而影响查询性能。

    规则
    lrange [key] [start](integer) [start](integer)
    
    示例
    lrange books 0 -1
    
    截取链表中的数据重新保存至被截取的链表中
    ltrim [key] (first-point)[integer] (last-point)[integer]
    
    ltrim books 1 -1
    
    ltrim books 1 0 #相当于清空了整个链表,因为区间范围为负
    

    删除链表中的值

    算法复杂度O(n)-慎用

    lrem books >0 #从表头开始想表尾搜索,移除与value相等的元素,数量为count
    
    lrem books <0 #从表尾开始想表头搜索,移除与value相等的元素,数量为“count”的绝对值
    
    lrem books =0  #移除表中所有与value相等的值
    
    规则
    lrem [key]键 [count]删除的数量 [value]值
    
    示例
     
     lrem books 3 java
     
     lrem books -3 java
     
     lrem books 0 java
     
    

    hash(字典)

    创建字典并赋值

    规则
    hset [key]键 [field]字段名称 [value]值(only-string)
    
    示例
    hset books golang "think in golang"
    

    获取字典中的值

    规则
    hget [key]键 [field]字段
    
    示例
    hget books golang
    

    获取字典中所有的键-字段-值

    规则
    hgetall [key]键
    
    示例
    hgetall books
    

    设置字典中多个字段-值

    规则

    hmset [key]键 [field]字段 [value]值(only-string) ...
    

    示例

    hmset books java "effective java" python "learning python" golang "mondern golang programming"
    

    获取字典中多个字段-值

    规则
    hmget [key]键 [field]字段 ...
    
    示例
    hmget books java python golang
    

    给字典中的数值相加指定数值

    规则
    hincrby [key]键 [field]字段 [value]值
    
    示例
    hincrby age 1
    

    set(集合)

    向集合中插入数据

    规则
    sadd [key]键 [value]值 ...
    
    示例
    sadd lang python golang java php
    

    从集合中取出数据

    因为集合是无序的所以插入和取出的顺序可能并不一致

    规则
    smembers [key]键
    
    示例
    smembers lang
    

    查询某个value是否存在

    规则
    sismember [key]键 [value]值
    
    示例
    sismember lang golang #如果存在会返回1否则返回0
    

    获取集合的长度

    示例
    scard [key]键
    
    示例
    scard language
    
    将值弹出链表

    因为链表是无序的所以此操作是随机弹出的

    spop language
    

    (zset)有序列表

    向集合中添加字段与数据

    规则
    zadd  [key] ([field] [value])...
    
    示例
    zadd book 1.0 "think in golang" 2.0 "think in php" 3.0 "think in java"
    

    获取有序集合中的数据(正序)

    规则
    zrange [key]键 [start](integer)起始位置 [end](integer)结束为止
    

    用法与lrange是一致的

    示例
    zrange books 0 -1
    

    获取有序集合中的数据(倒序)

    规则
    zrevrange [key] [start](integer)起始位置 [end](integer)结束位置
    
    示例
    zrevrange books 0 -1
    

    统计有序集合中队列的长度

    规则
    zcard [key]键
    
    示例
    zcard book 
    

    返回成员的权重值/分值

    会返回键的值,返回的类型是字符串,由于有序队列中的内容都是唯一的,所以返回的键可以当做权重使用。

    规则
    zcore [key]键 [value](member)成员值
    
    示例
    zscore books "think in golang"
    

    返回有序集合成员的索引(按分值从小到大排序)

    如果获取的是有序集合的成员值那么返回索引值,如果不是返回nil

    规则
    zrank [key]键 [value](member)成员值
    
    示例
    zrank book "think in golang"
    

    根据分值遍历索引内容

    规则
    zrangebyscore [key]键 [min](integer/float)最大值 [max](integer/float)最小值
    

    redis中使用 inf 表示无穷大的意思,并且无穷大是可以带有符号的 (inf标识正数,-inf表示负数)

    示例
    zrangebyscore books 0 inf #正数无穷大
    zrangebyscore books -inf 10 #负数无穷大
    

    删除有序队列中的值

    删除的数据不存在返回(integer)0,存在返回(integer)1

    示例
    zrem [key]键 [value](member)值 ...
    
    示例
    zrem books "think in java"
    

    过期时间

    返回为元素设置的过期时间的剩余时间

    返回为数据设置的过期时间,返回的形式为毫秒(milliseconds)

    规则
    ttl [key]键
    
    示例
    ttl books
    

    相关文章

      网友评论

          本文标题:Redis常用命令

          本文链接:https://www.haomeiwen.com/subject/ynyxoqtx.html