基于内存的分布式NoSQL数据库Redis(一)介绍与安装

文章目录

  • 基于内存的分布式NoSQL数据库Redis
    • 知识点01:课程目标
    • 知识点02:NoSQL与RDBMS
    • 知识点03:Redis的功能与应用场景
    • 知识点04:Redis的Linux版单机部署
    • 后记

基于内存的分布式NoSQL数据库Redis

知识点01:课程目标

  1. 整体目标
    • Redis:NoSQL数据库,实时存储
    • Kafka:消息队列,实时存储
    • Hbase:NoSQL数据库,实时存储
  2. Redis的基本介绍和使用
    • 功能与应用场景
    • Redis的使用:基于命令的操作、基于编程的操作【JavaAPI】
      • 多练习
    • Redis的存储设计:性能、安全
    • 思想:大道至简

知识点02:NoSQL与RDBMS

  • 目标:了解NoSQL的应用场景与RDBMS的区别

  • 路径

    • step1:RDBMS的特点
    • step2:业务架构中的问题
    • step3:NoSQL的特点
  • 实施

    • RDBMS的特点:关系型数据库管理系统

      • 工具:MySQL、Oracle、SQL Server……
      • 应用:业务性数据存储系统:事务和稳定性
      • 特点:体现数据之间的关系,支持事务,保证业务完整性和稳定性,小数据量的性能也比较好
      • 开发:SQL
    • 业务架构中的问题

      • 问题:以网站后台存储为例,当并发量很大,所有高并发全部直接请求MySQL,容易导致MySQL奔溃

        image-20210519220356711

      • 需求:能实现高并发的数据库,接受高并发请求

    • NoSQL的特点:Not Only SQL:非关系型数据库

      • 工具:Redis、HBASE、MongoDB……

      • 应用:一般用于高并发高性能场景下的数据缓存或者数据库存储

      • 特点:读写速度特别快,并发量非常高,相对而言不如RDBMS稳定,对事务性的支持不太友好

      • 开发:每种NoSQL都有自己的命令语法

      • 解决上面RDBMS的问题:使用高并发缓存实现读写分离

        • 读请求:读请求不读取MySQL,读取Redis
        • 写请求:写请求直接写入MySQL

        image-20210519220547502

  • 小结

    • RDBMS和NoSQL的应用特点分别是什么?
    • RDBMS
      • 场景:业务数据库
      • 特点:稳定性高、事务支持比较完善、小数据量性能好
      • NoSQL
        • 场景:高并发高性能的数据存储
        • 特点:稳定性和安全性相对不如RDBMS,支持高并发和高性能

知识点03:Redis的功能与应用场景

  • 目标:掌握Redis的功能与应用场景

  • 路径

    • step1:介绍
    • step2:功能特点
    • step3:应用场景
  • 实施

    • 介绍

      • 相关网站

        • 官方网站:https://redis.io/、http://download.redis.io/releases/
        • 中文文档:http://www.redis.cn/
        • Redis 命令参考:http://redisdoc.com/
      • 官方介绍

        Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU eviction),事务(transactions) 和不同级别的 磁盘持久化(persistence), 并通过 Redis哨兵(Sentinel)和自动 分区(Cluster)提供高可用性(high availability)。
        
      • 定义:基于内存的分布式的NoSQL数据库

        • 所有数据存储在内存中,并且有持久化机制
        • 每次redis重启,会从文件中重新加载数据到内存,所有读写都只基于内存
    • 功能特点

      • 功能:提供高性能高并发的数据存储
      • 特点
        • 基于C语言开发的系统,与硬件的交互性能更好
        • 基于内存实现数据读写,读写性能更快
        • 分布式的:扩展性和稳定性更好
        • KV结构数据库:支持事务、拥有各种丰富的数据结构
          • KV结构
            • 缺点:两列,不能满足复杂的业务存储
            • 优点:Value可以支持多种类型,满足不同需求的存储
              • String、List、Set、Hash、Zset:掌握这五种类型的读写命令
    • 应用场景

      • 缓存:用于实现大数据量高并发的大数据量缓存【临时性存储】

        • 网站架构中:接受高并发的缓存读写请求
      • 数据库:用于实现高性能的小数据量读写【永久性存储】

        • 大数据平台中:高性能:一般用于作为实时计算结果的存储

        image-20210919095615838

      • 消息中间件:消息队列【MQ】:用于实现消息传递,一般不用Redis

  • 小结

    • Redis的功能与应用场景是什么?
      • 功能:实现基于高性能和高并发的数据存储【基于内存】
      • 应用
        • 缓存:高并发来接受高并发的读写,大数据量,临时性存储,允许数据丢失
        • 数据库:高性能来接受数据的读写,小数据量,永久性存储,不允许数据丢失

知识点04:Redis的Linux版单机部署

  • 目标:实现Redis的Linux版单机部署

  • 实施

    • Windows版本安装及远程工具使用请参考随堂资料《Redis的Windows版安装及远程工具的使用.pdf》

    • 上传redis-3.2.8源码

      cd /export/software/
      rz
      

      image-20210521102236816

    • 解压

      tar -zxvf redis-3.2.8.tar.gz -C /export/server/
      

      image-20210521102259929

    • 安装依赖

      yum -y install gcc-c++ tcl
      

      image-20210521102417864

      image-20210521102518266

      • 如果已经安装过,执行命令结果如下:

        image-20210904103725987

    • 编译安装

      #进入源码目录
      cd /export/server/redis-3.2.8/
      #编译
      make
      #安装,并指定安装目录
      make PREFIX=/export/server/redis-3.2.8-bin install
      

      image-20210521102629002

    • 修改配置

      • 复制配置文件

        cp /export/server/redis-3.2.8/redis.conf /export/server/redis-3.2.8-bin/
        
      • 创建目录

        #redis日志目录
        mkdir -p /export/server/redis-3.2.8-bin/logs
        #redis数据目录
        mkdir -p /export/server/redis-3.2.8-bin/datas
        
      • 修改配置

        cd  /export/server/redis-3.2.8-bin/
        vim redis.conf
        
        ## 61行,配置redis服务器接受链接的网卡
        bind node1
        ## 128行,redis是否后台运行,设置为yes
        daemonize yes
        ## 163行,设置redis服务日志存储路径
        logfile "/export/server/redis-3.2.8-bin/logs/redis.log"
        ## 247行,设置redis持久化数据存储目录
        dir /export/server/redis-3.2.8-bin/datas/
        
      • 创建软连接

        cd /export/server
        ln -s redis-3.2.8-bin redis
        
      • 配置环境变量

        vim /etc/profile
        
        # REDIS HOME
        export REDIS_HOME=/export/server/redis
        export PATH=:$PATH:$REDIS_HOME/bin
        
        source /etc/profile
        
    • 启动

      • 端口:6379

      • 启动服务端

        • 启动命令

          /export/server/redis/bin/redis-server /export/server/redis/redis.conf
          
        • 启动脚本

          vim /export/server/redis/bin/redis-start.sh
          
          #!/bin/bash REDIS_HOME=/export/server/redis
          ${REDIS_HOME}/bin/redis-server ${REDIS_HOME}/redis.conf
          
          chmod u+x /export/server/redis/bin/redis-start.sh 
          
      • 启动客户端

        /export/server/redis/bin/redis-cli -h node1 -p 6379
        
      • 关闭客户端

        • exit:退出客户端
      • 关闭服务端

        • 方式一:客户端中

          shutdown
          
        • 方式二:Linux命令行

          kill -9 redis的pid
          
        • 方式三:通过客户端命令进行关闭

          bin/redis-cli -h node1 -p 6379  shutdown
          
    • 测试

      node1:6379> keys *
      (empty list or set)
      node1:6379> set s1 hadoop
      OK
      node1:6379> keys *
      1) "s1"
      node1:6379> get s1
      "hadoop"
      node1:6379> 
      
    • 远程工具的使用:参考Windows安装文档

  • 小结

    • 实现Redis的Linux版单机部署

后记

📢博客主页:https://manor.blog.csdn.net

📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
📢本文由 Maynor 原创,首发于 CSDN博客🙉
📢不能老盯着手机屏幕,要不时地抬起头,看看老板的位置⭐
📢专栏持续更新,欢迎订阅:https://blog.csdn.net/xianyu120/category_12394313.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/155751.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

短视频账号矩阵系统源码saas===独立部署

前言: 短视频账号矩阵是指在不同的短视频平台上,一个个人或企业所拥有的账号数量和分布情况。由于不同的短视频平台受众人群和内容类型等因素不同,因此拥有更多账号可以在更广泛的受众中传播内容,提高曝光度和流量。短视频账号矩阵…

Air001 TIM1高级定时器单脉冲输出模式使用

Air001 TIM1高级定时器单脉冲输出模式使用 ✨本例程基于合宙官方提供的标准库以及Demo工程作为验证参考。📍官方提供的SDK包资源:https://gitee.com/openLuat/luatos-soc-air001🌿想了解STM32高级定时器单脉冲输出模式了解可以参考阅读:https…

多输入多输出 | MATLAB实现CNN-BiLSTM-Attention卷积神经网络-双向长短期记忆网络结合SE注意力机制的多输入多输出预测

MATLAB实现CNN-BiLSTM-Attention卷积神经网络-双向长短期记忆网络结合SE注意力机制的多输入多输出预测 目录 MATLAB实现CNN-BiLSTM-Attention卷积神经网络-双向长短期记忆网络结合SE注意力机制的多输入多输出预测预测效果基本介绍程序设计往期精彩参考资料 预测效果 基本介绍 C…

哈希的应用--位图和布隆过滤器

哈希的应用--位图和布隆过滤器 位图1. 位图概念2. 位图在实际中的应用3. 位图相似应用给定100亿个整数,如何找到只出现一次的整数?1个文件100亿int,1G内存,如何找到不超过2次的所有整数 布隆过滤器1. 布隆过滤器的提出2. 布隆过滤…

uniapp apple 苹果登录 离线本地打包

官方文档 uni-app官网 文档写的不全,没有写离线打包流程 加lib 签名里带 sign in with apple hbuilder开关 代码 测试代码,获取app里所有的provider uni.getProvider({service: oauth,success: function (res) {console.log(res.provider)uni.showT…

WIN10如何搭建自己的博客

引言: 路线说明: 在CSDN,博客园,简书等平台,可以直接在上面发表,用户交互做的好,写的文章百度也能搜索的到,这样速度也是最快的,不费心运营啥的。缺点是比较不自由&…

Elasticsearch 分片内部原理—近实时搜索、持久化变更

目录 一、近实时搜索 refresh API 二、持久化变更 flush API 一、近实时搜索 随着按段(per-segment)搜索的发展,一个新的文档从索引到可被搜索的延迟显著降低了。新文档在几分钟之内即可被检索,但这样还是不够快。 磁盘在这…

项目管理PMP考试技巧

(一)关键词篇 第 1 章 引论 1. 看到“驱动变革”——选项中找“将来状态” 2. 看到“依赖关系”——选项中找“项目集管理” 3. 看到“价值最大化”——选项中找“项目组合管理” 4. 看到“可行性研究”——选项中找“商业论证” 第 2 章 项目运行…

GIS 算法原理记录总结二:距离、方位角、沿线上的点的扩展算法及其使用(一)

GIS 算法原理记录总结二:距离、方位角、沿线上的点的扩展算法及其使用(一) 在了解了距离算法、方位角算法之后,就可以根据距离、方位角进行一些扩展应用。这里罗列如下: 一、计算线段中点(turf.midpoint&…

淘宝商品评论数据接口,淘宝商品评论API接口

淘宝商品评论数据接口可以通过淘宝开放平台API获取。 通过构建合理的请求URL,可以向淘宝服务器发起HTTP请求,获取商品评论数据。接口返回的数据一般为JSON格式,包含了商品的各种评价信息。获取到商品评论数据后,可以对其进行处理…

通过Node.js获取高德的省市区数据并插入数据库

通过Node.js获取高德的省市区数据并插入数据库 1 创建秘钥1.1 登录高德地图开放平台1.2 创建应用1.3 绑定服务创建秘钥 2 获取数据并插入2.1 创建数据库连接工具2.2 请求数据2.3 数据处理2.4 全部代码 3 还可以打印文件到本地 1 创建秘钥 1.1 登录高德地图开放平台 打开开放平…

【MATLAB源码-第46期】基于matlab的OFDM系统多径数目对比,有无CP(循环前缀)对比,有无信道均衡对比。

操作环境: MATLAB 2022a 1、算法描述 OFDM(正交频分复用)是一种频域上的多载波调制技术,经常用于高速数据通信中。以下是关于多径数目、有无CP(循环前缀)以及有无信道均衡在OFDM系统中对误码率的影响&am…

@所有燃气企业,城燃企业数字化转型重点抓住的八个关键点

关键词:智慧燃气、燃气数字化、设备设施数字化 数字化转型是用信息技术全面重塑企业经营管理模式,是企业发展模式的变革创新,是企业从工业经济时代迈向数字经济时代的必然选择。加快推进企业数字化转型,打造数字时代企业业务运行…

数据结构题型17-树、森林

文章目录 1 树转换为二叉树2 森林转换为二叉树3 二叉树转换为树4 二叉树转换为森林 1 树转换为二叉树 参考博客:如何将一棵树转化成二叉树 2 森林转换为二叉树 参考博客:树、森林与二叉树的转换 3 二叉树转换为树 参考博客:树、森林与…

【PyQt5图形界面编程(4)】:界面开发

界面开发 需求开发思路开发过程QTreeWidget问题1、item文本如果过长,显示不完全,出现省略号 开发1、获取当前鼠标选中的行,进而显示对应的属性 QStackedWidget:堆栈窗体总结 需求 开发一个界面,用于配置具体功能属性&…

如何使用数字化系统赋能企业营销?数字化系统对于企业的作用?

数字化系统对于企业的营销活动能够提供多方面的帮助。 1. 数字化系统可以帮助企业更精准地了解客户的需求和行为,从而更好地定位产品和服务。如蚓链数字化营销系统可以通过数据分析和挖掘,帮助企业深入了解客户群体的特点和喜好,进而调整企业…

成都瀚网科技有限公司:怎么优化抖店体验分?

近年来,抖音电商平台凭借强大的用户基础和广阔的销售渠道吸引了越来越多的商家入驻。然而,对于新手卖家来说,提高抖店经验值却成了一件头疼的事情。那么,如何优化抖店体验分呢?本文将从产品质量、服务态度、运营策略等…

构建精致 Chrome 插件:开箱即用的 TypeScript 模板 | 开源日报 No.51

tonsky/FiraCode Stars: 72.7k License: OFL-1.1 Fira Code 是一种免费的等宽字体,具有编程连字符。 Fira Code 提供了丰富多样的箭头和标点符号调整功能。Fira Code 支持各种不同的字符变体、风格集和其他字体特性,以满足用户个性化需求。Fira Code …

React Native从0到1开发一款App

先贴上项目地址,有需要的大佬可以去github看看: WinWang/RNOpenEye: React Native(0.72)版本开眼OpenEye项目 (github.com) React Native(0.72)版本OpenEye项目,主要用来熟悉并上手RN项目的开发,是Flutte…

意大利航天飞行器公司【Sidereus】完成510万欧元融资

来源:猛兽财经 作者:猛兽财经 猛兽财经获悉,位于意大利萨莱诺的航天飞行器公司Sidereus Space Dynamics今日宣布已完成510万欧元融资。 本轮融资由Primo Space和CDP Venture Capital Sgr领投,通过Italia Venture II - Fondo Impr…