Redis入门到超神 - 04 redis的5种数据结构
发布日期:2021-06-30 12:37:34 浏览次数:3 分类:技术文章

本文共 1263 字,大约阅读时间需要 4 分钟。

序号 标题
01
02
03
04

Redis 五种数据结构

在这里插入图片描述

关于命令的具体用法推荐网站:

String 字符串

String 类型是 redis 中最基本的数据类型,一个 key 对应一个 value 。并且 String 类型是二进制安全的,意思是 redis 的 String 可以包含任何数据。例如数字,字符串,jpg图片或者序列化的对象。

常用命令:get ,set ,del ,incr ,decr,getset,incrby 等。

应用场景:

  1. 热点数据,常用数据,结果不经常变动数据缓存;
  2. 计数器,用户点赞数,pv/uv等。
  3. session,比如 spring session + redis 实现 session 共享。

List 链表

List 即链表(redis 使用双端链表实现的 List),它是有序的,value可以重复,可以通过下标取出对应的value值,左右两边都能进行插入和删除数据。List 的另一个应用就是消息队列,可以利用 List 的 PUSH 操作,将任务存在 List 中,然后工作线程再用 POP 操作将任务取出进行执行。

一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。

常用命令:linsert,llen,lpop,lpush,lrem,rpop,rpush等。

应用场景:

  1. 微博timeline
  2. 消息队列

Hash 哈希

Redis hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象。它是一个Mapmap,指值本身又是一种键值对结构,如 value={

{field1,value1},…fieldN,valueN}}。

Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)。

常用命令:hexists,hget,hgetall,hdel,hlen,hkeys等等。

应用场景:缓存用户信息,等。

Set 集合

集合类型用来保存多个字符串的元素,集合中没有重复的元素;集合中的元素是无序的;不能通过索引下标获取元素;支持集合间的操作,例如多个集合取交集、并集、差集。

Redis 中 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。

常用命令:sadd 、srem、scard、smembers、sismember等。

应用场景:共同好友,共同爱好,用户打标签等。

zset 有序集合

和Sets相比,Sorted Sets是将 Set 中的元素增加了一个权重参数 score,使得集合中的元素能够按 score 进行有序排列。有序集合中的元素不可以重复,但是score 分数 可以重复。

常用命令:zadd,zcard, zrange,zscore,zrange等。

应用场景:各种排行榜,例如点赞数排行,关注数排行,等等。

转载地址:https://javalib.blog.csdn.net/article/details/113815779 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:【Spring系列】使用InitializingBean和DisposableBean来管理bean的生命周期
下一篇:Redis入门到超神 - 03 redis.conf配置文件详解

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2024年05月01日 15时31分43秒