文章目录

目录


前言

Redis数据库学习


一、Redis能干嘛?

1.主流功能应用

  1. 分布式换粗,挡在mysql数据库之前的带到护卫
  2. 内存存储持久化(RDB+AOF) redis支持异步内存中的数据写到硬盘上,同时不影响继续服务
  3. 高可用架构搭配
    1. 单机
    2. 主从
    3. 哨兵
    4. 集群
  4. 缓存穿透,击穿,雪崩
  5. 分布式
  6. 队列
  7. 排行版+点赞

2.Redis的优势?

  1. 性能极高-Redis能读的速度是110000次/秒,写的速度是81000次/秒
  2. Redis数据类型丰富,不仅仅能支持简单keyvalue类型数据,同时还提供list,set,zset,hash数据结构存储
  3. Redis支持数据持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用
  4. Redis支持数据的备份,即masterslave模式的数据备份

二、Redis持久

  1. RDB是啥能干啥?
    1. 是什么?在指定时间间隔内,执行数据集的时间快照
    2. 能干嘛?在指定时间隔内将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot内存快照,它恢复时再将硬盘快照文件直接读回到内存里
    3. 一锅端:Redis的数据都在内存中,也保存备份时它执行的是全量快照,也就是说,把内存中的所有数据都记录磁盘中,一锅端
    4. RDB保存的是dump.rdb文件
    5. 优点:
      1. 适合大规模的数据恢复
      2. 按照业务定时备份
      3. 对数据完整性和一致性要求不高
      4. RDB文件在内存中的加载速度要比AOF快的多
  2. AOF是啥能干啥?
    1. 日志的形式来记录每个操作,将Redis执行过的所有写指令记录下来(读操作记录),只许追加文件但不可以写文件,redis启动之初会读取文件重新构建数据,换言之,redis重启的话就根据日志文件内容将写指令从前到后执行一次以完成数据的恢复工作.
    2. 默认情况下,redis没有开启AOF服务的,需要配置appendonly yes
    3. AOF保存的是appendonly.aof文件
    4. 优势:能更好保护数据不丢失,性能高,可做紧急恢复
    5. 劣势:相同数据集的数据而言aof文件要远大于rdb文件,恢复速度慢于rdb,aof运行效率要慢于rdb,每秒同步策略效率较好,不同步效率和rdb相同

三、Redis事务

  1. 事务是什么?能干啥?

    1. 可以一次执行多个命令,本质是一组命令集合,一个事务中的所有命令都会序列化,按顺序地穿行执行而不会被其他命令插入,不许加塞

    2. 一个队列中,一次性,顺序性,排他性的执行系列命令

  2. 特性:

    1. 单独的隔离操作:Redis的事务仅仅是保证事务里的操作会被连续独占的执行,redis命令执行是单线程架构,在执行完事务内所有指令前是不肯恩再去同时执行其他客户端请求的.

    2. 没有隔离级别概念:因为事务提交前任何指令都不会被实际执行,也就不存在事务内的查询要看到事务里的更新,在事务外查询不能看到”这种问题

    3. 不保证原子性:Redis的事务不保证原子性,也就是不保证所有指令同时成功或者同时失败,只有决定是否开始执行全部指令的能力,没有执行到一半进行回滚的能力

    4. 排他性:Redis会保证一个事务内的命令依次执行,而不会被其他的命令插入

四、Redis管道

  1. 产生原因:如果同时需要处理大量的命令,那么就要等待一条命令应答后再执行,这中间不仅仅多了RTT,而且频繁调用系统IO,发送网络请求,同事需要redis调用多次read()和write()系统方法,系统方法会将数据从用户态转移到内核态,这样就会对进行上下文有比较大的影响了,性能不太好.
  2. 管道的优点(pipeline)可以一次性发送多条命令给服务端,服务端依次处理完毕后,通过一条响应依次性将结果返回,通过减少客户端redis通信次数来实现降低往返延时时间.pipeline实现原理队列,先进先出特性就保证数据的顺序性.


总结

参考和学习文档:

感谢尚硅谷springcloud教程以上内容均参考学习尚硅谷教程

原文地址:https://blog.csdn.net/Yolo_lxt/article/details/131189648

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若转载,请注明出处:http://www.7code.cn/show_12429.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注