九、redis的数据类型学习

首先我们知道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的数据类型学习)