Redis2-操作

一、通用数据结构操作

    flushdb  #清空所有数据

    keys *  #查找所有的key

    get name  #获取key为name的值

    set name  xiaozheng  #设置key为name的值为xiaozheng

    randomkey  #获取随机一个key

    type key  #获取key的类型

    exists key  #判断key是否存在 0->不存在 1->存在

    del key  #删除某一个key

    rename key key2  #将key的名称改为key2 注:如果key2已存在,则key2的原值被覆盖

    renamenx key key2  #将key的名称改为key2注:nx->not exists,即key2不存在时,作改名动作

    move key 1  #将key移动到下标为1的那个数据库

    ttl key  #查看key有效期 :返回秒      -1->永久有效期 

    expire key  #设置key的有效期:单位秒

    persist key  #设置key的有效期为永久

    数据库数量:redis.conf   :databases 16   16个服务器

    select 0(1、2、3、……)  #切换服务器到第0个服务器

二、字符串

    set key value [ex 秒]|[px 毫秒]  [nx]|[xx]  #nx->key不存在时执行操作  xx->key存在时执行操作

    mset key0 value0 key1 value1 key2 value2  #设置多个key value

    mget key0 key1 key2  #获取多个key的value

    append key value  #为key的value后面追加value

    setrange key offset value  #把字符串的offset偏移字节,改成value

    getrange key start stop  #获取字符串中[start stop]范围的值注:stop为负数时代表从后往前数

    getset key newvalue  #获取并返回旧值,设置新值

    incr key  #指定key的值加1,并返回加1后的值注:不存在的key当成0,再incr操作 、64个有效符

    incrby key num  #指定key的值加num,并返回加num后的值

    incrbyfloat key floatnum  #浮点数添加,并返回添加后他值

    decr key  #指定key的值减1,并返回减1后的值

    decrby key  #指定key的值减num,并返回减num后的值

三、Link

    lpush link value  #把值插入到链表头部

    rpush link value  #把值插入到链表尾部

    lrange link start stop  #取出链表中第start到第stop个下标的元素,start为0,stop为-1时取出所有元素

    lpop link  #弹出链表头部的一个值

    rpop link  #弹出链表尾部的一个值

    lrem link count value  #删除链表中值为value的对象,并且只删除count的个 当count为负数时:表示从尾部开始删除

    ltrim link start stop  #截取链表中第start到第stop个下标的元素

    lindex link index  #返回链表中的下标为index的元素

    llen link  #查看链表长度

    linsert link after|before search value  #在key链表中寻找search值之前|之后,插入value。注:一旦找到一个search后,命令结束。

    rpoplpush link1 link2  #把link1的尾部放到link2的头部

    brpop,blpop key timeout  #等待弹出key的尾/头元素,timeout为超时时间。如果timeout为0,则一直等待。

    场景:长轮询、Ajax、在线聊天时能用到 例如:1.brpop working 60    2.lpush working a

四、Set集合(无序性、唯一性)

    sadd set value  #添加元素

    srem set value  #删除元素为value的元素

    spop set  #返回并删除集合中set中1个随机元素

    smembers set  #返回集合里面所有元素

    srandmember set  #返回set集合中1个随机元素

    sismember set value  #判读value是否在集合set中

    scard set  #返回set集中元素的个数

    sinter set1 set2 set3  #求出set1 set2 set3集合的交集,并返回

    sinterstore dest set1 set2 set3  #求出set1 set2 set3集合的交集,并赋值给dest

    sunion set1 set2 set3  #求出set1 set2 set3集合的并集,并返回

    sdiff set1 set2 set3  #求出set1 set2 set3集合的差集,并返回

五、Order Set(有顺集合)

    zadd key score1 value1 score2 value2 #添加元素:score1、score2为排序

    zrange key start stop  #查询排名从第start到第stop的元素,并返回

    zrangebyscore key start stop [withscores]  #查询排序范围为start到stop的元素。withscores是把score打印出来

    zrangebyscore key min max limit offset N [withscores]  #集合(升序)排序后,取score在[min,max]内的元素,并跳过offset个,取出N个

    zrank key member  #查询member的排名(升序)

    zrevrank key member  #查询member的排名(降序)

    zrem key member  #将member的元素删除

    zremrangebyscore key start stop  #将score为start到stop的元素删除

    zremrangebyrank key start stop  #将key中第start到stop名的元素删除(升序)

    zcard key  #统计集合有多少个元素

    zcount key start stop  #统计score在start到stop的元素有多少个

    zscore key member  #返回有续集key中member的score

    zinterstore dest numkeys key1 key2 [aggregate sum|min|max]  #求key1、key2的交集,聚合方法    sum|min|max,聚合结果保存在dest集合里  

    zunionstore dest numkeys key1 key2 [aggregate sum|min|max]  #求key1、key2的并集,聚合方法sum|min|max,聚合结果保存在dest集合里

六、Hash

    hset hash key value  #设置hash中的key域的值为value

    hmset hash key1 value1 key2 value2  #设置hash中的key1域的值为value1,key2域的值为value2

    hget hash key  #获取hash中key域的值

    hmget hash key1 key2 key3  #获取hash中key1 key2 key3域的值

    hgetall hash  #获取hash中所有的域与其值

    hdel hash key  #删除hash中的key域

    hlen hash  #返回hash中元素的数量

    hexists hash key  #判断hash中有没有key域

    hincrby hash key value  #把hash中的key域的值增长整型值value

    hincrbyfloat hash key value  #把hash中的key域的值增长浮点值value

    hkeys hash  #返回hash中所有的key 

    hvals hash  #返回hash中所有的value

你可能感兴趣的:(Redis2-操作)