• Redis概述和安装


    🎈个人公众号:🎈 :✨✨✨ 可为编程✨ 🍟🍟
    🔑个人信条:🔑 知足知不足 有为有不为 为与不为皆为可为🌵
    🍉本篇简介:🍉 本篇详细阐述了Redis概述和安装,如有出入还望指正。

    今天开启中间件专栏的第一篇文章,先以Redis中间件为例,从部署安装、封装使用、原理剖析、集群搭建、场景模拟等多个角度,全方位总结Redis各种场景下的使用特性和相关领域知识,将自己的经验和学习进行输出,如有纰漏,联系我更正,这是一个漫长的过程,关注我,你我一道同行。

    1.1、安装redis

    (1)下载redis

    1. https://download.redis.io/releases/

    (2)将redis安装包拷贝到/opt/目录

    (3)解压

    1. tar -zvxf redis-7.2.1.tar.gz

    (4)安装gcc

    1. yum install gcc

    (5)进入目录

    1. cd redis-7.2.1

    (6)编译

    1. make

    (7)执行make install进行安装

    (8)查看安装目录:/usr/local/bin

    目录介绍

    • redis-benchmark:性能测试工具,可以在自己本子进行调试,看看自己本子性能如何。

    • redis-check-aof:修复有问题的AOF文件,rdb和aof后面咱单独出一篇文章详细讲解。

    • redis-check-dump:修复有问题的dump.rdb文件

    • redis-sentinel:redis集群使用

    • redis-server:redis服务器启动命令

    • redis-clit:客户端,操作入口

    • 关注公众号【可为编程】回复【面试】领取2023年最新面试题!!!

    1.2、启动redis

    方式1:前台启动(不推荐)

    执行redis-server命令,这种如果关闭启动窗口,则redis会停止。

    方式2:后端启动(推荐)

    后台方式启动后,关闭窗口后,redis不会被停止.

    步骤如下

    (1)复制redis.conf文件到/etc目录

    1. cp /opt/redis-6.2.1/redis.conf /etc

    (2)使用vi命令修改/etc/redis.config中的配置,将后台启动设置daemonize改为yes,如下

    1. daemonize yes

    (3)启动redis

    1. redis-server /etc/redis.conf

    (4)查看redis进程

    1.3、关闭redis

    方式1:kill -9 pid

    方式2:redis-cli shutdown

    1.4、进入redis命令窗口

    执行redis-cli即可进入redis命令窗口,然后就可以执行redis命令了。

    1.5、redis命令大全

    1. http://doc.redisfans.com/

    1.6、redis介绍相关知识

    • 默认端口6379

    • 默认16个数据库,类似数组的下标从0开始,初始默认使用0号库,后面会进行详细说明

    • 使用select 来切换数据库,如:select 1,切换到第2个库。

    • 统一密码管理,所有的库密码相同

    • dbsize:查看当前数据库的key的数量

    • flushdb:情况当前库

    • flushall:清空全部库

    redis是单线程+多路IO复用技术,那问题来了,为啥单线程还这么快呢?多路复用技术又是啥尼?

    这里咱先简单说一下,后面单独拿出一篇文章详细的进行分析,首先单线程是Redis的文件事件处理器的模型为单线程, Redis的文件事件处理器是一个单线程模型,采用IO多路复用机制同时监听多个socket,根据socket上的事件来选择对应的事件处理器来处理这个事件。具体来说,如果被监听的socket准备好执行accept、read、write、close等操作的时候,跟操作对应的文件事件就会产生,这时文件事件处理器就会调用之前关联好的事件处理器来处理这个事件。每个具体的事件处理器总和一个文件描述符相关,它使用描述符来识别事件、识别应用程序提供的服务。

    多路复用是指使用一个线程来检测多个文件描述符(socket)的就绪状态,比如调用select和poll函数,传入多个文件描述符,如果有一个文件描述符就绪,则返回,否则阻塞到超时,得到就绪状态后,进行真正的操作可以在同一个线程里执行,也可以启动线程执行(比如使用线程池)。

    关注公众号【可为编程】回复【面试】领取2023年最新面试题!!!

    在Redis中,只有一个文件事件处理器。它由四个部分组成:套接字、I/O多路复用程序、文件时间分派器(dispatcher)、事件处理器。这个处理器是单线程的,采用IO多路复用机制同时监听多个socket,根据socket上的事件来选择对应的事件处理器来处理这个事件。Redis相比于memcache支持多数据类型,支持持久化,单线程和多路复用机制,而memcache采用串行+多线程+锁的实现原理。

    Redis6.0中提供了多线程,命令解析和io数据读写这部分采用了多线程,而命令的执行还是采用的是单线程,多个客户端发送来的命令会在同一个线程去执行,相当于排队执行,效率极高。后续

    IOC容器创建bean实例的4种方式

    由表及里分析Spring-IOC容器始末

    Spring中的核心概念

    不要称之为卷土重来:为什么 Java 仍然会是冠军!

    关于高并发你必须知道的几个概念

    线程的创建方式对比与线程池相关原理剖析

    BigDecimal对象的日常使用汇总

  • 相关阅读:
    mysql高阶语句
    java项目-第154期ssm足球赛会管理系统-ssm毕业设计_计算机毕业设计
    最强Java面试八股文秋招offer召唤术
    04【@RequestMapping注解详解】
    postgresql_anonymizer使用
    【菜鸟入门!】Matlab零基础快速入门教程
    [附源码]SSM计算机毕业设计汽车租赁管理系统-JAVA
    ubuntu22.04 电脑声音和腾讯会议等声音很小怎么修复
    K8s技术全景:架构、应用与优化
    Spring Security(十九)--OAuth2:实现授权服务器(下)--环境准备以及骨架代码搭建
  • 原文地址:https://blog.csdn.net/weixin_42103983/article/details/134257274