美文网首页
九、redis的数据类型学习

九、redis的数据类型学习

作者: 那钱有着落吗 | 来源:发表于2020-11-12 11:03 被阅读0次

    首先我们知道redis的数据库默认有16个,而我们当前默认使用的是第0个,如果需要切换数据库则使用命令:

    select 1
    
    image.png

    如果需要清空数据库,请谨慎使用,命令:

    flush db  代表清空当前数据库的数据
    flush all  代表清空所有数据库的数据
    

    1. String字符串类型

    image.png
    • 在redis里面存储的是键值对类型的数据,所以字符串类型也就是key对应的是一个字符串,
      在上述图中 keys 表示查询key的命令,如果重复的设置key值,那么key对应的value是会被覆盖掉的。
    • setnx 表示设置的key如果存在则不设置,不存在则设置值
    • ttl 表示time to leave 意思就是查看过期时间,如果是-1则表示无过期时间
    • 设置过期时间使用命令 expire 例如 expire age 30 表示age这个key的过期时间是30s,如果过期则key的过期时间为-2
    • 还有一种设置过期时间命令: set age 30 ex 20 表示这个key值的过期时间是20
    • 过期之后,再查询这个key就会得到null的值
    • append name 123 表示会再nam这个key的值后面追加123
    • strlen name 表示获取nake这个key的值的长度
    • incr age 表示累加的意思,age的值加一 decr 代表累减的意思
    • incrby age 10 表示在原有值基础上加10 decrby相反
    • type age 代表获取age这个key的数据类型
    • getrange name 0 -1 代表的是截取name,从0下标到-1下标,如果是-1代表无穷大
    • setrange name 1 abc 表示key的值,从下标1开始用abc来替换原有的数值
    • mset mget 代表的是批量的设置或者获取值,例如:mset k1 aa k2 bb然后使用mget k1 k2
      输出就是 aa bb
    • msetnx 表示的是如果没有重复的key,则可以成功设置

    2. Hash类型

    Hash类型比较类似于java中的map数据类型,value可以是一个对象,例如我们要存储的对象是:

    user:{
      name:wang
      age:20
      sex:man
    }
    

    可以这么设置:


    image.png

    其中hset代表单个属性的赋值,hmset代表批量的赋值,hlen user表示后去user中属性的个数

    image.png

    3. List类型

    image.png image.png

    可以看到lpush和rpush的区别,lpush就是从所有要放的数据的左边开始一个个的放入list中,而rpush则相反。


    image.png
    • llen list 表示获取list的长度
    image.png
    image.png image.png image.png

    4. Set类型

    set类型于list不同,list中你可以添加多个重复的数值,但是set中就不会,他会自动的去重


    image.png image.png image.png image.png image.png

    5. zset类型

    zset代表的是有顺序的set集合,原理是zset中有一个score分数这样的属性跟值绑定在一起,做排序。


    image.png image.png image.png
    • zcard zset 表示获取集合zset的长度

    • zcount zset 20 40 表示获取20分到40分中间的所有数据条数

    image.png

    如果需要大于20的,就可以使用 )20

    image.png image.png

    相关文章

      网友评论

          本文标题:九、redis的数据类型学习

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