前言
Redis 作为一个基于内存的 k/v 非关系型数据库,其在项目应用中非常广泛,也是面试最常考察的技术之一,今天我想介绍一下 Redis 主要的数据结构和其应用场景。
Redis 基本数据结构
1. String
代表 Redis 存储的 value 为 String 类型,可以是字符串、数字、二进制信息(图片、视频、音频)。
常用于:
- 保存用户登录信息(分布式 Session)
- 用户基本信息
- 计数器
- 限速
2. Hash
类似于 Java 的 HashMap,即 Redis 的 value 变为 哈希结构,可存储键值对信息。比如将用户的 id 和 name 作为 key,1 和 '雪荷' 作为 value,存储形式为 value = {id: 1, name: '雪荷'}
常用于:
- 保存用户基本信息
- 缓存对象
3. List
类似于 Java 中的 LinkedList,可以在队列的两端插入和删除信息。
常用于:
- 消息队列
- 用户列表
- 订单列表
4. Set
类似于 Java 中的 HashSet,存储不重复、无序的元素。
常用于:
- 关注列表
- 共同关注
5. Zset
类似于 Java 中的 SortedSet,相对于 Redis 的 Set,其可以存储有序的元素。比 Set 多一个 score (分值)字段,并会根据它的值进行排序。
常用于:
- 排行榜
- 文章热榜
往期推荐
基于mysql+jdbc+java swing的学生成绩信息管理系统_用java和数据库做一个管理系统-CSDN博客
宝塔部署 Vue + Spring Boot + MySQL + Redis 项目保姆级教程_宝塔添加springboot项目-CSDN博客
一篇文章带你快速上手 Redis GEO 并实现搜索附近用户-CSDN博客