Redis的基础知识

Redis是一种基于内存的高性能非关系型数据库,常用于缓存、队列和数据存储。其五种数据类型包括string、list、set、hash和sort set。list类型可用作队列,set为无序集合,hash存储键值对,sort set则是有序分数集。Redis以C语言编写,具备快速、持久化、多种数据结构和主从复制等特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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类型
keyvalue(string/int/float)

在这里插入图片描述

3.2 list类型

list类型是一个有序列表,允许在左边和右边进行pop和push操作
在这里插入图片描述在这里插入图片描述

3.3 set类型

set类型存储的是无序的元素,且每个元素各不相同在这里插入图片描述

3.4 hash类型

hash也叫散列类型,可以将多个键值对存储到Redis键中去
在这里插入图片描述

3.5 sort set类型

也叫有序分数集,和hash类型相似,它存储的也是映射
在这里插入图片描述

4. Redis的特性
  • 速度快(10w OPS)。
    • Redis的数据存储在内存中,服务器内存读取是非常快的
    • 基于C语言编写的(5000line)
    • 单线程在这里插入图片描述
  • 持久化
    • Redis所有数据保存在内存中,对数据的更新将异步地保存到磁盘上。
  • 多种数据结构
  • 支持多种编程语言
  • 功能丰富
  • 简单
  • 主从复制
  • 高可用、分布式
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值