zoukankan      html  css  js  c++  java
  • redis基础操作

    redis基础数据类型有:string,hash,list,set,zset(有序集合);现总结以上数据类型的基础操作,redis命令不区分大小写:

    1、string(字符串):

    set key value:设置key值

    get key:获取key值

    getrange key start end:获取key中的子字符串

    getset key value:设置新值并返回旧值

    getbit key offset:对key的值,获取指定偏移量上的位

    mget key1 [key2...]:获取多个key的值

    setbit key offset value:对key的值,设置或清楚指定偏移量上的位

    setex key seconds value:将value赋值给key,并且过期时间为seconds(单位:秒)

    setnx key value:如果key不存在,则设置key值为value,如果key存在,则不做操作

    setrange key offset value:用value覆盖位置offset及其后的值,超过value长度以后的值保持不变

    strlen key:获取长度

    mset key value [key1 value1...]:同时设置多个k-v

    msetnx key value [key1 value1...]:相当于一次执行多个setnx key value;keyn存在的话则不操作,keyn不存在则设置valuen值

    psetex key milliseconds value:同 setex,单位为毫秒

    incr key:如果key存储的是整型数字,则将其加1,反之抛错

    incrby key increment:如果key存储的是整型数字,则将其加increment,反之抛错

    decr key:同 incr key相反

    decrby key decrement:同incrby key increment相反

    append key value:将key值后面追加value值,如果key不存在,则创建

    2、hash(哈希):

    hdel table field1 fields....:删除多个哈希表字段

    hexists table field:判断表中是否有字段field

    hget table field:获取表单field字段的值

    hgetall table:获取哈希表中所有的字段和值

    hincrby table field increment:如果表中的field存储的是整数值,则将其增大increment

    hincrbyfloat table field increment:如果表中的field存储的是浮点值,则将其增大increment

    hkeys table:获取哈希表中的字段

    hlen table:获取哈希表大小

    hmget table field1 field2....:获取表单中field1 field2...字段的值

    hmset table field1 value1 field2 value2....:为哈希表设置多个键值

    hset table field value:将表单的field字段设置为value

    hsetnx table field value:如果表单不存在field字段,则生成field字段,并将其设置为value;反之不做操作

    hvals table:获取表中的所有值

    hscan key cursor [match pattern] 

    3、list(列表):

    blpop key1 [key2 ..] timeout:阻塞类型的弹出命令,在timeout时间范围内,依次查看待操作的列表,找到第一个不为空的列表返回其第一个键值,返回的值第一个是键,第二个是值

    brpop key1 [key2..] timeout:阻塞类型的弹出命令,在timeout时间范围内,依次查看待操作的列表,找到第一个不为空的列表返回其最后一个键值,返回的值第一个是键,第二个是值

    127.0.0.1:6379> lpush hello hello1 hello2 hello3
    (integer) 3
    127.0.0.1:6379> lpush world world1 world2 world3
    (integer) 3
    127.0.0.1:6379> lrange hello 0 10
    1) "hello3"
    2) "hello2"
    3) "hello1"
    127.0.0.1:6379> brpop hello 0
    1) "hello"
    2) "hello1"
    127.0.0.1:6379> brpop hello world 0
    1) "hello"
    2) "hello2"
    

    brpoplpush source destination timeout:阻塞类型的操作,在timeout时间范围内,从source列表中弹出一个值,并将其插入到destination列表中,然后返回该值

    lindex key index:返回列表中位置为index的值,下表从0开始计数

    linsert key before|after value newValue:在key列表中,将newValue放到value值的前面或则后面

    llen key:返回列表长度

    lpop:删除并返回列表的第一个元素

    lpush key value1 value2...:将一个或多个值查到列表头部

    lpushx key value:如果key存在,则将value插到列表头部,反之不进行操作;4.0.0以后的版本可以有多个value值

    lrange key from to:获取from到to范围内的数据

    lrem key count value:删除值为value的元素,count的取值有:

    • count > 0: Remove elements equal to element moving from head to tail.
    • count < 0: Remove elements equal to element moving from tail to head.
    • count = 0: Remove all elements equal to element.

    lset key index value:通过索引设置列表的值

    ltrim key start to:只保留start到to区间内的元素

    rpop key:移除并返回列表中的最后一个元素

    rpoplpush source destination:移除并返回source列表中的最后一个元素,并将该值添加到destination列表中

    rpush key value1 value2...:在列表中添加一个或则多个值

    rpushx key value:key存在则进行rpush操作,反之不操作

    4、set(集合):符合数学定义,集合中没有重复的元素

    sadd key v1 v2 v3:向集合key中添加元素

    scard key:返回元素个数

    sdiff key1 [key2,key3...]:返回集合key1与其他集合不同的元素结果

    sdiffstore destination key1 [key2,key3..]:返回集合key1与其他集合不同的元素结果,并将其存放到destination中

    sinter key1 [key2,key3...]:返回所有集合的交集

    sinterstore destination key1 [key2,key3...]:返回所有集合的交集,并将其存放到destination中

    sismember key member:判断member是否是key的元素

    smembers key:返回集合中的所有元素

    smove source destination member:将member从source移动到destina

    spop key:删除并返回一个随机元素

    srandmember key [count]:返回集合中一个或则多个随机元素

    srem key val1 [val2..]:删除集合中一个或则多个元素

    sunion key1 [key2...]:将集合key1 key2...合并起来并返回合并结果

    sunionstore destination key1 [key2..]:将集合key1 key2...合并起来并将结果存储到destination集合中

    sscan key cursor [MATCH pattern] [COUNT n]:迭代集合中的元素,找到并返回n个满足pattern模式的元素,这篇文章介绍的挺好:https://www.jianshu.com/p/c78639d3f0ce

    5、zset(有序集合):

    zadd key score1 member1 [score2 member2...]:添加或更新元素,score是一个数字,score越小,元素越靠前

    zcard  key:获取集合的所有元素

    zcount key min max:计算score在区间[min,max]之间的元素个数

    zincrby key increment member:将元素member的分数加increment

    zinterstore distination numkeys key1 [key2....]:计算多个集合的交集,并将结果存放到destination中

    zlexcount key min max:计算集合中指定区间[min,max]中的元素个数

    zrange key start stop [withscores]:返回集合中指定索引区间内的元素

    zrangebyscore key min max [withscores] [limit]:返回集合中指定分数区间内的元素

    zrevrank key member:返回有序集合中指定元素的排名

    ....

    以上是五种基本数据类型的基本操作,下面的操作是这些键的基本操作:

    del key:删除变量key

    dump key: 序列化key,并返回序列化后的结果

    exists key:检查key是否存在

    expire key seconds:seconds秒后key失效

    keys pattern:查找所有符合给定模式的key

    move key db:将当前库的key移动到给定的数据库db中

    persist key:移除key的过期时间,key将持久保持

    pttl key:以毫秒为单位返回key的剩余过期时间

    ttl key: 以秒为单位返回key的剩余过期时间

    type key:返回类型

    renmae key newkey:对key进行重命名

    renameex key newkey: 如果key存在,则对其进行重命名

    randomkey:从当前数据库中返回一个随机的key

    以上是redis常用的基本操作,努力,加油。。。。。

  • 相关阅读:
    2018-2019-1 20175330 《信息安全系统设计基础》第四周学习总结
    2019-2020-1 20175330 《信息安全系统设计基础》第三周学习总结
    《程序设计与数据结构》实验一报告
    《程序设计与数据结构》第四周学习总结
    学号 20172326 《程序设计与数据结构》第三周学习总结
    《程序设计与数据结构》第二周学习总结
    《JAVA软件结构与数据结构》第一周学习总结
    《程序设计与数据结构》(上)课程总结
    2017-2018-2 《程序设计与数据结构》实验五报告
    《程序设计与数据结构》实验四报告
  • 原文地址:https://www.cnblogs.com/codeMedita/p/15780069.html
Copyright © 2011-2022 走看看