Redis进阶(一)

本文介绍了Redis,一种流行的内存型NoSQL数据库,强调其快速读写、支持多种数据结构和缓存功能。文章还详细讲解了Redis的安装过程,包括使用Docker进行部署和验证步骤。

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

  • Redis简介

    • 定义

      • Redis是现在最受欢迎的NoSQL数据库之一,Redis是一个含多种数据结构,支持网络,基于内存,可选持久性的键值对存储数据库。(Redis也符合按照数据结构来组织,存储,和管理数据的仓库的定义,也可以说是一种数据库。)
        • NoSQL是指Not Only SQL,泛指非关系型数据库,而我们常用的MySQL,SqlServer都是关系型数据库,这些数据库一般用来存储重要信息,应对普通的业务没有问题,但是随着互联网的高速发展,传统的关系型数据库在应付超大规模,超大流量,以及高并发的时候力不从心,这个时候就需要用到像Redis这样的NoSQL数据库了(存储任意内容。)
    • 使用场景

      • Redis被称为数据库,但却不一定会和MySQL数据库冲突,系统并不是只能使用两者之一
      • Redis的常见使用场景是:1.作为数据缓存,因为其数据读取速度快,能够大大的提高运行效率,所以Redis在大多数情况下被称作“缓存”(Redis有时也称作缓存数据库。)2.当然,Redis也可以做到数据永久保存到磁盘上,但这是可选项,主要应用场景还是作为缓存。
        • 缓存,顾名思义,就是把数据放在缓冲区,在查找数据时,首先会在缓存中进行查找,如果存在就获取,否则,就访问数据库,频繁的从缓存中读取数据,减少访问数据库的次数,可以提高运行效率;
        • 读写缓存内容值Value都是通过Key完成的,用Key进行查询的方式非常简单,不像关系型数据库可以写各种查询语句用各种调解进行查询。
    • Redis优点

      • 除了数据读取速度快之外,还有其他优点
        • 1.支持多种数据类新:Redis支持Set,ZSet,List,Hash,String这五种数据类型,操作非常方便,特别强调,Redis是ANSI C语言编写的,并不是Java语言,在后面的学习过程中,不能把JAVA对象和Redis的数据类型画上等号,只能参数Java概念辅助理解。
        • 2.持久化存储:把数据从内容保存到磁盘上从而保证计算机掉电不丢失,叫做持久化存储。(持久化是一个比较宽泛的概念,数据以任何形式(各种文件甚至存入MySQL)保存,只要做到不丢失都叫做持久化)
          • 作为一个内存数据库,最担心的就是万一机器死机宕机,数据就会消失掉,Redis使用RDB和AOF做数据的持久化存储,主从数据同时会生成rdb文件,并利用缓冲区添加新的数据更新操作做出对应的同步。
            • aof:aof以日志的形式记录服务器所处理的每一个写,删除操作,查询操作不会记录,以文本的方式记录,可以打开文件看到详细的操作记录
            • rdb:rdb在指定的时间间隔内将内存中的数据集快照写入磁盘
        • 3.性能很好:由于全是内存操作,所以读写性能很好,可以达到10w/s的频率
    • 缺点:1.内存容量问题,由于Redis是内存数据库,短时间内大量增加数据,可能导致内存不够用,Redis本身有数据过期策略,但还是需要提前预估和节约内存,如果内存增长过快,需要定期删除数据。2.持久化存储的性能损耗问题:如果进行完整持久化,就需要生成rdb文件并传输保存,会占用主机的CPU,并消耗网络带宽,虽然Redis2.8版本之后,已经有只保存部分变化过的数据的功能,但是还是有可能有完整持久化的,比如新上线的从库。3.重启速度可能慢:将硬盘中的数据加载进内存,时间比较久,在这个过程中,Redis不能提供服务。
    • 安装Redis

      • 1.安装Docker

        • Docker是今年来非常流行的虚拟化技术
      • 2.验证

        • 输入sudo docker version验证是否成功
      • 3.安装Redis并启动

        • 终端输入
          • sudo docker pull redis:latestsudo docker imagessudo docker run --name redis -p 6379:6379 -d --restart=always redis:latest redis-server --appendonly yes --requirepass "Hello122342"
          • 6379是Redis服务的端口号
            • 此处的Hello122342是密码,可以自己修改
      • 验证是否成功

        • sudo docker ps
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值