Redis数据类型

Redis数据库是一种Key-Value数据库,它支持string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合)5种数据类型。

1.string

String是Redis的基本类型,Redis的一个键对应一个string类型的值,相关命令格式如下:

set key value		# 添加数据,value为string类型 
get key  			# 根据键获取数据

例如,向Redis数据库中存入键为username、值为itcast的数据,使用get命令读取键为username的数据:
在这里插入图片描述

2.hash

Redis中的hash类型存储一张记录字段(field)和string类型值(value)关系的映射表,相关命令格式如下:

hmset key field1 value1 field2 value2 ...    # 添加数据key
hget key field1					# 获取key的第一个字段

例如,向Redis中存入一个字段name的goods,并访问该数据的字段:
在这里插入图片描述
存入包含两个字段name、price的数据goods,并访问该数据的字段:
在这里插入图片描述

3.list

Redis中的list用于存储一组字符串,元素按顺序从list头部或尾部插入,列表元素可以重复,相关命令格式如下:

lpush key value1 value2 value3 ...		# 存储数据(头部插入)
rpush key value4 ...			# 尾插法添加数据
# 按从头至尾的顺序,获取索引[index1,index2]之间的数据
lrange key index1 index2

例如,向Redis中存入list类型的数据brands,代码如下:
在这里插入图片描述
继续添加数据:
在这里插入图片描述

4.set

set 是集合,它与list类似,但其中的元素无序且唯一。相关命令如下:

sadd key menber			# 添加一些 string 元素到key 对应的 set 集合中,成功返回添加的数量,如果元素已经在集合中返回0,key 对应的 set 不存在返回错误。
smembers key			# 获取数据

例如,向Redis中存入set类型的数据course,代码如下:
在这里插入图片描述
在这里插入图片描述

5.zset

zset是有序集合,它的元素有序,且每个元素都关联一个double类型的分数,这个分数是排序的标准,Redis会将集合中的元素按这个分数从小到大排序,命令格式如下:

zadd key score member					# 添加
smembers key						 # 获取数据

在这里插入图片描述
在这里插入图片描述

案例分析:

项目尝试利用一种数据类型去存储购物车数据,需要存储的数据为用户ID、商品ID、商品购买数量、勾选的商品4个数据,但会遇到以下问题:

① string无法将购物车记录存储在一条记录中
② hash可以保存用户、商品、数量,但是无法保存已勾选的商品
③ list无法对重复的数据去重
④ set与zset无法标识出商品和数量的对应关系

综上所述,我们很难将这4条数据存储在一条记录中,因此考虑以用户ID作为键,将购物车的商品ID、数量、已勾选的商品作为值分开存储。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值