美文网首页
redis基础

redis基础

作者: 快去学习不然怎么去看aimer | 来源:发表于2019-11-25 17:33 被阅读0次

    redis 默认16个库,编号 0~15,默认为0

    SELECT 0选择第0个库,key * 查看改库里的键值

    redis:基于键值对的NoSql数据库,Redis中的值可以是由string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合)、Bitmaps(位图)、HyperLogLog、GEO(地理信息定位)等多种数据结构和算法组成.

    redis运行在内存中,还可以将数据通过快照或日志的形式存在硬盘上(持久化)

    redis可以主从复制,高可用,分布式

    Set

    set age 18
    

    ex seconds:为键设置秒级过期时间。
    px milliseconds:为键设置毫秒级过期时间。
    nx:键必须不存在,才可以设置成功,用于添加。
    xx:与nx相反,键必须存在,才可以设置成功,用于更新。

    set age 18 EX 5
    get age 
    
    set age 18 nx
    get age 
    
    set age 18 xx 
    get age 
    

    同时有setnx,setxx作用与nx,xx相同

    setnx age 18 
    
    setxx age 18
    

    当有多个客户端同时操作同一个key时,只会有一个setxx成功,实现了分布式锁

    #同时设置多个键值对
    mset a 1 b 2 c 3
    

    get

    get user 
    
    #同时获取多个值,当有不存在的键时,该键所对应的值就为nil
    mget user age 
    #得到的数据顺序为设置值的顺序
    

    incr

    #自增一个1,当值不为整数时返回错误
    incr  a 
    
    #自减一个1
    decr  a
    
    #自增指定整数
    incrby a 2
    
    #自减指定整数
    decrby a 3
    
    #自增指定浮点数
    decrby a 0.2
    但是没有自减浮点数,而且自增,自减都只针对整数
    

    不常用命令

    #在值尾部追加值
    get a
    append a one
    
    #值长度(每个中文占3个字节)
    strlen a 
    
    #更新值并返回原值(若原值为空,则返回nil)
    getset  name rourou
    
    #设置指定位置的字符[0:]
    set a rourouone
    setrange a 7 t
    
    #取到某段字符
    getrange a 0 1
    >"ro"
    

    字符串类型的内部编码有3种:
    int:8个字节的长整型。
    embstr:小于等于39个字节的字符串。
    raw:大于39个字节的字符串。

    object encoding a
    

    哈希

    hset class:1 name rourou
    hset class:1 age 18
    #如果设置成功会返回1,反之会返回0。此外Redis提供了hsetnx命令,它
    #们的关系就像set和setnx命令一样,只不过作用域由键变为field。
    
    hget class:1 name 
    #取值,若不存在,就返回nil
    
    hdel class:1 name 
    #删除name键值对
    hlen class:1
    #获取该哈希中有多少个键值对
    hstrlen class:1 name 
    #name对应的值的长度
    

    相关文章

      网友评论

          本文标题:redis基础

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