美文网首页
Redis通用命令及数据结构

Redis通用命令及数据结构

作者: Toyouy | 来源:发表于2019-02-20 14:09 被阅读0次

    目录

    • 1.通用命令
    • 2.数据结构和内部编码
    • 3.单线程
    • 4.string
    • 5.hash
    • 6.list
    • 7.set和zset
    1、通用命令(更多命令可以查看http://doc.redisfans.com/
    • keys (一般不在生产环境使用 因为是On,并且生产key比较多所以不在生产环境使用)

    • dbsize 计算key的总数

    • exists key 检查key是否存在

    • del key [key …] 删除指定的key-value

    • expire key seconds key在多少秒后过期

    • ttl key 查看key剩余的过期时间

    • persist key 去掉key的过期时间

    • type key 返回key的类型

    image.png
    2、数据结构和内部编码
    image.png
    3、单线程架构
    • 纯内存 (主要)
    • 2、非阻塞IO
    • 3、避免线程切换和竞态消耗

    注意:
    1、一次只运行一条命令
    2、拒绝长(慢)命令
    keys, flushall, flushdb, slow lua scrpit, mutil/exec, operte big value(collection)


    4、、字符串String
    image.png

    场景:缓存、计数器、分布式锁等等

    命令:
    get、set、del
        get key  #获取key对应的value
        set key value  #设置key-value
        del key  #删除key-value
    
    incr、decr、incrby、decrby
        incr key    #key自增1,如果key不存在,自增后get(key)=1
        decy key    #key自减1,如果key不存在,自减后get(key)=1
        incrby key k  #key自增k,如果key不存在,自增后get(key)=k
        decrby key k  #key自减k,如果key不存在,自减后get(key)=k
    
    set、setnx、set xx
        set key value    #不管key是否存在,都设置
        setnx key value  #key不存在,才设置
        set key value xx #key存在才设置    
    
    mget、mset
        mget key1 key2 key3…    #批量获取key,原子操作
        mset key1 key2 value1 value2 …    #批量设置key-value
    
    getset、append、strlen
        getset key newvalue    #set key newvalue并返回旧的value
        append key value       #将value追加到旧的value
        strlen key             #返回字符串的长度(注意中文)
        
    incrbyfloat、getrange、setrange
        incrbyfloat key 3.5    #增加key对应的值3.5
        getrange key start end    #获取字符串指定下标所有的值
        setrange key index value    #设置字符串指定下标所有对应的值
    
    image.png image.png
    5、hash
    命令:
    hget、hset、hdel
        hget key field        #获取hash key对应field的value
        hset key field value  #设置hash key对应field的value
        hdel key field        #删除hash key对应field的value
    
    hexists、hlen
        hexists key field    #判断hash key是否有field
        hlen key field       #获取hash key field的数量
    
    hmget、hmset
        hmget key field1 field2…    #批量获取hash key的一批field对应的值
        hmset key field1 value1 field2 value…    #批量设置hash key的一批field value
    

    相关文章

      网友评论

          本文标题:Redis通用命令及数据结构

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