千家信息网

redis数据类型有哪些

发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,redis数据类型有哪些?相信有很多人都不太了解,今天小编为了让大家更加了解redis数据类型,所以给大家总结了以下内容,一起往下看吧。redis 主要有以下几种数据类型:stringhashlist
千家信息网最后更新 2025年01月22日redis数据类型有哪些

redis数据类型有哪些?相信有很多人都不太了解,今天小编为了让大家更加了解redis数据类型,所以给大家总结了以下内容,一起往下看吧。

redis 主要有以下几种数据类型:

string

hash

list

set

sorted set

string

这是最简单的类型,就是普通的 set 和 get,做简单的 KV 缓存。

set college szu

hash

这个是类似 map 的一种结构,这个一般就是可以将结构化的数据,比如一个对象(前提是这个对象没嵌套其他的对象)给缓存在 redis 里,然后每次读写缓存的时候,可以就操作 hash 里的某个字段。

hset person name bingohset person age 20hset person id 1hget person nameperson = {    "name": "bingo",    "age": 20,    "id": 1}

list

list 是有序列表,这个可以玩儿出很多花样。

比如可以通过 list 存储一些列表型的数据结构,类似粉丝列表、文章的评论列表之类的东西。

比如可以通过 lrange 命令,读取某个闭区间内的元素,可以基于 list 实现分页查询,这个是很棒的一个功能,基于 redis 实现简单的高性能分页,可以做类似微博那种下拉不断分页的东西,性能高,就一页一页走。

# 0开始位置,-1结束位置,结束位置为-1时,表示列表的最后一个位置,即查看所有。

lrange mylist 0 -1

比如可以搞个简单的消息队列,从 list 头怼进去,从 list 尾巴那里弄出来。

lpush mylist 1lpush mylist 2lpush mylist 3 4 5# 1rpop mylist

set

set 是无序集合,自动去重。

直接基于 set 将系统里需要去重的数据扔进去,自动就给去重了,如果你需要对一些数据进行快速的全局去重,你当然也可以基于 jvm 内存里的 HashSet 进行去重,但是如果你的某个系统部署在多台机器上呢?得基于 redis 进行全局的 set 去重。

可以基于 set 玩儿交集、并集、差集的操作,比如交集吧,可以把两个人的粉丝列表整一个交集,看看俩人的共同好友是谁?对吧。

把两个大 V 的粉丝都放在两个 set 中,对两个 set 做交集。

#-------操作一个set-------# 添加元素sadd mySet 1# 查看全部元素smembers mySet# 判断是否包含某个值sismember mySet 3# 删除某个/些元素srem mySet 1srem mySet 2 4# 查看元素个数scard mySet# 随机删除一个元素spop mySet#-------操作多个set-------# 将一个set的元素移动到另外一个setsmove yourSet mySet 2# 求两set的交集sinter yourSet mySet# 求两set的并集sunion yourSet mySet# 求在yourSet中而不在mySet中的元素sdiff yourSet mySet

sorted set

sorted set 是排序的 set,去重但可以排序,写进去的时候给一个分数,自动根据分数排序。

zadd board 85 zhangsanzadd board 72 lisizadd board 96 wangwuzadd board 63 zhaoliu# 获取排名前三的用户(默认是升序,所以需要 rev 改为降序)zrevrange board 0 3# 获取某用户的排名zrank board zhaoliu

以上就是redis数据类型有哪些的详细内容,更多请关注其它相关文章!

0