-
redis数据类型 string字符串 、hash 哈希 、list 列表 、set 集合 、sort set 有序集合
-
string 字符串
-
redis中最基本的数据存储类型,可以存储字符串,数字,json等
-
常用操作命令 set[设置key=>value] get[获取value] del[删除key=>value] mset[批量设置key=>value]
-
应用场景:计算站点访问量、当前在线人数、登录信息等
-
list 列表
-
是简单的字符串列表,按照插入顺序排序,可以从头插入也可以从尾部插入[时间复杂度都是O(1)]
-
列表允许从头或者尾部获取数据,获取的数据越接近两头速度越快
-
李彪由多个字符串值组成的有序可重复序列,是链表结构[O(1)]
-
最多可插入4294967295个元素
-
常用操作命令
-
LPUSH 将值从头部插入列表
-
RPUSH 将值从尾部插入列表
-
LRANGE 检索一系列项目
-
LPOP/RPOP 用于显示和删除两端的项目
-
LINDEX 从列表中的特定位置获取值
-
应用场景:最新消息排行榜、消息队列等
-
hash哈希
-
是一个键值对集合,是一个string类型的field和value的映射表
-
适用于存储对象
-
常用操作命令
-
HSET 将值映射到hash中的键
-
HGET 检索与哈希中的键关联的各个值
-
HGETALL 显示整个hash内容
-
HDEL 从hash中删除现有的键值对
-
HMSET 批量设置值
-
HEXISTS 查询hash表中是否有某个字段
-
应用场景:存储部分更改数据,如用户信息、会话共享。
-
set集合
-
是string类型的无序集合,集合中的每个string都是唯一的不重复的。
-
集合时通过hash表实现的,所以任何操作复杂度都是o(1)
-
常用操作命令[SDIFF、SDIFFSTORE、SINTER、SINTERSTORE、SRANDMEMBER]
-
SADD 向集合中添加一个或多个项目[插入到集合的头部]
-
SISMEMBER 找出一个项目是否是集合的一部分
-
SMEMBERS 从集合中检索所有项目
-
SREM 从集合中删除所有项
-
SCARD 集合中项目总数
-
sorted set有序集合
-
zset有序集合,和set一样是string类型元素集合,且不允许有重复成员
-
每个成员都会关联一个double类型的分数,redis通过分数进行排序
-
成员不可重复,分数可以重复
-
常用操作命令
-
ZADD 降具有分数的成员添加到排序集里
-
ZRANGE 根据项目在排序中的位置检索项目 zrange key startIndex[>=0] endIndex[>=0]...
-
ZRANGEBYSCORE 根据定义的分数范围从排序集中提取项目
-
ZREM 从已排序的集中删除项目成员
-
使用场景:带有权重的元素,比如游戏排行榜。比较复杂的数据结构,一半用到的场景不算太多。