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 <dbid>来切换数据库,如: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对象的日常使用汇总

相关推荐
鹿子铭1 小时前
单线程Redis:Redis为什么这么快
数据库·redis
爱打lan球的程序员3 小时前
redis分布式锁和lua脚本
数据库·redis·分布式
小扳9 小时前
Redis 篇-深入了解查询缓存与缓存所带来的问题(读写不一致、缓存穿透、缓存雪崩、缓存击穿)
java·数据库·spring boot·redis·后端·缓存·mybatis
金融街小单纯10 小时前
一次性了解Neo4j图形数据库
数据库·nosql·neo4j
半桶水专家11 小时前
PHP Redis扩展详解
开发语言·redis·php
一名在八月份找工作的测试员11 小时前
数据库的介绍:关系型数据库和非关系型数据库究竟是什么?
数据库·nosql
救救孩子把12 小时前
Redis中使用布隆过滤器解决缓存穿透问题
数据库·redis·缓存
潘多编程12 小时前
Redis篇 - 深入了解查询缓存与缓存带来的问题
redis·缓存·mybatis
漆黑的莫莫13 小时前
经验笔记:NoSQL数据库及其缓存方法实践
笔记·缓存·nosql
怪人细胞13 小时前
【如何用远程连接到ubuntu服务器上的redis】
服务器·redis·ubuntu