Redis-五种数据类型

本文详细介绍了Redis支持的五种数据类型:字符串(String)、列表(List)、集合(Set)、有序集合(SortedSet)和散列(Hash),并提供了每种类型的主要操作命令和应用场景,帮助读者深入理解Redis的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概述

Redis是一种可基于内存也可持久化的日志型、key-value数据库,所以我们说的Redis支持的五中类型数据是指value的数据类型。五种数据类型:字符串(String)、列表类型(List)、集合类型(Set)、有序集合类型(SortedSet)、散列类型(Hash)。

一、字符串(String)

字符串类型是redis最基本数据类型,可以储存普通字符串、二进制数据、文件、图片或者json串,比如:对象序列化以后可以储存在redis中。

主要操作命令(incr操作是原子性)

二、列表类型(list)

列表类型是存储一个有序的字符串(value)列表,常用的操作是向列表的两端(头尾)添加、删除、获取元素,或者获取某个片段,Redis实现列表的数据结构是基于双向链表,所以列表两端新增、删除元素时间复杂度是O(1),获取的元素越接近两端就越快,通过索引访问比较慢。所以列表很适合用于评论功能、新鲜事、记录日志等功能。可以理解为是一个双向队列

 

主要操作

针对于lpush、rpush、lpop、rpop操作,lpush、lpop(或者rpush、rpop)搭配实现后进先出(栈),lpush、rpop(rpush、lpop)搭配实现的先进先出(队列)。

删除value元素操作:lrem key count value,

count是一个整数类型:

count > 0表示从列表的左边开始删除前count个元素为value;

count < 0表示从列表的右边开始删除前count个元素为value;

count = 0表示删除所有

三、集合类型(set)

集合类型是存储多个字符串是无序的,并且元素(member)不可以重复。多个集合可以进行交集、并集、差集等操作。数据结构是基于哈希表实现。应用场景比如求两个人的关系,可以把两人认识的人放在两个集合,然后计算集合分析是否有关系;比如微博相互是否相互关注。

命令:

创建两个结合myset:1 和 myset:2

差集运算、并把结果储存(注意差集以第一个集合为主集合):

交集运算、并把结果储存:

 

并集运算、并把结果储存:

四、有序集合(SortedSet)

有序集合是在集合基础上增加排序功能,每个元素也是唯一的不可以重复,每个元素(member)都会关联一个double类型的分数(score),根据score从小到大排序。数据结构是基于哈希表实现

命令:

获取某个范围排序的元素

五、散列类型(Hash)

散列类型是采用字典结构(key-value)。散列适合存储对象,以对象的类型加唯一id作为键值,然后属性名称为key值,属性的值为value值。

命令如下:

赋值

取值

如果键值不存在则创建保存,存在则不操作

其他

判断键是否存在:exsits key

匹配键值:keys pattern(正则表达式)

删除键:del key

获取键类型:type key

本文参考:https://www.cnblogs.com/xiaoxi/p/6972104.html

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值