超详细Redis入门教程——Redis 的安装与配置

news2024/12/26 11:06:22

前言

在这里插入图片描述

本文小新为大家带来 超详细Redis入门教程——Redis 的安装与配置 相关知识,具体内容包括Redis 的安装连接前的配置Redis 客户端分类(包括:命令行客户端图形界面客户端Java 代码客户端),Redis 配置文件详解等进行详尽介绍~

不积跬步,无以至千里;不积小流,无以成江海。每天进步一点点,在成为强者的路上,小新与大家共同成长!

📌博主主页:小新要变强 的主页
👉Java全栈学习路线可参考:【Java全栈学习路线】最全的Java学习路线及知识清单,Java自学方向指引,内含最全Java全栈学习技术清单~
👉算法刷题路线可参考:算法刷题路线总结与相关资料分享,内含最详尽的算法刷题路线指南及相关资料分享~
👉Java微服务开源项目可参考:企业级Java微服务开源项目(开源框架,用于学习、毕设、公司项目、私活等,减少开发工作,让您只关注业务!)

↩️本文上接:超详细Redis入门教程——Redis概述


目录

超详细Redis入门教程——Redis 的安装与配置

  • 前言
  • 目录
  • 一、Redis 的安装
    • 1️⃣克隆并配置主机
    • 2️⃣安装前的准备工作
    • 3️⃣安装 Redis
    • 4️⃣Redis 启动与停止
  • 二、连接前的配置
    • 1️⃣绑定客户端 IP
    • 2️⃣关闭保护模式
    • 3️⃣设置访问密码
    • 4️⃣禁止/重命名命令
    • 5️⃣启动 Redis
  • 三、Redis 客户端分类
    • 1️⃣命令行客户端
    • 2️⃣图形界面客户端
    • 3️⃣Java 代码客户端
  • 四、Redis 配置文件详解
    • 1️⃣基础说明
    • 2️⃣includes
    • 3️⃣modules
    • 4️⃣network
    • 5️⃣general
    • 6️⃣security
    • 7️⃣clients
    • 8️⃣memory management
    • 9️⃣threaded I/O
  • 后记

在这里插入图片描述

本文介绍的是将Redis 安装到 Linux 系统中。

一、Redis 的安装

1️⃣克隆并配置主机

  • 修改主机名:/etc/hostname
  • 修改网络配置:/etc/sysconfig/network-scripts/ifcfg-ens33

2️⃣安装前的准备工作

🍀(1)安装 gcc

由于 Redis 是由 C/C++语言编写的,而从官网下载的 Redis 安装包是需要编译后才可安装的,所以对其进行编译就必须要使用相关编译器。对于 C/C++语言的编译器,使用最多的是gcc 与 gcc-c++,而这两款编译器在 CentOS7 中是没有安装的,所以首先要安装这两款编译器。

GCC,GNU Compiler Collection,GNU 编译器集合。

在这里插入图片描述

🍀(2) 下载 Redis

Redis 的官网为:http://redis.io 。点击链接可以直接进行下载。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

🍀(3) 上传到 Linux

将下载好的压缩包上传到 Linux 的/opt/tools 目录中。

3️⃣安装 Redis

🍀(1) 解压 Redis

将 Redis 解压到/opt/apps 目录中。

在这里插入图片描述

进入到/opt/apps 目录中再将 Redis 解压包目录更名为 redis(不更名也无所谓)。

在这里插入图片描述

🍀(2) 编译

编译过程是根据 Makefile 文件进行的,而 Redis 解压包中已经存在该文件了。所以可以直接进行编译了。

在这里插入图片描述

进入到解压目录中,然后执行编译命令 make。

在这里插入图片描述

当看到如下提示时,表示编译成功。

在这里插入图片描述

🍀(3) 安装

在 Linux 中对于编译过的安装包执行 make install 进行安装。

在这里插入图片描述

可以看到,共安装了三个组件:redis 服务器、客户端与一个性能测试工具 benchmark。

🍀(4) 查看 bin 目录

安装完成后,打开/usr/local/bin 目录,可以看到出现了很多的文件。

在这里插入图片描述

通过 echo $PATH 可以看到,/usr/local/bin 目录是存在于该系统变量中的,这样这些命令就可以在任意目录中执行了。

在这里插入图片描述

4️⃣Redis 启动与停止

🍀(1) 前台启动

在任意目录执行 redis-server 命令即可启动 Redis。这种启动方式会占用当前命令行窗口。

在这里插入图片描述

再开启一个会话窗口,可以查看到当前的 Redis 进程,默认端口号为 6379。

在这里插入图片描述

通过 Ctrl + C 命令可以停止 Redis。

🍀(2) 命令式后台启动

使用 nohub 命令,最后再添加一个&符,可以使要启动的程序在后台以守护进程方式运行。这样的好处是,进程启动后不会占用一个会话窗口,且其还会在当前目录,即运行启动命令的当前目录中创建一个 nohup.out 文件用于记录 Redis 的操作日志。

在这里插入图片描述

🍀(3) Redis 的停止

通过 redis-cli shutdown 命令可以停止 Redis。

在这里插入图片描述

🍀(4) 配置式后台启动

使用 nohup 命令可以使 Redis 后台启动,但每次都要键入 nohup 与&符,比较麻烦。可以通过修改 Linux 中 Redis 的核心配置文件 redis.conf 达到后台启动的目的。redis.conf 文件在Redis 的安装目录根下。

在这里插入图片描述

将 daemonize 属性值由 no 改为 yes,使 Redis 进程以守护进程方式运行。

在这里插入图片描述

修改后再启动 Redis,就无需再键入 nohup 与&符了,但必须要指定启动所使用的 Redis 配置文件。这是为什么呢?

使用 nohup redis-server &命令启动 Redis 时,启动项中已经设置好了 Redis 各个参数的默认值,Redis 会按照这些设置的参数进行启动。但这些参数是可以在配置文件中进行修改的,修改后,需要在启动命令中指定要加载的配置文件,这样,配置文件中的参数值将覆盖原默认值。

Redis 已经给我们提供好了配置文件模板,是 Redis 安装目录的根目录下的 redis.conf 文件。由于刚刚对 redis.conf 配置文件做了修改,所以在开启 Redis 时需要显示指出要加载的配置文件。配置文件应紧跟在 redis-server 的后面。

在这里插入图片描述

二、连接前的配置

Redis 是一个内存数据库服务器,就像 MySQL 一样,对其操作也需要通过客户端进行。若要使远程主机上的客户端能够连接并访问到服务端的 Redis,则服务端首先要做如下配置。

1️⃣绑定客户端 IP

Redis 可以通过修改配置文件来限定可以访问自己的客户端 IP。

在这里插入图片描述

以上设置后,只允许当前主机访问当前的 Redis,其它主机均不可访问。所以,如果不想限定访问的客户端,只需要将该行注释掉即可。

在这里插入图片描述

2️⃣关闭保护模式

默认保护模式是开启的。其只允许本机的客户端访问,即只允许自己访问自己。但生产中应该关闭,以确保其它客户端可以连接 Redis。

在这里插入图片描述

3️⃣设置访问密码

为 Redis 设置访问密码,可以对要读/写 Redis 的用户进行身份验证。没有密码的用户可以登录Redis,但无法访问。

🍀(1) 密码设置

访问密码的设置位置在 redis.conf 配置文件中。默认是被注释掉的,没有密码。

在这里插入图片描述

没有通过密码登录的用户,无法读/写 Redis。

在这里插入图片描述

🍀(2) 使用密码

对于密码的使用,有两种方式:登录时未使用密码,则访问时先输入密码;登录时直接使用密码登录,访问时无需再输入密码。

A、 登录时未使用密码

在这里插入图片描述

B、 登录时使用密码

在这里插入图片描述

C、 退出时使用密码

在这里插入图片描述

🍀(3) 注意

为了方便后面的介绍,我们这里就不设置访问密码了,直接将其注释掉即可。

在这里插入图片描述

4️⃣禁止/重命名命令

后面要学习两个非常危险的命令:flushal 与 flushdb。它们都是用于直接删除整个 Redis 数据库的。若让用户可以随便使用它们,可能会危及数据安全。Redis 可以通过修改配置文件来禁止使用这些命令,或重命名这些命令。以下配置,禁用了 flushall 与 flushdb 命令。

当然,在学习过程中暂时不禁用它们。

在这里插入图片描述

5️⃣启动 Redis

当然,若要使客户端能够连接 Redis,则必须开启服务端的 Redis。

在这里插入图片描述

三、Redis 客户端分类

Redis 客户端也像 MySQL 客户端一样有多种类型:命令行客户端、图形界面客户端、Java 代码客户端。

1️⃣命令行客户端

Redis 提供了基本的命令行客户端。打开命令行客户端的命令为 redis-cli。

在这里插入图片描述

  • -h:指定要连接的 Redis 服务器的 IP。
  • -p:指定要连接的 Redis 的端口号。

若连接的是本机 Redis,且端口号没有改变,保持默认的 6379,则-h 与-p 选项可以省略不写。

2️⃣图形界面客户端

🍀(1) Redis Desktop Manager

Redis 的图形界面客户端很多,其中较出名的是 Redis Desktop Manager 的客户端。不过,该软件原来是免费软件,从 0.8.8 版本后变为了商业化收费软件。官网为:https://resp.app/

🍀(2) RedisPlus

RedisPlus 是为 Redis 可视化管理开发的一款开源免费的桌面客户端软件,支持 Windows 、Linux、Mac 三大系统平台,RedisPlus 提供更加高效、方便、快捷的使用体验,有着更加现代化的用户界面风格。

RedisPlus 的官网地址为 https://gitee.com/MaxBill/RedisPlus。

3️⃣Java 代码客户端

所谓 Java 代码客户端就是一套操作 Redis 的 API,其作用就像 JDBC 一样,所以 Java 代码客户端其实就是一个或多个 Jar 包,提供了对 Redis 的操作接口。

对 Redis 操作的 API 很多,例如 jdbc-redis、jredis 等,但最常用也是最有名的是 Jedis。

四、Redis 配置文件详解

Redis 的核心配置文件 redis.conf 在安装根目录下,默认包含 2000 多行。这些内容根据功能被划分为了很多部分。下面将一些重要部分进行介绍。

1️⃣基础说明

在这里插入图片描述

这部分主要是给出一些说明,包含三部分意思:

  • 第 1-6 行用于说明,如果要启动 Redis,需要指出配置文件的路径。
  • 第 8-16 行用于说明当前配置文件中可以使用的的容量单位及意义。
  • 第 18 行用于说明这些容量单位没有大小写之分。

2️⃣includes

在这里插入图片描述

指定要在当前配置文件中包含的配置文件。这样做的目的主要是便于配置信息管理:可以将不同场景的配置都进行单独定义,然后在当前核心配置文件中根据不同场景选择包含进不同的配置文件。

3️⃣modules

在这里插入图片描述

Redis 配置文件中可以通过加载不同的第三方模块,来增强、扩展 Redis 的功能。

4️⃣network

在这里插入图片描述

Network 配置模块是比较重要的部分,主要进行网络相关的配置。其中较重要的有:

🍀(1) bind

在这里插入图片描述

指定可以访问当前 Redis 服务的客户端 IP,默认只允许本地访问,即当前 Redis 自己访问自己。为了使所有其它客户端都可访问,一般要将其注释掉。

🍀(2) protected-mode

在这里插入图片描述

默认保护模式是开启的。其只允许本机的客户端访问,即只允许自己访问自己。但生产中应该关闭,以确保其它客户端可以连接 Redis。

🍀(3) port

在这里插入图片描述

Redis 监听的连接端口号,默认 6379。

🍀(4) tcp-backlog

在这里插入图片描述

tcp-backlog 是一个 TCP 连接的队列,其主要用于解决高并发场景下客户端慢连接问题。这里设置的值就是这个队列的长度。该队列与 TCP 连接的三次握手有关。不同的 Linux 内核, backlog 队列中存放的元素(客户端连接)类型是不同的。

  • Linux 内核 2.2 版本之前,该队列中存放的是已完成了第一次握手的所有客户端连接,其中就包含已完成三次握手的客户端连接。当然,此时的backlog 队列中的连接也具有两种状态:未完成三次握手的连接状态为 SYN_RECEIVED,已完成三次握手的连接状态为ESTABLISHED。只有ESTABLISHED 状态的连接才会被 Redis 处理。
  • Linux 内核 2.2 版本之后 TCP 系统中维护了两个队列:SYN_RECEIVED 队列与 ESTABLISHED队列。SYN_RECEIVED 队列中存放的是未完成三次握手的连接,ESTABLISHED 队列中存放的是已完成三次握手的连接。此时的backlog 就是 ESTABLISHED 队列。

查看 Linux 内核版本:

在这里插入图片描述

TCP 中的 backlog 队列的长度在 Linux 中由内核参数 somaxconn 来决定。所以,在 Redis 中该队列的长度由 Redis 配置文件设置与 somaxconn 来共同决定:取它们中的最小值。

查看当前 Linux 内核中 somaxconn 的值。

在这里插入图片描述

生产环境下(特别是高并发场景下),backlog 的值最好要大一些,否则可能会影响系统性能。
修改/etc/sysctl.conf 文件,在文件最后添加如下内容:

在这里插入图片描述

修改过后可以重启虚拟机,也可以通过执行如下命令来使新的修改生效。

在这里插入图片描述

🍀(5) timeout

在这里插入图片描述

空闲超时。当客户端与 Redis 间的空闲时间超过该时长后,连接自动断开。单位秒。默认值为 0,表示永远不超时。

🍀(6) tcp-keepalive

在这里插入图片描述

该配置主要用于设置 Redis 检测与其连接的所有客户端的存活性时间间隔,单位秒。一般是在空闲超时 timeout 设置为 0 时进行配置。

5️⃣general

🍀(1) daemonize

在这里插入图片描述

该配置可以控制 Redis 启动是否采用守护进程方式,即是否是后台启动。yes 是采用后台启动。

🍀(2) pidfile

在这里插入图片描述

该配置用于指定 Redis 运行时 pid 写入的文件,无论 Redis 是否采用守护进程方式启动, pid 都会写入到该配置的文件。

注意,如果没有配置 pid 文件,不同的启动方式,pid 文件的产生效果是不同的:

  • 采用守护进程方式启动(后台启动,daemonize 为 yes):pid 文件为/var/run/redis.pid。
  • 采用前台启动(daemonize 为 no):不生产 pid 文件

🍀(3) loglevel

在这里插入图片描述

配置日志的级别。Redis 中共有四个级别,由低到高依次是:

  • debug:可以获取到很多的信息,一般在开发和测试时使用。
  • verbose:可以获取到很多不太有用的信息,但不像 debug 级别那么多。
  • notice:可以获取到在生产中想获取到的适当多的信息,默认级别。
  • warning:只记录非常重要/关键的信息。

🍀(4) logfile

在这里插入图片描述

指定日志文件。如果设置为空串,则强制将日志记录到标准输出设备(显示器)。如果使用的是守护进程启动方式,设置为空串,则意味着会将日志发送到设备/dev/null(空设备)。

🍀(5) databases

在这里插入图片描述

设置数据库的数量。默认数据库是 0 号数据库。可以使用 select <dbid> 在每个连接的基础上选择一个不同的数据库,其中 dbid 是介于 0 和’databases’-1’之间的数字。

6️⃣security

在这里插入图片描述

用户设置 ACL 权限、Redis 访问密码相关配置。该模块中最常用的就是 requirepass 属性。

在这里插入图片描述

设置客户端访问密码。注释掉后则没有密码。

7️⃣clients

在这里插入图片描述

该模块用于设置与客户端相关的属性,其中仅包含一个属性 maxclients。 maxclients 用于设置 Redis 可并发处理的客户端连接数量,默认值为 10000。如果达到了该最大连接数,则会拒绝再来的新连接,并返回一个异常信息:已达到最大连接数。

注意,该值不能超过 Linux 系统支持的可打开的文件描述符最大数量阈值。查看该阈值的方式如下。修改该值,可以通过修改/etc/secutiry/limits.conf 文件(自己查)。

在这里插入图片描述

8️⃣memory management

在这里插入图片描述

该配置可以控制最大可用内存及相关内容移除问题。

🍀(1) maxmemory

在这里插入图片描述

将内存使用限制设置为指定的字节数。当达到内存限制时,Redis 将根据选择的逐出策略maxmemory-policy 尝试删除符合条件的 key。

如果不能按照逐出策略移除 key,则会给写操作命令返回 error,但对于只读的命令是没有影响的。

🍀(2) maxmamory-policy

在这里插入图片描述

该属性用于设置,当达到 maxmemory 时,Redis 将如何选择要移除的内容。当然,如果没有符合相应策略的内容要删除,则在执行写入命令时会给出 errors 的响应。Redis 中共支持 8 种移除策略:

  • volatile-lru:使用近似 LRU 算法移除,仅适用于设置了过期时间的 key。
  • allkeys-lru:使用近似 LRU 算法移除,可适用于所有类型的 key。
  • volatile-lfu:使用近似 LFU 算法移除,仅适用于设置了过期时间的 key。
  • allkeys-lfu:使用近似 LFU 算法移除,可适用于所有类型的 key。
  • volatile-random:随机移除一个 key,仅适用于设置了过期时间的 key。
  • allkeys-random:随机移除一个 key,可适用于所有类型的 key。
  • volatile-ttl:移除距离过期时间最近的 key。
  • noeviction:不移除任何内容,只是在写操作时返回一个错误,默认值。

🍀(3) maxmemory-samples

在这里插入图片描述

该属性用于指定挑选要删除的 key 的样本数量。样本的选择采用的是 LRU 算法,其不能修改。但从样本中再选择要移除的 key,则采用的是 maxmamory-policy 指定的策略。

🍀(4) maxmemory-eviction-tenacity

在这里插入图片描述

设置移除容忍度。数值越小表示容忍度越低,需要移除的数据移除延迟越小;数值越大表示容忍度越高,需要移除的数据移除延迟越大。

9️⃣threaded I/O

在这里插入图片描述

该配置模块用于配置 Redis 对多线程 IO 模型的支持。

🍀(1) io-threads

在这里插入图片描述

该属性用于指定要启用多线程 IO 模型时,要使用的线程数量。
查看当前系统中包含的 CPU 数量:

在这里插入图片描述

🍀(2) io-threads-do-reads

在这里插入图片描述

该属性用于启用多线程 IO 模型中的多线程处理读请求的能力。


后记

在这里插入图片描述

👉Java全栈学习路线可参考:【Java全栈学习路线】最全的Java学习路线及知识清单,Java自学方向指引,内含最全Java全栈学习技术清单~
👉算法刷题路线可参考:算法刷题路线总结与相关资料分享,内含最详尽的算法刷题路线指南及相关资料分享~

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

政策和技术引导企业布局光伏组件回收市场 积极应对光伏组件“退役潮”

一、发展光伏组件回收是实现我国碳中和的战略需求 光伏组件回收主要是通过对其各组件部分进行物理或化学方法处理&#xff0c;进而得到拥有经济价值的材料&#xff0c;进而减少环境污染&#xff0c;实现对废弃光伏组件资源的回收再利用。 我国是光伏组件制造及应用大国&#…

远程仓库的克隆和上传

要创建项目文件夹下打开Git Bush Here --> git clone 远程仓库地址 ! 没有权限访问 原因: 之前登过别人邮箱号,导致克隆失败 解决: 第一步. C盘->用户->电脑用户名->.gitconfig->用vscode打开删除信息,然后保存即可 . 第二步.电脑搜索找到 凭据管理器->wi…

【Python_Scrapy学习笔记(十一)】基于Scrapy框架的下载器中间件添加Cookie参数

基于Scrapy框架的下载器中间件添加Cookie参数 前言 本文中介绍 如何基于 Scrapy 框架的下载器中间件添加 Cookie 参数。 正文 1、添加中间件的流程 在 middlewares.py 中新建 Cookie参数 中间件类在 settings.py 中添加此下载器中间件&#xff0c;设置优先级并开启 2、基…

【C++初阶】命名空间 namespace

一.前言 在正式进入C前&#xff0c;我们需要先了解了解C。顾名思义&#xff0c;C是基于C的一种编程语言&#xff0c;相较于C&#xff0c;C写出来的代码更简洁&#xff0c;有时候C需要几百行代码&#xff0c;而C只需要几十行就可以解决&#xff0c;C也很好的解决了C中存在的一些…

【夜莺监控搭建】

夜莺监控搭建V6版本 v6版本系统架构安装部署安装时序数据库安装mysql、redis和n9e&#xff08;夜莺主程序&#xff09;安装categraf 登录平台如何修改密码添加数据源 官网&#xff1a; https://flashcat.cloud/ GitHub项目地址&#xff1a; https://github.com/ccfos/nightin…

Mongo集群化部署+高可用架构

数据库开发系列 文章目录 数据库开发系列前言一、MongoDB存储引擎二、MongoDB 复制&#xff08;副本集&#xff09;三、为什么需要分片集群架构四、高可用分片集群架构&#xff08;复制集&#xff09;总结 前言 数据库的演进 随着计算机的发展&#xff0c;越来越多的数据需要被…

python+vue 服装穿搭信息管理系统

本系统采用自上往下的方法开发&#xff0c;基本定位如下功能&#xff1a; 本课题要求实现一套服装信息管理系统的设计与实现&#xff0c;系统主要包括管理员模块和用户模块功能模块。 由于本系统需要在不同设备上都能运行&#xff0c;而且电脑配置要求也要越低越好&#xff0c…

SpringMVC框架详解(学习总结)

目录 什么是MVC SpringMVC概述 SpringMVC常见开发方式 SpringMVC执行流程 SpringMVC核心组件介绍 快速构建Spring MVC程序 SpringMVC参数绑定 SpringMVC跳转方式 SpringMVC处理json请求和响应 SpringMVC静态资源处理 SpringMVC操作session和cookie SpringMVC拦截器 …

基于nuxt3的语雀文档批量导出

语雀文档批量导出 快速访问 Github Blog 项目由来 语雀是一个不错的笔记与文档知识库&#xff0c;但是最近发现他开始割韭菜了&#xff0c; 知识库的公开开始收费&#xff0c;就想着把内容都导出自己来部署&#xff0c;发现并没有批量操作&#xff0c;amazing&#xff0c;…

美国运营商PTCRB认证PTCRB认证怎么做PTCRB认证是什么?

大家好&#xff0c;今天我想和大家分享一下什么是PTCRB认证&#xff01; PTCRB是指个人通信服务型号认证评估委员会&#xff0c;由北美移动运营商于1997年成立。目前的运营商已经不仅限于北美&#xff0c;而是涵括全球范围内的移动运营商成员。其目的是为包括Cellular GERAN&a…

Session使用和原理分析图与实现原理-- 代码演示说明 Session 的生命周期和读取的机制代码分析

目录 Web 开发会话技术 -Session —session 技术 session 基本原理 Session 可以做什么 如何理解 Session Session 的基本使用 session 底层实现机制 原理分析图 代码演示 CreateSession.java 测试 Session 创的机制&#xff0c; 注意抓包分析​编辑 ReadSession.j…

C盘文件删除怎么做?3个方法教你清理C盘!

案例&#xff1a;C盘文件怎么删除&#xff1f; 【我的电脑使用了一年多了&#xff0c;现在C盘已经快满了&#xff0c;想知道C盘里的文件哪些可以进行删除&#xff1f;感谢&#xff01;】 C盘是计算机系统盘&#xff0c;存储了操作系统和应用程序等重要文件&#xff0c;因此&a…

机器视觉助力锂电行业升级转型—章鱼博士视控一体化解决方案

摘要&#xff1a; 机器视觉在工业领域中充当了模拟人眼的作用&#xff0c;通过其高效的感知能力、精确的检测准确性、可定制性和较低的人工成本等特点&#xff0c;已逐渐成为工业智能化转型的核心功能。在锂电池领域&#xff0c;机器视觉扮演着许多重要的角色&#xff0c;包括生…

使用Docker部署wikitten个人知识库

使用Docker部署wikitten个人知识库 一、wikitten介绍1.wikitten简介2.wikitten特点 二、本地实践环境介绍三、本地环境检查1.检查Docker服务状态2.检查Docker版本 四、部署wikitten个人知识库1.创建数据目录2.下载wikitten镜像3.创建wikitten容器4.查看wikitten容器状态5.检查w…

【unity实战】随机地下城生成4——小地图的制作(2d,3d通用)(含源码)

原理: 新建一个摄像机,用来查看小地图,我们分个图层只能新建的摄像机才可以拍摄到 如果对摄像机和渲染纹理还不理解的,强烈推荐先看完我的另一篇文章 【Unity游戏开发教程】零基础带你从小白到超神14——灯光、摄像机、天空盒、镜子的制作 新建一个摄像机,记得删除Audio …

关于使用el-input-number设置不让删除为空,让强制为最小值1,以及从1删除,但是发现输入框还是没有最小值的问题

哈喽&#xff0c;大家好啊&#xff0c;最近用到了element的el-input-number 计数器 但是有个问题一直困扰我&#xff0c;就是我发现竟然可以删除输入的值&#xff0c;也不会强制改成最小值 但是因为业务这里不允许数量为空的情况&#xff0c;所以我找了很久&#xff0c;终于实…

JavaSE学习进阶day07_01 Stream流

第二章 Stream流 在Java 8中&#xff0c;得益于Lambda所带来的函数式编程&#xff0c;引入了一个全新的Stream概念&#xff0c;用于解决已有集合类库既有的弊端。 2.1 引言 传统集合的多步遍历代码 几乎所有的集合&#xff08;如Collection接口或Map接口等&#xff09;都支…

SpringBoot学习

什么是springBoot 使用了特定的方式来进行配置&#xff0c;从而使开发人员不再需要定义样板化的配置。简而言之&#xff0c;Spring Boot通过提供默认配置的方式整合了所有的框架&#xff0c;让我们可以更加简单、快速、方便地构建应用程序。 并不是对spring的功能增强&#xf…

基于AT89C52单片机的温湿度检测设计

点击链接获取Keil源码与Project Backups仿真图&#xff1a; https://download.csdn.net/download/qq_64505944/87704704 源码获取 主要内容&#xff1a; 设计一套基于51单片机的温湿度Protus仿真监控系统&#xff0c;采用SHT11、DHT11或DS189B20等传感器模块&#xff0c;用LC…

【分享】集简云 x 微步在线丨零代码连接钉钉宜搭与用友U8,让企业数字化升级更轻松

微步在线 • 介绍 微步成立于2015年&#xff0c;是数字时代网络安全技术创新型企业&#xff0c;专注于精准、高效、智能的网络威胁发现和响应&#xff0c;开创并引领中国威胁情报行业的发展&#xff0c;提供“云流量端点”全方位威胁发现和响应产品及服务&#xff0c;帮助客户…