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

大语言模型的token和向量

现在大语言模型火了,像 ChatGPT 什么的,能回答问题、写文章,。但它们为啥这么聪明呢?这就和向量、Token 有关系。那怎么通过向量、Token来理解我们的问题呢。看完这篇文章就知道了

token

Token 就像是语言里的小积木,是文本中最小有意义的部分。

英文里,单词常常就是 Token,不过有时候长单词会被拆成子词,比如“unbelievable”拆成“un”“believ”“able”。

中文呢,因为字词没空格,得用工具分成一个个字词,像“我爱自然语言处理”,可能分成“我”“爱”“自然语言”“处理”这些 Token。

Tokenization 的方法与策略

  • 基于空格的分割:这在英文里很好用,比如 “I am a student.”,按空格就能分成 [“I”, “am”, “a”, “student.”] 这些 Token。但遇到像 “don't” 这样的缩写,就不太行了,而且中文没有空格,不能用这个方法。
  • 规则基础的分割:按照设定好的规则来分,比如把标点去掉,数字统一处理。像 “Hello, world! 123”,去掉标点就变成 [“Hello”, “world”, “123”]。不过这样可能会丢掉一些重要信息,比如引号里的内容,而且规则得根据具体情况调整。
  • 字节对编码(BPE):它会统计文本里字节对出现的频率,把经常一起出现的字节对合并成新的子词单元。比如 “low lowing lowest”,先发现 “lo” 出现多,就合并,最后可能得到 [“low”, “lowing”, “lowest”]。这个方法能处理没见过的词,但分出来的子词可能不太好理解,而且计算有点复杂。
  • 字节级 BPE:在字节级别用 BPE 算法,对多种语言混合的文本或者特殊符号处理得很好,不过计算量更大,需要更多存储空间。
  • WordPiece:和 BPE 类似,不过它在合并字节对的时候,会考虑对语言模型有没有帮助,会根据大量文本学习怎么分最好。但需要很多数据来训练,不然可能分不好。
  • Unigram Language Model:从很多 Token 开始,慢慢去掉对语言模型不太重要的,留下有用的。这样能根据实际情况调整 Token 集合,但计算成本高,训练时间长。

Token 在模型中的作用与影响

在大语言模型里,文本要先变成 Token 序列,每个 Token 会被编成一个数字编号。比如有个简单的词汇表 {“I”: 1, “love”: 2, “natural”: 3, “language”: 4, “processing”: 5},那么 “I love natural language processing.” 就会被编成 [1, 2, 3, 4, 5]。接着这些编号会变成向量,模型就能通过向量来理解文本的意思。

模型推理生成文本时,会根据输入的 Token 序列和学过的知识,算出下一个 Token 可能是什么,比如算出 “is” 的概率是 0.1,“a” 的概率是 0.05 等等,然后选概率高的或者用其他方法确定下一个 Token,这样就能生成连贯的文本。

选择不同的 Tokenization 方法对模型性能影响很大。词汇量大,模型能表达的意思就多,但计算也更复杂,要花更多时间和空间。处理没见过的词时,如果 Tokenization 方法好,模型就能把没见过的词拆成认识的部分,从而大概理解意思。而且合理的 Tokenization 还能让输入序列变短,计算更快,比如把 “New York” 当成一个 Token 处理,就比分开处理 “New” 和 “York” 更高效。

向量

从数学来讲,向量有大小和方向。在大语言模型里,向量用来表示单词、句子甚至整篇文档。比如把每个单词变成一个固定长度的向量,语义相近的单词,它们的向量在空间里的距离就会比较近,像 “猫” 和 “狗” 的向量距离就比 “猫” 和 “苹果” 的近。

向量的维度很重要。维度高,能表示的语义信息就多,模型能力就强,像做复杂的文本分类、理解语义、生成自然的文本等都能做得更好,但计算也更难,训练时间长,还可能出现过拟合。维度低,计算简单,但可能没法很好地表示复杂的语义,在遇到有隐含意思或者有歧义的文本时,模型就容易理解错。一般大语言模型里,词向量维度从 256 维到 1024 维甚至更高都有,句子和文档向量维度会根据模型和任务再调整。

 向量化的目的与优势

向量化主要是为了让计算机能处理文本这种非数字的数据。计算机处理数字快,把文本变成向量,就能利用计算机的计算能力来分析文本。比如在文本分类任务中,把文本变成向量后,计算机就能通过计算向量快速判断文本属于哪一类,而不是只简单地匹配文字。

向量化还能准确地抓住数据的特征和关系。在词向量空间里,语义相近的词向量距离近,不同的词向量距离远。比如 “国王” 和 “王后” 的向量相似度就比和 “苹果” 的高,模型就能根据这个理解它们的语义联系,在回答问题、生成文本时就能更符合逻辑。而且向量形式的数据做矩阵运算快,能利用高效的矩阵运算库,让模型训练和推理更快,能处理更多文本,满足实际应用中快速处理大量数据的需求。

向量在模型中的应用场景

在大语言模型里,词向量很基础。通过像 Word2Vec、GloVe 这些方法在大量文本上训练,词向量能抓住单词的语义信息。比如在情感分析任务中,模型可以根据词向量判断文本的情感倾向。

句子和文档也能变成向量。句子向量通常是把句子里单词的向量加权求和得到,文档向量也类似。这样得到的向量能用来计算文本相似度、做分类和聚类。比如在信息检索中,通过计算查询语句和文档向量的相似度,能快速找到相关文档;在文本聚类中,根据向量相似性把文本分类,能发现文本的潜在主题和模式。

在模型输入和输出时,向量化也很关键。输入文本要先变成向量,模型处理后输出也是向量,然后再变成文本。比如在文本生成任务中,模型输出的向量要解码成单词序列,才能生成连贯的文本;在机器翻译中,源语言文本变成向量输入,模型输出目标语言文本的向量,再解码成翻译结果。

向量在注意力机制里也很重要。注意力机制通过计算向量之间的相关性,给输入文本的不同部分分配不同权重,让模型能关注重要信息,提高性能。比如在阅读理解中,回答问题时,注意力机制能让模型聚焦在相关文本上,提取关键信息,回答更准确,避免无关信息干扰,让模型能更好地理解复杂文本,输出更有针对性的答案。

那Token 和向量怎么配合

文本被分成 Token 序列后,模型会用一种叫词嵌入的技术把 Token 变成向量。比如 Word2Vec,它通过让神经网络学习大量文本中单词的上下文信息,来调整单词对应的向量值,让语义相近的单词向量距离近。像 “苹果” 和 “香蕉” 如果经常在相似上下文中出现,它们的向量就会接近。

基于 Transformer 架构的模型(像 GPT、BERT 等),在嵌入层直接把 Token 变成向量。模型会给每个 Token 一个固定维度的向量,通过模型的参数矩阵和 Token 的编码(比如独热编码或者整数编码)相乘得到。比如模型嵌入层维度是 512,词汇表大小是 10000,那么一个 Token 的向量就是 512×10000 的参数矩阵和它的编码向量相乘得到的 512 维向量。这样就能快速把 Token 变成模型能处理的向量,而且随着模型训练,向量会不断优化,更好地表示 Token 的语义和语言特征。

 向量如何表征 Token 的语义

向量在空间里的位置和数值分布能表示 Token 的语义。语义相近的 Token,向量位置近,某些维度的数值也相似。比如表示颜色的 “红色”“蓝色”“绿色”,它们的向量在和颜色相关的维度上数值可能相似,其他维度有差异。通过计算向量的距离(像欧几里得距离、余弦距离)或者相似度(像余弦相似度),模型能判断 Token 语义的相似程度。

在模型推理和理解语言时,向量的这种语义表示能力很有用。比如在文本分类任务中,模型根据文本中 Token 的向量判断主题类别;在情感分析中,通过分析向量里的情感倾向信息确定文本的情感态度。向量之间的运算也能模拟一些语义关系,像 “国王 - 男人 + 女人 = 王后”,通过向量运算能得到和 “王后” 向量相近的结果,这说明模型能理解一些语义逻辑关系,提升语言理解和处理能力,更好地应对各种复杂的语言情况和任务。

 两者协同工作的机制

在大语言模型训练时,Token 和向量紧密配合。输入文本先被分成 Token 序列,然后通过词嵌入层变成向量。模型通过学习大量文本,不断调整向量的权重和参数,让向量更好地表示 Token 的语义和语言结构。比如在基于 Transformer 架构的语言模型训练中,模型通过多头注意力机制对不同位置的 Token 向量加权计算,学习 Token 之间的依赖关系和语义关联。这里 Token 的顺序和组合对模型学习语法和语义规则很重要,向量则是模型计算和推理的基础数据形式,承载 Token 的语义信息,让模型能深入理解和分析文本。

在模型推理阶段,输入文本先变成 Token 序列再变成向量输入模型。模型根据学过的知识,通过对向量的运算处理,生成输出文本的概率分布,然后选合适的 Token 输出,生成连贯文本。比如在问答系统中,模型把用户问题变成 Token 向量,在已有的知识里找相关信息,通过向量运算推理,找到答案的向量表示,再解码成 Token 序列回答用户。Token 和向量的协同工作,让模型能快速准确理解用户问题,生成合理回答,实现自然流畅的人机交互,提高模型的实用性和应用价值。

相关文章:

大语言模型的token和向量

现在大语言模型火了,像 ChatGPT 什么的,能回答问题、写文章,。但它们为啥这么聪明呢?这就和向量、Token 有关系。那怎么通过向量、Token来理解我们的问题呢。看完这篇文章就知道了 token Token 就像是语言里的小积木&#xff0c…...

Hyperledger Fabric有那些核心技术,和其他区块链对比Hyperledger Fabric有那些优势

Hyperledger Fabric是一个模块化、权限化的企业级区块链平台,与比特币、以太坊等公有链相比,Fabric主要为私有链或联盟链设计,适用于企业应用。它包含多项核心技术,使其在企业级区块链应用中具有独特优势。以下是Fabric的核心技术…...

ThinkPHP 8高效构建Web应用-第一个简单的MVC应用示例

【图书介绍】《ThinkPHP 8高效构建Web应用》-CSDN博客 《2025新书 ThinkPHP 8高效构建Web应用 编程与应用开发丛书 夏磊 清华大学出版社教材书籍 9787302678236 ThinkPHP 8高效构建Web应用》【摘要 书评 试读】- 京东图书 使用VS Code开发ThinkPHP项目-CSDN博客 我们先实现一…...

【Goland】怎么执行 go mod download

1、终端的执行 go mod tidy 2、终端执行不行的话,就可以通过右击go.mod文件来执行; 3、也可以按住Ctrl点击这个包安装;...

SpringBoot入门案例

目录 一、SpringBoot入门 1. Spring Boot 简介(脚手架) 2. 微服务 微服务优点: 微服务缺点: 3. 环境准备 3.1 spring boot项目的创建 3.2 导入spring boot相关的依赖 3.5 编写主程序 3.4 编写相关的controller、service…...

自定义 Celery的logging模块

为什么需要自定义 Celery 日志 默认的 Celery 日志配置虽然满足基本需求,但在以下情况下可能需要进行自定义: 支持日志滚动:原生celery不支持日志滚动。更详细的日志信息:需要包含更多上下文信息,以便更好地理解任务…...

docker-开源nocodb,使用已有数据库

使用已有数据库 创建本地数据库 数据库:nocodb 用户:nocodb 密码:xxxxxx修改docker-compose.yml 默认网关的 IP 地址是 172.17.0.1(适用于 bridge 网络模式)version: "2.1" services:nocodb:environment:…...

【UE5】UnrealEngine源码构建1:tag为5.3.2源码clone

fatal: fetch-pack: invalid index-pack output clone unreal 速度很快,但是很容易失败Cloning into UnrealEngine... remote: Enumerating objects: 6511087, done. remote: Counting objects: 100% (196/196), done. remote: Compressing objects: 100% (50/50), done. erro…...

RoboMIND:多体现基准 机器人操纵的智能规范数据

我们介绍了 RoboMIND,这是机器人操纵的多体现智能规范数据的基准,包括 4 个实施例、279 个不同任务和 61 个不同对象类别的 55k 真实世界演示轨迹。 工业机器人企业 埃斯顿自动化 | 埃夫特机器人 | 节卡机器人 | 珞石机器人 | 法奥机器人 | 非夕科技 | C…...

FPGA自学之路:到底有多崎岖?

FPGA,即现场可编程门阵列,被誉为硬件世界的“瑞士军刀”,其灵活性和可编程性让无数开发者为之倾倒。但谈及FPGA的学习难度,不少人望而却步。那么,FPGA自学之路到底有多崎岖呢? 几座大山那么高?…...

讲一个自己写的 excel 转 html 的 java 工具

由来 这是一个从开发需求中诞生的工具,在工作中因为有一个 excel 转 html 的任务,又没找到一个专门做这方面的工具(其他工具几乎都是简单的转换,无法还原 excel 样式,而且转换的宽高有点儿差距)&#xff0…...

打破视障壁垒,百度文心快码无障碍版本助力视障IT从业者就业无“碍”

有AI无碍 钟科:被黑暗卡住的开发梦 提起视障群体的就业,绝大部分人可能只能想到盲人按摩。但你知道吗?视障人士也能写代码。 钟科,一个曾经“被黑暗困住”的人,他的世界,因为一场突如其来的疾病&#xff0c…...

爆改RagFlow

爆改RagFlow 一、Rag理论概述二、Ragflow解析参数说明三、♥ RagFlow源码解析核心代码流程梳理1、OCR识别2、版面分析3、parser功能3.1 PdfParser3.1.1 首先,初始化3.1.2 **pdf转图片** [来自工业界的知识库 RAG 服务(二),RagFlow 源码全流程深度解析](h…...

Unity 使用UGUI制作卷轴开启关闭效果

视频效果 代码 using UnityEngine.UI; using System.Collections; using System.Collections.Generic; using UnityEngine; using DG.Tweening; using DG.Tweening.Core; using DG.Tweening.Plugins.Options;public class JuanZhou : MonoBehaviour {[SerializeField]private …...

android知识巩固(二.非线性数据结构)

非线性结构:是从逻辑结构上划分,其元素存在一对多或者多对多的相互关系 1.前言 在前一章中,我们了解了数据结构的基本思想,学习了部分基本的线性数据结构,了解了计算机是如何表示和存储数据的,良好的数据结构思想有助于我们写出性能优良的应用 2.目录 目录.png 3.非线性数据结构…...

Kafka中的Topic和Partition有什么关系?

大家好,我是锋哥。今天分享关于【Kafka中的Topic和Partition有什么关系?】面试题。希望对大家有帮助; Kafka中的Topic和Partition有什么关系? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在 Apache Kafka 中&#…...

CMS漏洞靶场攻略

DeDeCMS 环境搭建 傻瓜式安装 漏洞一:通过文件管理器上传WebShel 步骤⼀:访问目标靶场其思路为 dedecms 后台可以直接上传任意文件,可以通过⽂件管理器上传php文件获取webshell 登陆网站后台 步骤二:登陆到后台点击 【核心】 --》 【文件式…...

PHP高性能webman管理系统EasyAdmin8

介绍 EasyAdmin8-webman 在 EasyAdmin 的基础上使用 webman 最新版重构,PHP 最低版本要求不低于 8.0。基于webman和layui v2.9.x的快速开发的后台管理系统。 项目地址:http://easyadmin8.top 演示地址:http://webman.easyadmin8.top/admin …...

【达梦数据库】64 位操作系统注册 32 位 ODBC 方法

目录 背景思路部署安装64位软件安装包注册32位驱动成功案例其他案例 配置数据源 背景 在使用达梦数据库的过程中,应用需要32位驱动与数据库进行适配 思路 部署32位软件,经过测试,dmmonitor在本地环境及客户环境中前台启动失败报错&#xff…...

渗透学习笔记(十一)Burp Suite 总结

声明! 学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关&#…...

数据结构与算法学习笔记----约数

数据结构与算法学习笔记----约数 author: 明月清了个风 first publish time: 2024.12.30 ps⭐️主要是求约数,约数的个数,约数的和,涉及到算术基本定理的相关内容,第三题的讲解合并在第二题的思路里一起了。 Acwing 869. 试除法…...

PyAudio库基本知识详解——为自制PCM音频播放器做准备

前言 结合前段时间我们做的音频编解码器,这样我们就可以将获取到的ADPCM数据,转换成PCM数据,然后播放出来,得到一个完整的音频数据,因此,接下来几篇文章中,我们想做一个播放PCM格式的音频播放器…...

微信小程序 覆盖组件cover-view

wxml 覆盖组件 <video src"../image/1.mp4" controls"{{false}}" event-model"bubble"> <cover-view class"controls"> <cover-view class"play" bind:tap"play"> <cover-image class"…...

实战案例——ZooKeeper集群部署(新手教程超详细)

案例目标 了解ZooKeeper分布式应用程序协调服务使用3台机器搭建ZooKeeper集群使用ZooKeeper集群 案例分析 规划节点 ZooKeeper集群节点规划 Ip 主机名 节点 192.168.110.10 zookeeper1 集群节点 192.168.110.20 zookeeper2 集群节点 192.168.110.30 zookeeper3 …...

LeetCode 326 3的幂

如何判断一个整数是否为 3 的幂次方 在编程中&#xff0c;我们经常会遇到各种有趣的数学问题&#xff0c;今天就来探讨一个看似简单却又很有技巧性的问题&#xff1a;如何判断一个给定的整数是否是 3 的幂次方。 一、问题描述 给定一个整数 n&#xff0c;我们需要编写一个函数…...

智能工厂的设计软件 应用场景的一个例子:为AI聊天工具添加一个知识系统 之5

本文要点 前端 问题描述语言 本文继续完善 “描述” ---现在我们应该可以将它称为 “问题problem描述语言 ”。 它 通过对话框的question 引发 表征的issue 的“涌现” 最终 厘清应用程序的“problem”。即它合并了 ISO七层模型中的上面三层&#xff0c;通过将三层 分别形成…...

flink-1.16 table sql 消费 kafka 数据,指定时间戳位置消费数据报错:Invalid negative offset 问题解决

请移步至最后的&#xff1a;2024-12-27日调整实现方式&#xff0c;26日实现的有bug&#xff0c;但是可以作为参考。 2024-12-27日调整实现方式 1.上边的方案&#xff0c;可以实现topic中每个分区都正常有数据的情况&#xff0c;但是如果部分分区没有数据&#xff0c;或者指定的…...

【服务器】上传文件到服务器并训练深度学习模型下载服务器文件到本地

前言&#xff1a;本文教程为&#xff0c;上传文件到服务器并训练深度学习模型&#xff0c;与下载服务器文件到本地。演示指令输入&#xff0c;完整的上传文件到服务器&#xff0c;并训练模型过程&#xff1b;并演示完整的下载服务器文件到本地的过程。 本文使用的服务器为云服…...

MyBatis如何处理延迟加载?

大家好&#xff0c;我是锋哥。今天分享关于【MyBatis如何处理延迟加载&#xff1f;】面试题。希望对大家有帮助&#xff1b; MyBatis如何处理延迟加载&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在 MyBatis 中&#xff0c;延迟加载&#xff08;Laz…...

制造BOM的应用思考

一、制造BOM的作用 制造BOM(Manufacturing BOM,MBOM)在制造过程中的应用非常广泛,具体包括以下几个方面: 1. 生产计划和调度: 制造BOM提供了生产过程中所需的所有输入及输出间的关系,包括材料、部品的数量、结构以及制程等信息。这些信息是生产拉动物料需求计划以及成本…...

基于earthSDK三维地图组件开发

上效果 功能点 测量分析相机位置切换geojson数据加载地图打点&#xff0c;显示信息点击回传数据二三位切换 这里二三维切换通上篇openlayers分享&#xff0c;技术交流V:bloxed <template><div class"h100 w100"><div style"width:100%; heig…...

Mono里运行C#脚本5—mono_file_map_open

前面介绍了mono_jit_init初始化,这个函数非常长,要理解起来还是比较困难。因此改变另外一种方式,先从底层的函数开始,再慢慢来探索mono的底层实现,以及它的实现原理,运行的细节。 Mono要运行exe文件,这里是运行test-embed.exe文件,那么就得认识这个文件,解释这个文件的…...

Node.js使用教程

Node.js使用教程 Node.js是一个基于Chrome V8引擎的JavaScript运行环境&#xff0c;它让JavaScript运行在服务器端。以下是一个简单的Node.js使用教程&#xff1a; 一、 Node.js开发环境和编译 1.1 安装Node.js 访问Node.js官网下载并安装适合您操作系统的Node.js版本。 1…...

UniApp 组件的深度运用

一、引言 在当今的移动应用开发领域&#xff0c;跨平台开发已成为主流趋势&#xff0c;而 UniApp 作为其中的佼佼者&#xff0c;备受开发者青睐。UniApp 的强大之处很大程度上源于其丰富且功能多样的组件体系&#xff0c;这些组件宛如精巧的积木&#xff0c;能够帮助开发者快速…...

期末算法分析程序填空题

目录 5-1 最小生成树&#xff08;普里姆算法&#xff09; 5-2 快速排序&#xff08;分治法&#xff09; 输入样例&#xff1a; 输出样例&#xff1a; 5-3 归并排序(递归法) 输入样例&#xff1a; 输出样例&#xff1a; 5-4 求解编辑距离问题&#xff08;动态规划法&#xff09;…...

【机器学习】 卷积神经网络 (CNN)

文章目录 1. 为什么需要 CNN2. CNN 的架构3. 卷积层4. 池化层5. CNN 的应用 1. 为什么需要 CNN 前提&#xff1a;利用前置知识&#xff0c;去掉全连接神经网络中的部分参数&#xff0c;提升学习效率。本质&#xff1a;在 DNN 之前加上 CNN&#xff0c;先去除不必要的参数&…...

LeetCode热题100-字母异位词分组【JavaScript讲解】

题目&#xff1a; 根据题目想思路&#xff1a; 模式识别: 一旦需要根据特征进行归类的&#xff0c;就应该利用散列表。【散列表又叫哈希表】 我们遍历数组中的每一项&#xff0c;将每一项字符串拆分成一个一个的字符&#xff0c;并返回成数组的形式&#xff0c;并且进行排序后…...

面试241228

面试可参考 1、cas的概念 2、AQS的概念 3、redis的数据结构 使用场景 不熟 4、redis list 扩容流程 5、dubbo 怎么进行服务注册和调用&#xff0c;6、dubbo 预热 7如何解决cos上传的安全问题kafka的高并发高吞吐的原因ES倒排索引的原理 spring的 bean的 二级缓存和三级缓存 spr…...

AI界的拼多多:DeepSeek

AI界的拼多多:DeepSeek DeepSeek是一家位于中国杭州的人工智能基础技术研究公司,由杭州幻方量化投资管理合伙企业投资成立于2023年5月,专注于研究人工智能基础技术,其官网为deepseek.com.以下是关于DeepSeek的一些具体介绍及举例: 模型发布 DeepSeek Coder:2023年11月…...

备战春招 | 数字IC FPGA笔试题

在数字电路设计的领域&#xff0c;无论是数字IC&#xff08;集成电路&#xff09;还是FPGA&#xff08;现场可编程门阵列&#xff09;的设计&#xff0c;都需要对一系列核心概念有深刻的理解和掌握。随着科技的快速发展&#xff0c;这些领域的面试题目也在不断更新&#xff0c;…...

微服务-Sentinel新手入门指南

微服务为什么要使用流控降级组件 为了提高系统运行期间的稳定性和可用性 在微服务环境下&#xff0c;服务之间存在复杂的调用关系&#xff0c;单个服务的故障或过载可能会迅速影响到整个系统&#xff0c;导致服务雪崩效应。流控组件可以限制进入系统的流量&#xff0c;防止系…...

git clone 超时

git clone 超时 参考 https://blog.csdn.net/qq_45906972/article/details/142214187?utm_mediumdistribute.pc_relevant.none-task-blog-2defaultbaidujs_baidulandingword~default-0-142214187-blog-137158358.235v43pc_blog_bottom_relevance_base8&spm1001.2101.3001.…...

java的bio、nio、aio 以及操作系统的select、poll、epoll

在 Java 和其他编程语言中&#xff0c;I/O 模型的选择对网络应用的性能和可扩展性有着重要影响。以下是 BIO&#xff08;Blocking I/O&#xff09;、NIO&#xff08;Non-blocking I/O&#xff09;、AIO&#xff08;Asynchronous I/O&#xff09;&#xff0c;以及操作系统级别的…...

Redis——数据过期策略

文章目录 1. 引入2. 数据过期策略2.1 策略一&#xff1a;惰性删除2.1.1 原理2.1.2 优点2.1.3 缺点 2.2 策略二&#xff1a;定期删除2.2.1 原理2.2.2 模式2.2.3 优点2.2.4 缺点 2.3 两种策略的比较 3. 总结 1. 引入 Redis 是一个 高性能 的非关系型数据库&#xff0c;由于 Redi…...

kubernetes Gateway API-1-部署和基础配置

文章目录 1 部署2 最简单的 Gateway3 基于主机名和请求头4 重定向 Redirects4.1 HTTP-to-HTTPS 重定向4.2 路径重定向4.2.1 ReplaceFullPath 替换完整路径4.2.2 ReplacePrefixMatch 替换路径前缀5 重写 Rewrites5.1 重写 主机名5.2 重写 路径5.2.1 重新完整路径5.2.1 重新部分路…...

二、SQL语言,《数据库系统概念》,原书第7版

文章目录 一、概览SQL语言1.1 SQL 语言概述1.1.1 SQL语言的提出和发展1.1.2 SQL 语言的功能概述 1.2 利用SQL语言建立数据库1.2.1 示例1.2.2 SQL-DDL1.2.2.1 CREATE DATABASE1.2.2.2 CREATE TABLE 1.2.3 SQL-DML1.2.3.1 INSERT INTO 1.3 用SQL 语言进行简单查询1.3.1 单表查询 …...

【postgresql 物化视图】自动刷新物化视图2种方法

普通视图就是一个虚拟表&#xff0c;不占内存。而物化视图是存在的&#xff0c;占内存。 物化视图&#xff0c;默认是手动刷新。下面是手动刷新的例子。我们来创建一个物化视图。 create MATERIALIZED VIEW dnh_analasis_view as select cjsj,a,b,c,d from table_1; REFRESH …...

1 数据库(下):多表设计 、多表查询 + SQL中的with查询语法(MySQL8.0以后版本才支持这种新语法)+ 数据库优化(索引优化)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、多表设计1 多表设计-概述2 三种多表关系一对多&#xff08;多对一&#xff09;&#xff08;1&#xff09;无外键约束&#xff08;逻辑外键&#xff09;&…...

CPT203 Software Engineering 软件工程 Pt.2 敏捷方法和需求工程(中英双语)

文章目录 3. Aglie methods&#xff08;敏捷方法&#xff09;3.1 Aglie methods&#xff08;敏捷方法&#xff09;3.1.1 特点3.1.2 优点3.1.3 缺点3.1.4 原则3.1.5 计划驱动与敏捷方法的对比 3.2 Scrum3.2.1 Scrum roles3.2.2 Scrum Activities and Artifacts3.2.2.1 Product B…...

【Linux】进度条

本文中&#xff0c;我们来写一个进度条。 本文大纲&#xff1a; 写一个命令行版的进度条。 1.回车换行 2.缓冲区问题&#xff08;本文不深究&#xff09; ​ 2.1测试代码 3.写一个什么样的进度条&#xff1f; ​ version1 ​ version2 回车换行 这俩不是一个概念&…...