二、redis数据类型

1、string类型

字符串类型是redis中最基本的数据类型,也是使用最多的一种数据类型,它能存储任何形式的字符串,包括二进制数据,byte字节等,也就是说string类型能存储任何数据,你可以用它存储序列化后的用户对象,json化的对象,甚至图片,视频等,一个key下的string类型允许存储的最大数据容量是512M;
在这里插入图片描述
String类型可以用来存储任何类型的数据; SET, GET;
String类型可以用来做计数器; INCR(增加), DECR, INCRBY,DECRBY
在这里插入图片描述

2、list类型

列表类型可以存储一个字符串列表,按照数据加入的顺序排序,它非常方便地在往列表左右两端添加元素(左边称为头部,右边称为尾部)。 LPUSH,RPUSH
一个list列表最大能存放2的32次方-1个元素(4294967295, 40多亿个元素)
列表类型内部使用双向链表实现,所以向列表两端添加元素的时间复杂度为O(1), 获取越接近两端的元素速度就越快。这意味着即使是一个有几千万个元素的列表,获取头部或尾部的10条记录也是很快的,但是如果尝试访问一个非常大的列表的中间元素,则速度会很慢,因为这是一个时间复杂度o(n)操作。
使用场景:
类似时间轴的应用,每个时间点发生的重大事件存入list形成时间轴;
LPUSH(头部添加),RPUSH(尾部添加) ,LRANGE(取出)
在这里插入图片描述
使用场景:

记住最近的操作,往list列表头部放入元素,取头部的几个元素即为最近记录;
LPUSH,LTRIM
可以作为一个消息传递的顺序队列,从左边放入元素,从右边取出元素;
LPUSH,RPOP在这里插入图片描述

3、set类型

set类型是一个无顺序的字符串集合,集合中每个元素都是不同的,也就是不允许有重复数据,多次添加同一个元素,集合中只会有一个该元素
一个set集合最大能存放2的32次方-1个元素(4294967295, 40多亿个元素)
集合类型和列表类型的最大的区别是无序性/有序性和唯一性/可重复;
set类型在redis内部是使用的值为空的散列表(hash table),所以添加或删除元素操作的时间复杂度都是O(1);
使用场景:
跟踪不同的事情,比如:每天的ip访问量;
使用set做抽奖,把名单放入set,set不会重复,随机弹出元素;
spop,srandmember在这里插入图片描述

4、zset类型

zset类型与set相似,也是一个无重复元素的集合,不同的是zset的每个元素会关联一个分数,这个分数用于对集合元素进行排序;
zset中的元素是唯一的,但是每个元素的分数是可以重复的;
使用场景:
实时的数据排行榜,每次数据的更新会更新分数;在这里插入图片描述

5、hash类型

Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。
在这里插入图片描述
附录:
redis英文版命令大全:https://redis.io/commands
redis中文版命令大全:http://redisdoc.com/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值