redis入门——数据类型介绍

一、下载

windows 下载

以3.2为主版本
下载地址:https://github.com/MSOpenTech/redis/releases

linux下载

以4.0位主版本
下载地址:https://redis.io/download

二、数据类型

1.string类型

单条操作
增:set key value
查:get key
删:del key
多条操作
增:mset key value [key1 value1]
查:mget key [key1]

单条指令与多条指令的区别:
发送,执行,返回都需要时间,多条指令可一次性发送和返回结果多条,所需时间少,效率更高。
在这里插入图片描述
其他命令
strlen key //获取字符串长度
append key value //有则追加,无则新建
setnx key value //不存在就设置,存在就不设置
incr key //自增 1
incrby key num //给key的值增加num(int 类型),num 正数则为加,num 为负数 则为减
incrbyfloat key num //给key的值增加num(float 类型)
decr key //自减 1
decrby key num //给key的值减num
setex key second value //设置key的值为value存活时间为second秒
psetex key millisecond value //设置key的值为value存活时间为millisecond毫秒
应用场景
1.一张表分成多张表时,用incrby,decrby保证多张表的id不重复
在这里插入图片描述
在这里插入图片描述
2.控制热点信息的时效性
3.
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

2.hash类型

一个存储空间保存多对键值对数据,如果filed数量较少,存储结构优化为类数组结构
底层实现hash表结构实现数据存储
在这里插入图片描述
单条操作
增:hset key field value
查:hget key field
删:hdel key field
在这里插入图片描述
多条操作
增:hmset key field value [field1 value2]
查:hmget key field [field1]
其他命令
hgetall key //获取key的全部的值
hlen key //获取key的值的数量
hexists key field //是否存在field
hkeys key //所有key的字段(field)
hvals key //所有key的值
hincrby key field num //给key的field的值增加num (num 为int值)
hincrybyfloat key field num //给key的field的值增加num (num 为float)
hsetnx key field value //存在不设置,不存在设置
在这里插入图片描述
应用场景
1.电商购物车
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.限量抢购
在这里插入图片描述

3.list类型

在这里插入图片描述
String存在对象讲究整体性,以读为主
Hash存储对象讲究分散性,以写为主
添加
lpush key value [value1] //从左添加
rpush key value [value1] //从右添加
获取
lrange key start stop
lindex key index
llen key
获取并移除
lpop key //从左出
rpop key //从右出

注:
list中保存的数据都是String,数据总量是有限的,最多 2^{32}-1个元素
list具有索引的概念,但是操作数据时通常以队列的形式进行入队出队操作(或以栈的形式进行入栈出栈操作)
当stop的值为-1时,获取的是全部数据
list对数据进行分页操作,通常第一页的数据使的信息来自list,其他页面的数据通过数据形式进行加载

规定时间内获取或移除数据
blpop key1 [key2] timeout
brpop key1 [key2] timeout
如果规定时间内没有key的值,会出现nill,也可在规定时间内添加数据,然后显示
应用场景
1.微信朋友圈点赞,按顺序显示点赞好友信息;取消点赞,移除好友信息
移除指定数据
lrem key count value
2.最新消息的展示在这里插入图片描述在这里插入图片描述

4.set类型

能存储大量的数据和高效率查询
在这里插入图片描述
增:sadd key member [member1]
查:smembers key
删:srem key member [member1]
获取总量:scard key
判定是否存在:sismember key member
随机获取(原集合保留):srandmember key [count]
随机获取并将该数据移除集合(原集合不保留):spop key
集合交集:sinter key key1 key2
集合并集:sunion key key1 key2
集合差集:sdiff key key1 key2
存储集合交集:sinterstore destination key key1 key2
存储集合并集:sunionstore destination key key1 key2
存储集合差集:sdiffstore destination key key1 key2
集合元素移动:smove source destination member
在这里插入图片描述
应用场景
1.随机推荐类信息检索在这里插入图片描述
2.微信共同关注的公众号,qq推荐好友
在这里插入图片描述
3.实现权限检验
在这里插入图片描述
在这里插入图片描述
4.网站访问量统计(同类数据的去重)
在这里插入图片描述在这里插入图片描述
5.黑名单与白名单
在这里插入图片描述
在这里插入图片描述

sort_set类型

在这里插入图片描述
增:zadd key score member [score1 member1]
删:zrem key member [member1]
获取全部(正序):zrange key start stop [withscores]
获取全部(倒序):zrevrange key start stop [withscores]
按条件查(正序):zrangebyscore key min max [withscore limit]
按条件查(倒序):zrevrangebyscore key max min [withscore limit]
按条件删除(索引):zremrangebyrank key start stop
按条件删除(积分):zremrangebyscore key min max
获取集合总量:zcard key | zcount key min max
存储集合交集: zinterstore destination numkeys key key1
存储集合并集:zunionstore destination numkeys key key1
获取索引(正序):zrank key member
获取索引(倒序):zrevrank key member
score值获取:zscore key member
score值修改:zincrby key num member
在这里插入图片描述
在这里插入图片描述
应用场景
1.应用于计数器排序组合功能对应的排名
在这里插入图片描述
2.
在这里插入图片描述
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章