Redis基础介绍

Redis是一个开源的、基于内存的高性能数据结构服务器,使用C语言编写,支持多种数据类型如字符串、哈希、列表、集合和有序集合。其特点是高性能、数据持久化、原子操作和丰富的特性,包括主从复制和数据备份。Redis通过RDB(数据集快照)和AOF(追加日志文件)两种方式实现持久化,各有优缺点,RDB提供快速恢复但可能丢失部分数据,而AOF则提供更好的数据安全性。
摘要由CSDN通过智能技术生成

介绍一下Redis

Redis 是一款使用 C 语言编写的高性能 key-value 数据库,开源免费,遵守 BSD 协议。

特点:

  • 性能极高,能到 100000 次/s 读写速度
  • 支持数据的持久化,对数据的更新采用Copy-on-write技术,可以异步地保存到磁盘上
  • 丰富的数据类型,String(字符串)、List(列表)、Hash(字典)、Set(集合)、Sorted Set(有序集合)
  • 原子性:Redis 的所有操作都是原子性的,多个操作通过 MULTI 和 EXEC 指令支持事务
  • 丰富的特性:key 过期、publish/subscribe、notify
  • 支持数据的备份,快速的主从复制
  • 节点集群,很容易将数据分布到多个Redis实例中

Redis 支持五种数据类型

  • string:字符串
  • hash:哈希
  • list:列表
  • set:集合
  • sorted set:有序集合

 Redis有哪些优缺点?

优点:

  • 性能极高,能到 100000 次/s 读写速度
  • 支持数据的持久化,对数据的更新采用Copy-on-write技术,可以异步地保存到磁盘上
  • 丰富的数据类型,String(字符串)、List(列表)、Hash(字典)、Set(集合)、Sorted Set(有序集合)
  • 原子性:Redis 的所有操作都是原子性的,多个操作通过 MULTI 和 EXEC 指令支持事务
  • 丰富的特性:key 过期、publish/subscribe、notify
  • 支持数据的备份,快速的主从复制
  • 节点集群,很容易将数据分布到多个Redis实例中

缺点:

  • 数据库容量受到物理内存的限制,不能用作海量数据的高性能读写
  • 适合的场景主要局限在较小数据量的高性能操作和运算上

Redis使用单线程模型为什么性能依然很好? 

  • 避免了线程切换的资源消耗
  • 单线程不存在资源共享与竞争,不用考虑锁的问题
  • 基于内存的,内存的读写速度非常快
  • 使用非阻塞的 IO 多路复用机制
  • 数据存储进行了压缩优化
  • 使用了高性能数据结构,如 Hash、跳表等

Redis各数据类型最大容量是多少? 

  • Strings:一个 String 类型的 value 最大可以存储512M
  • Lists:元素个数最多为 2^32-1 个,即 4294967295 个
  • Sets:元素个数最多为 2^32-1 个,即 4294967295 个
  • Hashes:键值对个数最多为 2^32-1 个,即 4294967295 个
  • Sorted sets类型:同 Sets

Redis持久化机制有哪些?各有什么优缺点?

Redis 提供两种持久化机制: RDB 和 AOF

RDBRedis DataBase:

指用数据集快照的方式半持久化模式,记录 redis 数据库的所有键值对,在某个时间点将数据写入一个临时文件,持久化结束后,用这个临时文件替换上次持久化的文件,可恢复数据

优点:

  • 只有一个文件 dump.rdb,恢复操作简单,容灾性好
  • 性能较高,fork 子进程进行写操作,主进程继续处理命令
  • 大数据集比 AOF 的恢复效率高

缺点:

  • 数据安全性低,RDB 是每间隔一段时间进行持久化,若期间 redis 发生故障,可能会发生数据丢失

AOFAppend-only file

指所有的命令行记录以 redis 命令请求协议的格式完全持久化存储,保存为 aof 文件

优点:

  • 数据安全,aof 持久化可以配置 appendfsync 属性为 always,记录每个命令操作到 aof 文件中一次;通过 append 模式写文件,即使中途服务器宕机,也可以通过 redis-check-aof 工具解决数据一致性问题
  • AOF 机制的 rewrite 模式,AOF 文件没被 rewrite 之前可以进行处理,如删除文件中的 flushall 命令

缺点:

  • AOF 的持久化文件比 RDB 大,恢复速度慢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值