目录
简介
本文章列举了Redis的数据类型以及相对于的使用方法,猿友们在学习Redis的时候这些肯定也避免不了,可以动手练习一下。
Redis的数据类型-string
string 字符串
string:最简单的字符串类型键值对缓存,也是最基本的
key相关
keys * :查看所有的key(不建议在生产上使用,有性能影响)
type key:key的类型
string类型
指令 | 说明 |
get/set/del | 查询/设置/删除 |
set rekey data | 设置已经存在的key,会覆盖 |
setnx rekey data | 设置已经存在的key,不会覆盖 |
set key value ex time | 设置带过期时间的数据 |
expire key | 设置过期时间 |
ttl | 查看剩余时间,-1永不过期,-2过期 |
append key | 合并字符串 |
strien key | 字符串长度 |
incr key | 累加1 |
decr key | 累减1 |
incrby key num | 累加给定数值 |
decrby key num | 累减给定数值 |
getrange key start end | 截取数据,end=-1代表到最后 |
setrange key start newdata | 从start位置开始替换数据 |
mset | 连续设值 |
mget | 连续取值 |
msetnx | 连续设置,如果存在则不设置 |
其他
指令 | 说明 |
select index | 切换数据库,总共默认16个 |
flushdb | 删除当前下边db中的数据 |
flushall | 删除所有db中的数据 |
Redis的数据类型-hash
hash
hash:类似map,存储结构化数据结构,比如存储一个对象(不能有嵌套对象)
使用
指令 | 说明 | 举例 |
hset key property value | 创建hash对象 | hset user name xiaobai 创建一个user对象,这个对象中包含name属性,name值为xiaobai |
hget key property | 获取key对象中的property的值 | hget user name 获取用户对象中的name的值 |
hmset | 设置对象中的多个键值对 | hmset user age 18 phone 123123123 |
hmsetnx | 设置对象中的多个键值对,存在则不添加 | hmsetnx user age 18 这种则不会添加。 |
hmget | 获得对象中的多个属性 | hmget user age phone 获取user对象中的age和phone属性 |
hgetall user | 获得整个对象的内容 | |
hincrby user age 2 | 累加属性 | |
hincrbyfloat uer age 2.2 | 累加属性 | |
hien user | 有多少个属性 | |
hexists user age | 判断属性是否存在 | |
hkeys user | 获得所有属性 | |
hvals user | 获得所有值 | |
hdel user | 删除对象 |
Redis的数据类型-list
list
list:列表,[a,b,c,d,....]
使用
指令 | 说明 |
lpush userList 1 2 3 4 5 | 构建一个list,从左边开始存入数据 |
rpush userList 1 2 3 4 5 | 构建一个list,从右边开始存入数据 |
lrange list start end | 获得数据 |
lpop | 从左侧开始拿出一个数据 |
rpop | 从右侧开始拿出一个数据 |
llen list | list长度 |
lindex list index | 获取list下标的值 |
lset list index value | 把某个下标的值替换 |
linsert list before/after value | 插入一个新的值 |
lrem list num value | 删除几个相同数据 |
ltrim list start end | 截取值,替换原来的list |
Redis数据类型-set
使用
指令 | 说明 |
sadd set [value....] | 添加(构建)set内容 |
smembers set | 查看set中所有的内容 |
scard set | 查看set中包含的数量 |
sismember set value | 判断值是否存在,1存在 0 不存在 |
srem set value | 删除值 |
spop set | 随机获取值 |
spop set index | 指定index获取值 |
srandmember key [count] | 随机获取count个内容 |
smove source target value | 将source中的value移动到target中 |
sdiff set1 set2 | 差集 |
sinter set1 set2 | 交集 |
sunion set1 set2 | 并集 |
Redis数据类型-zset
sorted set
sorted set:排序的set,可以去重可以排序,比如可以根据学生成绩做排名,成绩作为set的的一个数值,根据数值可以做排序,set中的每一个memeber都带有一个成绩
使用
指令 | 说明 |
zadd zset 10 value1 20 value2 30 value3 | 设置member和对应的分数 |
zrange zset 0 -1 | 查看所有zset中的内容 |
zrange zset 0 -1 withscores | 查看所有zset中的内容,带有分数 |
zrank zset value | 获取对应的下标 |
zscore zset value | 获得对应的分数 |
zcard zset | 统计个数 |
zcount zset 分数1 分数2 | 统计个数 |
zrangebyscore zset 分数1 分数2 | 查询分数之间的member(包含分数1和分数2) |
zrangebyscore zset (分数1 (分数2 | 查询分数之间的member(不包含分数1和分数2) |
zrangebyscore zset 分数1 分数2 limit start end | 查询分数之间的member(包含分数1 分数2),获得的结果集再次根据下标区间做查询 |
zrem zset value | 删除member |
参考文献
作者:筱白爱学习!!
欢迎关注转发评论点赞沟通,您的支持是筱白的动力!