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常用的基本操作,努力,加油。。。。。

  • 相关阅读:
    hdu5728 PowMod
    CF1156E Special Segments of Permutation
    CF1182E Product Oriented Recurrence
    CF1082E Increasing Frequency
    CF623B Array GCD
    CF1168B Good Triple
    CF1175E Minimal Segment Cover
    php 正则
    windows 下安装composer
    windows apache "The requested operation has failed" 启动失败
  • 原文地址:https://www.cnblogs.com/codeMedita/p/15780069.html
Copyright © 2011-2022 走看看