当前位置: 首页 > news >正文

初识Redis · 简单理解Redis

目录

前言:

分布式系统

开源节流

认识Redis

负载均衡

缓存

微服务


前言:

本文只是作为Redis的一篇杂谈,简单理解一下Redis为什么要存在,以及它能做到和它不能做到的事儿,简单提及一下它对应的优势有什么,不足有什么之类的。

总之,本文只是Redis入门的杂谈,咱们看看即可~


分布式系统

首先提到Redis,咱们除了能想到它快之外,还应该能想到分布式系统,即便没有系统学习过Redis的同学,对于Redis的第一印象大概率就是它能应用在分布式系统上。

那么什么是分布式系统呢?

我们从最简单的单机架构开始谈。

其实到目前为止,挺多公司用的还是单机架构的服务器,什么是单机架构呢?就是上层的应用服务和数据库服务都是由一个服务器来完成的。那么这个服务器就会面临一个老生常谈的问题,它这个单机服务器面临大的吞吐量的时候怎么办?

所以当数据量大起来的时候,一台单机服务器就没有办法处理这么多的数据量,我们就可以引入其他服务器来帮助原来的单机服务器处理多余的数据量。

那么问题来了,我们是将服务器直接通上电,然后就可以直接运行,甚至可以直接处理数据了吗?显然并不是。

在引入了多台主机的情况下,我们势必面临的问题是不仅有服务器和服务器之间的连接问题,甚至有了人与人之间的资源调度问题。因为多台主机,代码量几乎是按照指数级增加的,所以前期的代码开发,到后期的代码维护,开发人员运维人员的调度明显是一个问题。

我们从最简单的分布式开始入手,最开始一台服务器处理应用服务和数据库存储服务,那么我们思考,是否可以将数据库存储服务和应用服务分开:

就像这样,我们就拥有了两台主机,一台是应用服务器的主机,一台是存储服务器的主机,一个专门用来处理应用的上层请求,一个专门用来处理数据库的服务

到现在,最最基本的分布式架构已经出来了,那么我们把数据量往上增加的过程,势必会有一种烦恼:硬件资源和软件资源如何增加?

开源节流

到了这个时候,面对非常庞大的数据量的时候,硬件资源反而是最好提升的,因为服务器处理请求的时候,吃的资源无非就是CPU,内存,硬盘,网络等资源,所以面对硬件资源,我们可以这样提升:主板上面多插几块CPU,多插几块内存,硬盘等同理,对于网络来说我们可以提升网络带宽,可以更换网卡,从万兆网卡更换成千兆网卡。

到这里,我们就简单理解了开源节流中的开源,即非常简单粗暴的增加硬件资源,无脑堆就行,但是我们仍然面临的问题是,主板中的位置是有限的,也就是说硬件资源是没有办法无线堆积的,那么有人就说了,堆积主板呗,只能说想法是美好的,毕竟硬件资源最耗费的就是钱财了~~

那么开源的时候预算到了一定程度,没有办法了,我们是否应该考虑一下涉及到人工成本的节流?

比如Redis存储热点数据的时候,我们使用的是什么数据结构?这样操作下来时间复杂度是多少?空间复杂度是多少?是否还有更多的空间进行优化?

此时就涉及到了人工的优化了,可是随着服务器规模的增大,代码量增大的可不是一点半点,那么人工成本就非常大了,并且改错了一个bug可能就伴随着n个Bug。

所以其实从这里就可以看到,分布式并不是一件太完美的事,虽然增加了数据量的处理,但是处理的成本是真的大~~

认识Redis

当我们访问Redis的官方网站的时候,我们大概率能搜索到以下的关键字:in-memory data store, cache, streaming engine, message broker

翻译过来就就是存储在内存的数据,缓存,流式引擎,消息队列。

即我们可以理解为Redis可以做的事儿有以上这么多,当然实际上比这些多多了,不过你说Redis能做这么多,是因为它一发明出来就能做这么多事儿吗?

显然不是,最开始Redis的初心只是为了作为消息中间件,即用在消息队列上面,那么这里就涉及了生产消费模型,最开始人们用了一段时间后,发现Redis好像不止可以用在消息队列上,比如应用在流式引擎上好像更香。

所以到这里咱们简单理解呢就是Redis最开始发明出来之后发现应用在其他领域好像也是个香饽饽,也就拿去开发了,不过目前的消息队列呢很少有直接使用Redis作为中间件的,有很多其他著名的中间件,咱们可以上网搜搜~

咱们拿MySQL和Redis来讲,MySQL最大的缺点就是访问慢,数据量一起来,访问速度是会有显著的下降的,而巧了,Redis也可以当作数据库使用,那么我们是不是就可以把MySQL踢出去,直接使用Redis呢?

显然不能,MySQL慢是慢了点,但是人家的存储量比Redis大到哪里去了,那么为什么Redis快呢?因为它是将数据存储到了内存里面

既然是存储到了内存里面,那么按照访问速度金字塔,CPU是最快的,然后是一级缓存二级缓存三级缓存等,最慢的是硬盘,而MySQL读写都是在硬盘,Redis读写都是在内存,你说这速度差的多不多吧!!

而对于Redis来说,还有一个独特的点是它可以进行网络通信,即将自己的内存数据通过网络发送到其他主机上,这就很强了,不过有的时候也会受限于网络等问题。咱们学习进程的时候都知道有一个东西叫做进程的隔离性,而对于Redis来说,它能进行进程间通信,即网络通信,你说它强不强?

好了,我们简单比较了以下MySQL和Redis的区别之后,我们是否会思考,有没有存储量大且速度快的方案?

显然是有的,我们明显可以结合MySQL和Redis使用,比如利用二八原则,即百分之20的数据可以满足百分之80的访问需求。我们就可以把这百分之20的数据放在Redis里面,到时候直接访问redis就可以了,要是访问的不是这20的数据,再访问MySQL就行。

所以根据上文介绍的分布式系统来说,数据量虽然大,但是总有部分数据是经常访问的,我们就把这种数据成为热点数据,其他数据成为冷数据,冷数据咱们就通过MySQL访问,热数据我们大多都是通过Redis访问。

负载均衡

好了,我们现在引入负载均衡的概念了,既然数据量起来了,我们还有多个服务器,那么哪个服务器处理哪个请求呢?最简单的方式是轮询,即A服务器处理了第一个那么就B服务器处理第二个,好了,问题来了,谁来完成这个分配的任务呢?

此时,负载均衡就出现了,负载均衡就像是领导,它不处理请求,它要求的是分发每个请求,即把每个请求根据实际情况分发给不同的服务器,这样就能完成一个削峰填谷的作用。大概率就不能出现某个主机处理的请求太多了导致服务器挂了的情况。

即,负载均衡=领导。

不过既然是领导,既然是要接受所有的请求,虽然不处理,但是仍然是要求负载均衡的接受请求的能力是要大于处理应用服务器的,那么你说会不会数据量大到负载均衡都接受不完的情况?

是非常有可能的,比如双十一,618的时候,就是数据量大爆发的时候,这个时候就可能要引入更多的负载均衡器了。

缓存

可是你别看数据量这么大的时候只有应用服务器在工作,数据多的时候,数据库可是真的烦恼,因为几乎所有的数据都是要从数据库的这里走的,也就是说数据库服务器是一个人默默承担了所有。

那么为了解决问题,根据实际情况出发,我们发现数据库的读频率是远远大于写频率的,所以我们不妨把数据库服务器分为主数据库和从数据库,一个负责读取一个负责写,这样我们引入了两台服务器分别完成读写的操作,自然面临的一个问题就是同步问题

而大多数情况,光把数据库分为了读写数据库还不够,因为有的数据非常频繁的访问,这就导致了有的时候同步不及时,所以引入了缓存:

即我们将数据库分为了三个,其中两个用来读取,一个是普通的从数据库,一个是缓存,用来缓存热点数据,这样数据库的压力一下就下来了。

不过还是那句话,这样后面的维护成本是比较大的,并且同步问题的难度也是越来越大了。此时咱门的Redis就应用到了缓存服务器里面了。不过这里的从数据库存放的可都是全量数据。

微服务

不过如果数据量在极端情况下,非常非常多,多到什么程度呢,多到一张表都需要拆分,此时就需要引入微服务了,即我们将数据量拆分了之后,哪个服务器处理哪个库的哪个表的数据等。

分库分表

这个时候的代码量,以及维护难度是大大的提高了,不过能处理数据的程度也确实提升了不少了。

我们在这里就简单的理解了微服务是什么,即将引入了多台服务器,不过处理的内容比较单一,比如就一个数据库的哪个哪个表。不过具体怎么分,那得看实际情况了。

引入微服务,解决了人的问题,付出的代价?
1.系统的性能下降~~(要想保证性能不下降太多,只能引入更多的机器,更多的硬件资源 =>充钱~~)
拆出来更多的服务,多个功能之间要更依赖网络通信,网络通信的速度很可能是比硬盘还慢的!!!幸运的是,硬件技术的发展,网卡现在有 万兆 网卡,读写速度已经能过超过硬盘读写了~~
2.系统复杂程度提高, 可用性收到影响~~
服务器更多了,出现问题的概率就更大了~~
这就需要一系列的手段,来保证系统的可用性~~
(更丰富的监控报警,以及配套的运维人员)
微服务的优势:
1.解决了人的资源分配问题.
2.使用微服务, 可以更方便于功能的复用
3.可以给不同的服务进行不同的部署

小结:

在分布式系统中,我们接触到的名词有:

应用/系统:即一个服务器程序。
模块/组件:即一个应用中独立的功能
分布式:引入多个服务器,每个服务器协同工作
集群:其实就是分布式上的多个主机,不过集群偏逻辑上
主从结构:比如数据库可以分为主从数据库,服务器节点也是
中间件:和业务无关的功能,比如消息队列,数据库,更多的是为了协助整个服务器工作。
可用性:系统整体可用的时间/总时间
响应时间:肯定是越短越好
吞吐量和并发:一条高速公路,两个车道,并发量为2,一分钟过了100辆车,吞吐量为100.


感谢阅读!

本文主要还是通过分布式系统简单引入Redis~~所以较为粗糙~~后面会越来越详细的!!

相关文章:

初识Redis · 简单理解Redis

目录 前言: 分布式系统 开源节流 认识Redis 负载均衡 缓存 微服务 前言: 本文只是作为Redis的一篇杂谈,简单理解一下Redis为什么要存在,以及它能做到和它不能做到的事儿,简单提及一下它对应的优势有什么&#…...

Python设计模式-抽象工厂模式

1. 什么是抽象工厂模式 抽象工厂模式(Abstract Factory Pattern)是一种创建型设计模式,它提供了一种方式来创建一系列相关或相互依赖的对象,而无需指定它们具体的类。这种模式是所有形式的工厂模式中最为抽象和最具一般性的一种。…...

【中检在线-注册安全分析报告】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 1. 暴力破解密码,造成用户信息泄露 2. 短信盗刷的安全问题,影响业务及导致用户投诉 3. 带来经济损失,尤其是后付费客户,风险巨大,造…...

第16届蓝桥杯单片机模拟试题Ⅲ

试题 代码 sys.h #ifndef __SYS_H__ #define __SYS_H__#include <STC15F2K60S2.H> //sys.c extern unsigned char UI; //界面标志(0湿度界面、1参数界面、2时间界面) extern unsigned char time; //时间间隔(1s~10S) extern bit ssflag; //启动/停止标志…...

软件系统安全设计方案,信息化安全建设方案(Word原件)

1.1 总体设计 1.1.1 设计原则 1.2 物理层安全 1.2.1 机房建设安全 1.2.2 电气安全特性 1.2.3 设备安全 1.2.4 介质安全措施 1.3 网络层安全 1.3.1 网络结构安全 1.3.2 划分子网络 1.3.3 异常流量管理 1.3.4 网络安全审计 1.3.5 网络访问控制 1.3.6 完…...

UE5 尝试接入 C# 脚本方案

最近团结替代 Unity6 的事官宣了&#xff0c;只能唏嘘不已&#xff0c;顺带的也就研究了一下在 UE5 中接入 C# 的方案&#xff0c;也算是提前帮广大 Unity 开发者蹚一下转 UE 的路~ 当前我发现的&#xff0c;维护比较勤快的 UE C# 方案有2个&#xff0c;UnrealCSharp 和 Unrea…...

力扣hot100 81-90记录

81-90&#xff08;动态规划&#xff09; leetcodehot100 81&#xff1a; class Solution { public:int climbStairs(int n) {int p 0, q 0, count 1;for(int i 1; i < n; i){p q; q count;count p q;}return count;} };//81class Solution { public:vector<vect…...

深入解析以太坊虚拟机(EVM)架构与状态机特性

以太坊&#xff08;Ethereum&#xff09;作为第二代区块链平台&#xff0c;其不仅仅是一部分布式账本&#xff0c;而是一个支持智能合约与去中心化应用&#xff08;DApps&#xff09;的全球计算机。其核心架构中&#xff0c;以太坊虚拟机&#xff08;Ethereum Virtual Machine&…...

MySQL---Ubuntu环境安装

1.首先我们要安装MySQL的安装包&#xff08;APT 配置包&#xff09; 这个是适合我的Ubuntu版本的MySQL安装包 下载安装包&#xff08;MySQL APT 配置包&#xff09; wget https://dev.mysql.com/get/mysql-apt-config_0.8.17-1_all.deb2.安装 APT 配置包&#xff1a; sudo d…...

Vue 3 中 ref 与 reactive 的对比

Vue 3 中 ref 与 reactive 的对比 Vue 3 中 ref 与 reactive 的对比一、定义和基本使用refreactive 二、响应式原理refreactive 三、适用场景refreactive 四、注意事项refreactive Vue 3 中 ref 与 reactive 的对比 在 Vue 3 中&#xff0c;ref 和 reactive 都是用于创建响应式…...

【数据结构 · 初阶】- 单链表

目录 一.相关指针知识点 二.链表 1.为什么学了顺序表还要学链表 2.优点 三.实现 1.链表的打印 —— 理解链表结构 (2) 物理结构图 2.链表的尾插 —— 入门 错误写法&#xff1a;tail ! NULL 总结&#xff1a; 正确代码物理图解&#xff1a; (2) 尾插整体代码 (思考…...

【前端】【React】useCallback的作用与使用场景总结

一、useCallback 的作用与使用场景总结 useCallback 是 React 提供的一个 Hook&#xff0c;用于缓存函数的引用&#xff0c;避免因为组件重新渲染而导致函数地址发生变化。它返回一个记忆&#xff08;memoized&#xff09;后的回调函数&#xff0c;只有当依赖项发生变化时才会…...

什么是 React Router?如何使用?

React Router 详解 1. 引言 在现代 web 开发中&#xff0c;单页面应用&#xff08;SPA&#xff09;越来越流行&#xff0c;React 是构建 SPA 的热门库之一。React Router 是一个标准的路由库&#xff0c;专为 React 应用设计&#xff0c;允许开发者在应用中实现动态路由和 UR…...

jQuery 插件

在现代Web开发中&#xff0c;jQuery以其简洁的语法和强大的功能成为了前端开发者们喜爱的工具之一。为了进一步扩展jQuery的功能&#xff0c;社区贡献了大量的插件&#xff0c;使得开发者能够更加高效地实现各种复杂的交互效果和功能。本文将介绍什么是jQuery插件、如何编写自己…...

未来杭州:科技与茶香交织的生态诗篇

故事背景 故事发生在中国浙江杭州&#xff0c;融合智能科技与传统茶文化&#xff0c;描绘未来城市中人与自然共生的诗意画卷。通过六个充满未来感的生态场景&#xff0c;展现科技如何重塑龙井茶园、古运河、西湖等经典地标&#xff0c;编织出一曲科技与人文共鸣的生态交响诗。 …...

微服务多模块构建feign项目过程与一些报错(2025详细版)

目录 1.eureka-server的注意事项 2.eureka-feign的注意事项 3.多模块构建feign项目过程 3.1创建父项目 3.2创建子项目eureka-server 3.3创建子项目eureka-provider 3.4创建子项目eureka-feign 3.5运行 给个点赞谢谢 1.eureka-server的注意事项 eureka-server的yml文件…...

AWS云安全实践:基于CISA关键措施的检测与实施指南

1. 引言 随着越来越多的组织将其基础设施迁移到云端,确保AWS环境的安全变得至关重要。美国网络安全与基础设施安全局(CISA)提出的关键措施为我们提供了一个可靠的框架。本文将探讨如何在AWS环境中实施这些措施,特别关注检测类别和可实施的关键措施。 2. AWS云安全中的CISA关…...

超越肉眼所见:一种利用视网膜光学相干断层扫描血管成像(OCTA)图像进行早期痴呆检测的关联模型|文献速递-深度学习医疗AI最新文献

Title 题目 Beyond the eye: A relational model for early dementia detection using retinal OCTA images 超越肉眼所见&#xff1a;一种利用视网膜光学相干断层扫描血管成像&#xff08;OCTA&#xff09;图像进行早期痴呆检测的关联模型 01 文献速递介绍 阿尔茨海默病&…...

终端使用python出现segmentation fault (core dumped)的一种解法

有时候在终端输入python&#xff0c;希望交互式运行命令或者通过pdb调试&#xff0c;但是出现如下错误&#xff1a; [1] 7476 segmentation fault (core dumped) python 但是单独运行python xxx.py 或者 python -c "xxx" 又是可以的&#xff01; 经过与AI大模…...

分布式id生成算法(雪花算法 VS 步长id生成)

分布式ID生成方案详解:雪花算法 vs 步长ID 一、核心需求 全局唯一性:集群中绝不重复有序性:有利于数据库索引性能高可用:每秒至少生成数万ID低延迟:生成耗时<1ms二、雪花算法(Snowflake) 1. 数据结构(64位) 0 | 0000000000 0000000000 0000000000 0000000000 0 |…...

h265为什么没有大范围应用

H.265&#xff08;也称为 HEVC&#xff0c;High Efficiency Video Coding&#xff09;是一种视频压缩标准&#xff0c;旨在提供比 H.264&#xff08;AVC&#xff09;更高的压缩效率。然而&#xff0c;尽管 H.265 在技术上具有许多优势&#xff0c;但其大范围应用受到了以下几个…...

Linux图形化界面

一、Linux图形化界面 桌面对于Linux系统来说&#xff0c;只是一个应用程序&#xff0c;所以是可以移植的。 Linaro公司针对于半导体厂商推出的芯片&#xff0c;开发了ARM开发工具、Linux内核以及Linux发行版&#xff08;包括Android及Ubuntu&#xff09;。 所以无需自己移植&am…...

LangChain-检索系统 (Retrieval)

检索系统 (Retrieval) 检索系统是LangChain的核心组件之一&#xff0c;它提供了从各种数据源获取相关信息的能力&#xff0c;是构建知识增强型应用的基础。本文档详细介绍LangChain检索系统的组件、工作原理和最佳实践。 概述 检索系统解决了大型语言模型知识有限和过时的问…...

【Linux】进程概念

目录 一、进程概念 &#xff08;一&#xff09;什么是进程 &#xff08;二&#xff09;描述进程-PCB 二、fork创建进程 &#xff08;一&#xff09;bash概念 &#xff08;二&#xff09;如何创建子进程 一、进程概念 &#xff08;一&#xff09;什么是进程 结论&#x…...

【JavaScript】十七、事件委托(冒泡阶段的利用)

文章目录 1、事件委托2、tab栏切换案例&#xff1a;使用事件委托优化3、阻止元素默认行为 1、事件委托 以送快递为例&#xff0c;某班有20名同学&#xff0c;每人有一个快递&#xff0c;快递员可以一个个送&#xff0c;需要送40次&#xff0c;很繁琐&#xff0c;换个方式&…...

Android InstalldNativeService::getAppSize源码分析

InstalldNativeService::getAppSize 是 Android 系统中用于计算应用程序存储空间的核心方法&#xff0c;其逻辑可分为以下几个关键模块&#xff08;结合代码和上下文分析&#xff09;&#xff1a; 一、基础校验与初始化 ​​1. 权限校验​​ 通过 ENFORCE_UID(AID_SYSTEM) 确…...

微信小程序跳

/** * 画布文本换行绘制 * canvasContext 画布实例 * text 要写入的文本 * x 初始x轴位置 * y 初始y轴位置 * ySpacing 换行后&#xff0c;每行直接的间隔 * maxWidth 此文本写入画布的最大宽度&#xff0c;超过此宽度就换行 * color 文本颜色 * size 文本字体大小 * align 文本…...

openlayers入门01 -- 环境配置和初始化地图

openlayers入门 openlayers开发环境配置 1.下载VSCode 官网地址&#xff1a;https://code.visualstudio.com/ 点击Download for Windows 2.安装汉化插件和openlayers插件 搜索chinese&#xff0c;下载Chinese (Simplified) (简体中文) Language Pack 更改语言并重启 搜…...

window实现多jdk共存、便捷切换

背景 如今大模型技术流行&#xff0c;想要跟上发展就也得学一学&#xff0c;比如Spring-AI等框架&#xff0c;但这些AI相关的框架对jdk版本都有要求&#xff0c;一般都要不低于17。 而在企业开发中&#xff0c;很多时候还使用着jdk8&#xff0c;如何重新安装17&#xff0c;则需…...

常见的 set 选项与空变量检查

在编写 Bash 脚本时&#xff0c;使用 set 命令中的一些选项可以帮助我们在脚本执行过程中及时捕获错误和潜在问题&#xff0c;避免脚本在出错时继续执行&#xff0c;提高脚本的可靠性和健壮性。 set -e&#xff1a;遇到错误就停 set -e 的作用是&#xff1a;一旦脚本中的某个…...

JS 创建对象方法

创建对象的三种方法 3 通过构造函数 自定义构造函数 构造函数 快速定义多个对象 自定义构造函数...

IMX6ULL2025年最新部署方案:最新的UBootLinux和Rootfs部署正点原子Alpha开发板指南

正点原子Alpha IMX6ULL开发板2025年最新部署方案&#xff1a;基于Ubuntu24.04平台开发&#xff0c;部署最新的UBoot/Linux和BusyBox Rootfs部署指南 前言 ​ 笔者实在绷不住比较旧的方案了&#xff0c;广义流行的方案是使用2016年发布的Uboot来引导Linux4.1.15&#xff0c;配…...

threeJs实现裸眼3D小狗

一、实现效果 使用threeJs实现裸眼3D小狗&#xff0c;效果如下&#xff0c;其实如果将小狗换成建模小狗&#xff0c;效果更好&#xff0c;这个是模拟了一只小狗。 二、实现代码 代码如下&#xff1a; <!DOCTYPE html> <html> <head><title>星空小狗…...

ZYNQ笔记(二):MIO 、EMIO

版本&#xff1a;Vivado2020.2&#xff08;Vitis&#xff09; 任务&#xff1a;使用GPIO MIO 和 EMIO 实现按键 KEY 控制 LED&#xff08; 两个PL端LED、两个PS端KEY&#xff09; 目录 一、MIO 、EMIO 介绍 二、硬件设计 三、软件设计 四、效果 一、MIO 、EMIO 介绍 …...

Cygwin编译安装Acise

本文记录Windows下使用Cygwin编译安装Acise的流程。 零、环境 操作系统Windows11Visual Studio CodeVisual Studio Code 1.92.0Cygwin 一、工具及依赖 1.1 Visual Studio Code 下载并安装Visual Studio Code, 同时安装以下插件&#xff0c; Task Explorer Output Colorizer …...

ubuntu22.04 安装-ODBC驱动-SQLserver

1.ISO下载 中科大 Index of /ubuntu-releases/http://mirrors.ustc.edu.cn/ubuntu-releases/ 2.VMware Workstation创建虚拟机 3.更换清华源或者中科大的源 Ubuntu 24.04更换清华源_哔哩哔哩_bilibili 中科大镜像源&#xff1a; Ubuntu - USTC Mirror Help 清华源 ubuntu | 镜…...

[数据结构]Trie字典树

GPT的介绍 &#x1f9e0; 一句话总结&#xff1a; 字典树是一种专门用来存很多字符串的“超级前缀树”&#xff0c;查找某个字符串或前缀的时候&#xff0c;特别快&#xff01; ✍️ 举个生活例子&#xff08;类比&#xff09;&#xff1a; 你想做一个词典&#xff08;Dictio…...

【网络安全】Linux 命令大全

未经许可,不得转载。 文章目录 前言正文文件管理文档编辑文件传输磁盘管理磁盘维护网络通讯系统管理系统设置备份压缩设备管理其它命令前言 在网络安全工作中,熟练掌握 Linux 系统中的常用命令对于日常运维、日志分析和安全排查等任务至关重要。 以下是常用命令的整理汇总,…...

Xcode警报“Ignoring duplicate libraries: ‘-lc++’” 警报

目录 前言 一、问题出现的原因 二、解决步骤 1. 检查构建设置中的链接器标志 2. 检查依赖中的重复库 3. 清除派生数据&#xff1a; 4. 检查冲突的 C 库 5. 更新 CocoaPods&#xff1a; 前言 有时候我们会看到Xcode警报&#xff1a;Ignoring duplicate libraries: ‘-lc…...

WebStorm中使用live-server插件

文章目录 1. 前提条件1.1 已安装Node1.1.1 淘宝的镜像1.2 安装live-server1.3 安装WebStorm2. Windows配置hosts3. WebStorm配置live-server3.1 WebStorm创建3.2 启动 live-server1. 前提条件 1.1 已安装Node Windows PowerShell 版权所有(C) Microsoft Corporation。保留所…...

Python 中使用单例模式

有这么一种场景&#xff0c;Web服务中有一个全局资源池&#xff0c;在需要使用的地方就自然而言引用该全局资源池即可&#xff0c;此时可以将该资源池以单例模式实现。随后&#xff0c;需要为某一特殊业务场景专门准备一个全局资源池&#xff0c;于是额外复制一份代码新建了一个…...

【基于LangChain的千问大模型工具调用】 Function CallingTool Calling简易示例

目录 示例代码 运行结果 功能&#xff1a;根据用户输入自动选择数学计算/天气查询工具处理 ​​"用户输入 → 意图分析 → 工具调用 → 结果返回"​​ 库名解析&#xff1a;【langchain库名解析】-CSDN博客 示例代码 # 模块1&#xff1a;依赖导入 from langc…...

银河麒麟服务器操作系统 V10 SP1 中玩转firewalld防火墙

Hey小伙伴们~&#x1f44b; 今天来聊聊怎么在银河麒麟服务器操作系统 V10 SP1 中玩转firewalld防火墙&#xff01;&#x1f6e1;️ 这个强大的工具能帮你动态管理防火墙规则&#xff0c;还支持区域概念&#xff0c;让你的网络流量控制更灵活&#xff01;&#x1f389; &#x…...

信创服务器网络更稳了!链路聚合Bonding实战

原文链接&#xff1a;信创服务器网络更稳了&#xff01;链路聚合Bonding实战 Hello&#xff0c;大家好啊&#xff01;今天给大家带来一篇信创服务器操作系统上链路聚合&#xff08;Bonding&#xff09;配置实战的文章。链路聚合可以让两块网卡协同工作&#xff0c;提高服务器网…...

沐渥科技详解氮气柜操作指南

氮气柜是一种通过持续注入高纯度氮气&#xff0c;维持柜内惰性气体环境的设备&#xff0c;用于存储半导体晶圆或其他敏感元件&#xff0c;防止氧化、吸湿和污染。氮气柜操作指南是怎样的&#xff1f;下面沐渥小编给大家介绍一下。 一、操作前准备 &#xff08;1&#xff09;安全…...

Netty之ChannelOutboundBuffer详解与实战

深入理解Netty的高低水位线机制及其应用实践 在高性能网络编程中&#xff0c;Netty作为一个广泛使用的异步事件驱动的Java框架&#xff0c;其高效的流量控制机制对于系统的稳定性和性能至关重要。本文将深入探讨Netty中的高低水位线&#xff08;High/Low Water Mark&#xff0…...

学习Python的优势体现在哪些方面?

文章目录 前言易于学习和使用应用领域广泛丰富的开源库和社区支持跨平台兼容性职业发展前景好 前言 学习 Python 具有多方面的优势&#xff0c;这使得它成为当今最受欢迎的编程语言之一&#xff0c;以下为你详细介绍。 易于学习和使用 语法简洁易懂&#xff1a;Python 的语法…...

每天五分钟玩转深度学习PyTorch:搭建LSTM算法模型完成词性标注

本文重点 本文通过LSTM算法模型来解决一个实际问题,也就是如何使用LSTM完成词性预测,下面我们搭建两个模型,一个是单词级别的,另外一个是字母级别的,大概的步骤就是,字母级别的LSTM将每个单词的字母作为输入,然后取最后一个时刻作为整个单词的表示,然后将文本中所有的…...

ANP协议深度解析:智能体网络协议的演进与革新

引言 随着人工智能&#xff08;AI&#xff09;技术的快速发展&#xff0c;多智能体系统&#xff08;Multi-Agent Systems, MAS&#xff09;逐渐成为解决复杂问题的核心范式。然而&#xff0c;智能体之间的高效协作一直面临通信标准不统一、资源分配冲突、动态环境适应能力不足等…...

如何降低论文的AIGC检测率,减少“AI味”

要降低论文的AIGC&#xff08;AI生成内容&#xff09;检测率&#xff0c;减少“AI味”&#xff0c;关键在于让论文更自然、个性化&#xff0c;并符合学术规范。以下是具体方法&#xff1a; 1. 避免直接复制AI生成内容 ❌ 错误做法&#xff1a;直接使用DeepSeek等工具生成的整段…...