articleList

02-高并发必备技术+新版分布式缓存 Redis6 安装

2025/03/16 posted in  Redis
Tags: 

第 1 集 高并发的必备两大“核技术”队列和缓存

简介:高并发的必备两大“核技术”队列和缓存介绍

  • 什么是队列(MQ 消息中间件)

    • 全称 MessageQueue,主要是用于程序和程序直接通信,异步+解耦

    • 使用场景:

      • 核心应用

        • 解耦:订单系统-》物流系统
        • 异步:用户注册-》发送邮件,初始化信息
        • 削峰:秒杀、日志处理

  • 什么是缓存

    • 程序经常要调用的对象存在内存中,方便其使用时可以快 速调用,不必去数据库或者其他持久化设备中查询
    • 主要 就是提高性能 DNS 缓存、前端缓存、代理服务器缓存 Nginx、应用程序缓存、数据库缓存

第 2 集 本地缓存和分布式缓存介绍+热点 key 的解决方案

简介:介绍本地缓存和分布式缓存

  • 分布式缓存

    • 与应用分离的缓存组件或服务,与本地应用隔离一个独 立的应用,多个应用可直接的共享缓存
    • 常⻅的分布式缓存 Redis、Memcached 等
  • 本地缓存

    • 和业务程序一起的缓存,例如 myabtis 的一级或者二级缓存,本地缓存自然是最快的,但是不能在多个节点共享

    • 常⻅的本地缓存

      • ssm 基础课程 myabtis 一级缓存、 mybatis 二级缓存;
      • 框架本身的缓存;
      • redis 本地单机服 务;
      • ehchche
      • guava cache
      • Caffeine
  • 选择本地缓存和分布式缓存

    • 和业务数据结合去选择 高并发项目里面一般都是有本地缓存和分布式缓存共同 存在的

    • 热点 key 的解决方案之一:避免带宽或者传输影响,本地缓存热点 key 数据,对于每次读请求,将首先检查 key 是否存在于本地缓存中,如果存在则直接返回,如果不存在再去访问分布式缓存的机器

      • 缓存中的某些 Key 对应的 value 存储在集群中一台机器,使得所有流量涌向同一机器,成为系统的瓶颈,无法通过增加机器容量来解决
      • 热卖商品、热点新闻、热点评论、大 V 明星结婚

第 3 集 什么是 NosQL 和 Redis 快速介绍

简介:Nosql 介绍和 Reidis 介绍

  • 什么是 Redis

    • 属于 NoSQL 的一种 ( Not Only SQL )

      • 是不同于传统的关系数据库的数据库管理系统的统称
      • 其两者最重要的区别是 NoSQL 不使用 SQL 作为查询语言。
      • NoSQL 数据存储可以不需要固定的表格模式
      • 键 - 值对存储,列存储,文档存储,图形数据库
      • NoSql:redis、memcached、mongodb、Hbase
    • 官网地址:https://redis.io/

    • 一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API

    • 高性能:Redis 能读的速度是 110000 次/s,写的速度是 81000 次/s

    • 内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多 种类型的数据结构,如 字符串(strings)、散列(hashes)、 列表(lists)、 集合(sets)、 有序集合(sorted sets)等

  • 谁在使用 Redis

    • 国外: Google、Facebook、亚马逊

    • 国内:阿里、腾讯、字节、百度

      • 大厂们都有一个习惯:基于 Redis 二次开发,比如阿里 Tair
  • 高级工程师岗位面试都喜欢问 Redis

    • 特性:aof/rdb、高性能原因、key 设计、热点 key、淘汰算法
    • 功能实现:排行榜、购物车、社交关系(粉丝、关注)、Feed 流、附近的商家、分布式锁等等

第 4 集 阿里云 Linux 服务器选择和常用软件介绍

简介:阿里云 Linux 服务器购买和常用软件介绍

第 5 集 Linux 服务器源码安装 Redis6 和相关依赖

简介:Linux 服务器源码安装 Redis6 和相关依赖

  • 源码安装 Redis-上传到 Linux 服务(安装包在本章本集资料里面, 先安装升级 gcc 再编译,不然会有问题)

    #安装gcc
    yum install -y gcc-c++ autoconf automake
    ​
    #centos7 默认的 gcc 默认是4.8.5,版本小于 5.3 无法编译,需要先安装gcc新版才能编译
    gcc -v
    ​
    #升级新版gcc,配置永久生效
    yum -y install centos-release-scl
    yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
    ​
    scl enable devtoolset-9 bash  
    echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile 
    ​
    #编译redis
    cd redis
    make
    ​
    #安装到指定目录
    mkdir -p /usr/local/redis
    ​
    make PREFIX=/usr/local/redis install
    
  • 安装编译 redis6 需要升级 gcc,默认自带的 gcc 版本比较老

  • 目录介绍

    • 配置文件
    • redis-server
    • redis-cli
    • 指定配置文件

第 6 集 Linux 服务器 Docker 安装+容器化部署 Redis6

简介:Linux 服务器 Docker 安装+容器化部署 Redis6

云计算+容器化是当下的主流,也是未来的趋势,docker就是可以快速部署启动应用,实现虚拟化,完整资源隔离,一次编写,四处运行。

但有一定的限制,比如Docker是基于Linux 64bit的,无法在32bit的linux/Windows/unix环境下使用

  • Docker 安装

    安装并运行Docker。
    yum install docker-io -y
    systemctl start docker
    ​
    检查安装结果。
    docker info
    ​
    启动使用Docker
    systemctl start docker     #运行Docker守护进程
    systemctl stop docker      #停止Docker守护进程
    systemctl restart docker   #重启Docker守护进程
    ​
    docker ps查看容器
    docker stop 容器id
    ​
    修改镜像仓库
    vim /etc/docker/daemon.json
    #改为下面内容,然后重启docker
    {
    "debug":true,"experimental":true,
    "registry-mirrors":["https://pb5bklzr.mirror.aliyuncs.com","https://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn"]
    }
    ​
    #查看信息
    docker info
    
  • docker 部署 redis 并配置密码

    如果访问不了,记得看防火墙/网络安全组端口是否开放
    源码安装redis的话默认不能远程访问 docker安装redis可以远程访问
     
    docker run -itd --name xdclass-redis -p 6379:6379 redis --requirepass 123456
    ​
    ​
    -i 以交互模式运行容器,通常与 
    -t 同时使用;
    -d 后台运行容器,并返回容器ID;