Redis简单学习 | 青训营

50 阅读2分钟

什么是redis

Redis(Remote Dictionary Server)  是一个开源的内存数据存储系统,它可以用作数据库、缓存和消息中间件。它被设计成高性能、低延迟的键值存储系统,常用于加速应用程序的数据访问,特别是需要频繁读写的场景。总的来说,Redis的基本工作原理是将数据存储在内存中,并通过简单的文本协议与客户端进行通信,以提供高性能的数据存储和访问能力。

在读场景下,Server通常会先从redis中进行查询,如果查询不到,再从MySQL中读取。

在写场景下,Server通常会将记录写入MySQL,然后通过监听binlog,修改Redis。

为什么需要redis

  • Mysql从单机演进出了集群,它的数据量增长快,读写压力不断增加
  • 如果每次数据都从数据库里面查询,会产生很大的开销,性能低
  • 数据分冷热,可以将热数据存储到内存中

Redis的数据结构

Redis的五种数据结构包括以下五种:

  1. String:字符串类型
  2. List:列表类型
  3. Set:无序集合类型
  4. ZSet:有序集合类型
  5. Hash:哈希表类型

1. String

  • string 是 redis 最基本的类型,最大能存储 512MB
  • string 类型是二进制安全的。也就是说是 redis 的 string 可以包含任何数据。比如jpg图片或者序列化的对象

2. hash

  • Redis hash 是一个 string 类型的 field 和 value 的映射表,适合用于存储对象。

3. list

  • Redis 列表是简单的字符串列表,按照插入顺序排序。

4. set

  • 集合是一个无序的字符串元素集合,支持添加、删除、查找等操作。
  • 集合可以用于存储唯一的元素,也可以进行交集、并集等操作。

3.5. Sorted Set

  • 有序集合类似于集合,但每个元素都关联着一个分数(score),用于排序元素。
  • 有序集合通常用于实现排行榜、范围查找等功能。
  • 使用zadd key score member向有序集合添加内容,成功返回1,如果元素已经在集合中返回 0。