redis

作者: 旧时初_2e8d | 来源:发表于2018-11-15 19:29 被阅读0次

    redis数据类型

    指令
    1.字符串(string)

    set key value
    get key
    getrange key start end
    字符串提取,字符串从0开始,包含start和end
    getset key value
    设置key的值,返回的是旧值,新值会设置成功
    setex key seconds value
    设置key的值,过期时间为seconds,如果存在,替换之,时间以s为单位
    setnx key value
    该key不存在的时候才设置,存在不设置
    setrange key offset value
    将该key对应的值从offset开始替换为value
    strlen key
    得到该key对应的值的长度
    mset
    mset key1 value1 key2 value2 key3 value3
    同时设置多个键值对
    msetnx
    同时设置多个键值对,将键不存在的时候才设置
    psetex key time value
    设置键值对,时间以ms为单位
    incr key
    为key对应的值增加1
    如果key不存在,那么先创建这个key,值为0,然后设置为1
    如果key对应的是字符串,那么报错
    incrby key number
    在指定的key对应的值加incre_amount
    decr key
    减一
    decrby key number
    减去指定的数量
    append key value
    在指定的key对应的值后面追加value
    mget
    一次获取多个键的值

    2.哈希(hash)

    hset key field value
    给对应的key设置属性和属性值
    hsetnx key field value
    该key中不存在的field才设置为value
    hget key field
    获取指定key的field属性
    hdel key field1 field2
    删除对应key中指定的属性
    hexists key field
    对应的key中是否存在这个属性,存在返回1,不存在返回0
    hgetall key
    获取这个key对应的所有的属性和值
    hincrby key field number
    给这个key对应的属性值加减number
    hincrbyfloat key field number
    给这个key对应的属性值加减number,number为float值
    hkeys key
    对应的key中所有的属性名

    hvals key
        对应的key中所有的值
    hlen key
        对应的key有多少个属性
    hmset key field1 value1 field2 value2 ...
        同时为key设置多个属性和属性值
    hmget key field1 field2 ...
        同时获取key的多个属性的值
    
    3.列表 (list)

    lpush key value1 value2
    依次将value1和value2从左边插入到队列key中
    lrange key start stop
    依次的显示队列key中从start开始到stop结束的所有元素
    start 0。。。。 stop -1代表最后一个
    lpushx key value
    当队列key存在的时候才往队列头部插入数据,如果队列不存在,插入失败
    lpop key
    弹出队列key中最左边的元素
    rpush key value1 value2
    将value从右边插入到队列key中
    rpushx key value
    将value从右边插入到队列key中,但是前提是队列key必须存在
    rpop key
    将队列key中最右边的元素弹出
    rpoplpush src dst
    将队列src中最右边的元素插入到队列dst中的最左边
    ltrim key start stop
    将队列中start-stop区间之外的所有元素全部干掉
    闭区间
    lset key index value
    将队列key中的第index个元素设置为value
    下标从0开始
    llen key
    得到队列key中元素的个数
    lindex key index
    获取队列key中第index个元素
    lrem key count value
    count > 0 从最左边开始,干掉count个和value相等的元素
    count < 0 从最右边开始,干掉-count个和value相等的元素
    count = 0 干掉队列key中所有和value相等的元素
    linsert key before|after value newvalue
    在队列key中的value的前面或者后面插入newvalue

    4.集合(set)

    无序性、唯一性
    sadd key value1 value2 value3
    往集合key中插入多个值
    scard key
    得到集合中元素的个数
    smembers key
    查看集合key中所有的元素
    sdiff key1 key2 key3
    保留key1中key2和key3没有的元素
    sdiffstore dst key1 key2 key3
    将这个(sdiff key1 key2 key3)的结果保留到集合dst中
    sinter key1 key2
    取出key1和key2的交集
    sinterstore dst key1 key2
    将sinter key1 key2的结果保存到集合dst中
    sismember key value
    判断value在不在集合key中,在的话返回1,不在的话返回0
    smove src dst value
    将集合src中的value元素移动到集合dst中
    spop key
    从集合key中随机弹出一个元素
    srandmember key count
    count > 0 count < 集合元素个数: 返回你一个数组,而且数组元素唯一
    count > 集合元素个数:返回你该集合中所有的元素
    count < 0:返回给你-count个元素,但是不保证唯一
    srem key value1 value2
    移除集合key中的value1和value2元素
    sunion key1 key2
    得到集合key1和集合key2的并集
    sunionstore dst key1 key2
    将集合key1和集合key2的并集保存到dst中

    5.有序集合(zset)

    zadd key score member
    将分值为score的成员member加入到有序集合key中
    zcard key
    得到集合key中元素的个数
    zcount key start stop
    得到集合key中分值在start到stop之间的元素的个数
    zincrby key number member
    给集合key中指定的member元素的分值加上number

    zrange key start stop [withscores]
        显示集合中的元素
    
    zrangebyscore key min max
        按照区间去查找对应的元素   min和max   
        【注】前面的只能写数字,肯定是大于等于,后面的可以写开区间,不写默认就是闭区间
        0 (100   0<=  <100
        0 100    0<=  <=100
        默认升序排列好
    zrank key value
        从低到高排列,下标从0开始
        查找value在有序集合key中的排名  显示的是下标
    zrem key member1 member2
        移除有序集合中指定的元素
    
    zrevrange key start stop withscores
        查询从start到stop之间所有的元素,但是是从大到小排列
    zrevrank key value
        用法和zrank一样,但是是从大大小排列的顺序
        【注】得到的是下标
    zrevrangebyscore key max min
        ZREVRANGEBYSCORE salary +inf -inf   # 逆序排列所有成员
    zscore key member
        返回指定成员的分数
    

    键命令
    0-15:redis默认有16个数据库,默认是在第0个数据库中操作
    select num:切换数据库
    keys *:所有键
    del key:删除键
    EXPIRE key seconds:给指定的key添加过期时间,单位是s
    ttl key:以秒为单位,返回这个键剩余的时间秒数
    exists key:判断一个键是否存在
    flushdb: 删除当前数据库中所有的键
    flushall:删除所有数据库中的键
    rename key newkey #修改key的名称(如果新的key的名字存在 则会把存在的key的值 覆盖掉)
    randomkey #随机返回一个 key
    move key db 将键移动到指定库

    相关文章

      网友评论

          本文标题:redis

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