Redis的基础知识

1. 什么是Redis

  • Redis是远程的。 它有客户端和服务端两个部分,客户端和服务端可以部署在不同的机器上,它们之间是通过Redis自定义的协议进行传输和交互的。我们平时说的Redis,通常指的是服务端,只有特殊的错误定位时,才会提及客户端。
  • Redis时基于内存的。 它的所有数据和结构都是存储在内存中,这就代表的Redis的所有操作都是非常高速的,性能远远优于硬盘运行的MySQL,但是它是一个比较吃内存的软件。
  • Redis是非关系型数据库。 本质是一个数据库,存储数据的,但它和mysql是不同的,mysql是关系型数据库,redis不是。关系型数据库在存储之前必须定义好所谓的数据字典,后续的数据按照数据字典进行存储,而redis就不需要定义存储数据字典。

2. Redis的应用场景?

  • 缓存。 鉴于Redis的高性能,通常会将它当作一个缓存来使用,当系统接口速度比较慢时,可以把某个接口的数据缓存起来,当下次请求时,就不需要去mysql数据库中做比较耗时的sql操作了,而是直接去Redis缓存中将我们需要的数据库数据提取出来,这个是提升系统性能最常用的方法之一。
  • 队列。 Redis中提供了一个list接口,这个接口提供了pop和push操作。Redis保证了pop和push是原子性,基于这个结构和原子性,我们就可以把Redis当作队列来使用,使用push来插入队列的元素,使用pop来弹出队列的元素。
  • 数据存储。 可以直接把Redis当作数据存储来使用,所有的增删改查都直接在Redis中操作,不需要再借用mysql进行数据存储。我们可以直接这么做是因为Redis有非常完备的硬盘持久化的机制。它有两种持久化的机制,配合这两种持久化的机制,我们可以把我们的Redis数据定期持久化到硬盘中,这样就可以保证Redis数据的完整性和安全性。

windows安装Redis

3. Redis的五种数据类型

数据类型 存储的值 读写能力
String 可以是字符串、整数或浮点数,统称为元素 对字符串操作;对整数类型加减
List 一个序列集合且每个节点都包好了一个元素 序列两端推入、或弹出元素、修剪、查找或移除元素
Set 各不相同的元素 从集合中插入或者删除元素
Hash 有key-value的散列组,其中key是字符串,value是元素 按照key进行增加删除
Sort Set 带分数的score-value有序集合,其中score为浮点,value为元素 集合插入,按照分数范围查找
3.1 string类型
key value(string/int/float)

Redis的基础知识

3.2 list类型

list类型是一个有序列表,允许在左边和右边进行pop和push操作
Redis的基础知识Redis的基础知识

3.3 set类型

set类型存储的是无序的元素,且每个元素各不相同Redis的基础知识

3.4 hash类型

hash也叫散列类型,可以将多个键值对存储到Redis键中去
Redis的基础知识

3.5 sort set类型

也叫有序分数集,和hash类型相似,它存储的也是映射
Redis的基础知识