Life with teacher Lemon.

Redis 介绍

2020.08.28 | 共 757 字,阅读需约 2 分钟.

Redis 是一款流行的 NoSQL 数据库,使用 C 语言编写,包含多种数据结构,是一款支持内存、持久化以及网络传输的对键值对数据库,并提供多种语言的 API

Redis 特点

  • 数据类型多样
  • 高并发读写
  • 可持久化
  • 支持事务

应用场景

  • 缓存系统
  • 消息系统
  • 计数、限流
  • 分布式锁

Redis 数据类型

字符串 String

字符串是最基本的 Redis 数据类型,是二进制安全的,其键和值都能包含任意类型的数据,如图片或者序列化的对象、亦或是音频、视频、压缩文件等。

字符串类型的值最多可以存储 512M 字节的内容。

列表 List

Redis 列表是指由字符串组成的列表,按照插入顺序排序,像链表一样可以在头部和尾部插入,比如 LPUSH 命令插入新元素到列表的头部,而 RPUSH 插入新元素到列表的尾部。

列表最多可以包含 2^32-1 个元素。

集合 Set

Redis 集合是无序的,不允许存储相同的元素,后加入的会覆盖之前的。无论是插入、删除、检测是否存在都只有 O(1) 的时间复杂度。

集合同列表一样,最多可以存储 2^32-1 个元素。

哈希 Hash

Redis 哈希是字符串和字符串键、字符串值之间的映射,类似于 Map<String, Map<String, Object>> 的形式。

Redis 小型化实例可以存储上百万的记录。

有序集合 Sorted sets

有序集合同集合一样,不允许存在相同的字符串,差别在于 有序,其在插入的时候可以通过评分和位次进行排序,在使用的时候就会显得和方便。

位图 Bitmap

位图是多个二进制组成的数组,每个二进制位对应一个偏移量,也称之为索引。

HyperLogLog

HyperLogLog 是用于做基数统计的算法,对于元素数量非常大的情况下,计算基数所需要的空间是很小且固定的。

12KB 的内存,可以计算 2^64 个不同元素的基数。

HyperLogLog 本身不存储输入的元素信息,不能返回输入的各个元素。

地理坐标 GEO

GEO 主要用来存储地理位置信息,可以对距离执行诸如距离计算、范围查找等。

stream

Stream 是一种包含 0 或者多个流元素的有序队列,每个流元素都可以包含一个 ID 和任意多个键值对,有着丰富的 API 操作。

了解了基本的数据结构介绍后,我们来进行实践操作,接下来我们学习 RedisMacOS 上的安装和基本操作。

发表评论
今日诗词