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

【教程】 一文部署配置并入门 Redis

综述

什么是Redis

Redis官网——Redis.io

Redis, 作为一个高性能的键值对数据库,主要应用于以下场景:

  • 缓存系统:由于其高速读写能力,Redis 非常适合用作缓存系统,减少数据库负载。

  • 会话存储(Session Store):Redis 可以存储用户会话信息,常用于网站登录系统。

  • 消息队列系统:利用其发布/订阅模式,Redis 可作为消息队列使用,用于异步处理任务。

  • 实时分析:Redis 的速度使其成为实时数据处理的理想选择,如计数器、实时统计等。

  • 排行榜系统:使用 Redis 的排序集合,可以高效实现排行榜功能。

  • 地理空间数据存储:Redis 提供地理空间相关的数据结构,可以用于地理位置相关功能。

  • 持久化存储:虽然 Redis 是内存数据库,但它支持数据持久化,可用于需要快速读写且偶尔需要持久化的场景。

这些应用场景展示了 Redis 的灵活性和高性能,使其成为现代Web应用中不可或缺的一部分。

Redis数据结构的实际应用场景

类型简介特性场景
String(字符串)二进制安全可以包含任何数据,比如jpg图片或者序列化的对象,一个键最大能存储512M-
Hash(字典)键值对集合,即编程语言中的Map类型适合存储对象,并且可以像数据库中update一个属性一样只修改某一项属性值(Memcached中需要取出整个字符串反序列化成对象修改完再序列化存回去)存储、读取、修改用户属性
List(列表)链表(双向链表)增删快,提供了操作某一段元素的API1. 最新消息排行等功能(比如朋友圈的时间线)
2. 消息队列
Set(集合)哈希表实现,元素不重复1. 添加、删除,查找的复杂度都是O(1)
2. 为集合提供了求交集、并集、差集等操作
1. 共同好友
2. 利用唯一性,统计访问网站的所有独立ip
3. 好友推荐时,根据tag求交集,大于某个阈值就可以推荐
Sorted Set(有序集合)将Set中的元素增加一个权重参数score,元素按score有序排列数据插入集合时,已经进行天然排序1. 排行榜
2.带权重的消息队列

安装 & 配置

Redis在Ubuntu安装

  1. 更新包列表:
    在安装新软件之前,最好更新系统的包列表。打开终端并输入以下命令:
	sudo apt update
  1. 安装Redis:
    使用apt包管理器安装Redis。在终端输入以下命令:
	sudo apt install redis-server
  1. 验证Redis安装:
    安装完成后,可以通过检查Redis服务的状态来验证是否安装成功。输入以下命令:
   sudo systemctl status redis-server

如果Redis服务正在运行,你将看到状态为"active (running)"。
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 配置Redis(可选):
    如果需要对Redis进行配置,可以编辑其配置文件。默认情况下,Redis配置文件位于/etc/redis/redis.conf。使用你喜欢的文本编辑器打开它,例如:
   sudo nano /etc/redis/redis.conf

在这里,你可以根据需要更改各种设置,例如内存使用限制、持久化选项等。

  1. 启动Redis服务:
    如果Redis服务没有自动启动,你可以使用以下命令手动启动它:
   sudo systemctl start redis-server

要使Redis在系统启动时自动启动,可以使用以下命令:

   sudo systemctl enable redis-server
  1. 测试Redis:
    安装完成后,你可以测试Redis是否正常工作。在终端输入redis-cli,然后在Redis提示符下输入ping,如果一切正常,你将收到PONG的回应。
    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

如果要配置外网访问,执行sudo ufw allow 6378并配置相应的端口映射 / 端口开放 / 内网穿透即可。

RedisInsight的安装(可选)

数据库连接工具有很多种,比如JetbrainDataGripMysql官方的MysqlWorkbanch,如果你想的话,也可以直接使用redis-cli进行操作,但是如果你想要官方的使用体验,可以安装RedisInsight

  1. 安装好后界面如图:外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  2. 添加数据库连接:(如果你是部署和连接都在Ubuntu上,那么设置都不需要动)外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  3. 界面如图:外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  4. 点击左侧WorkBench外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  5. 准备完成。外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传


–raw参数

如果你想继续使用Redis原生的命令行工具,直接在终端上输入redis-cli即可启动redis客户端。

redis-cli --raw

--raw——代表以原始形式来显示内容,Redis的字符串都是以二进制方式存储的,输入中文的话只会输出一堆16进制的代码。使用raw参数可以让客户端自动解码。


# Redis基础语法 ## Redis基本增删查改 ### SET 增加和修改 Redis中的数据都是以Key-Value键值对的形式存储的,使用`SET`命令来设置一个Key-Value键值对: ```SQL SET name gulugulu1103 ``` 返回`OK`: ```SQL 127.0.0.1:6379> SET name gulugulu1103 OK ```

GET 查找

使用GET命令+Key。

注意:Redis大小写敏感。

GET name

返回相应的Value:

"gulugulu1103"

如果GET命令后面的Key未定义,则会返回(nil)

DEL 删除

使用DEL命令+Key

DEL name

若删除成功,则会返回(interger) 1
若删除失败,则会返回(interger) 0

删除失败的原因基本上是两种:

  1. Key不存在
  2. Key被占用

EXISTS 判断是否存在Key

EXISTS name

若存在,返回(interger) 1
若不存在,返回(interger) 0

SETNX 不替换的设置

SETNX name gulugulu1104

若成功替换,则返回(interger) 1
若失败替换,则返回(interger) 0

KEYS 查询库中有哪些Key

使用KEYS + pattern进行查询

EXISTS *

若没有Key,则返回(empty array)
若有Key,则按列表模式返回所有Key的字符串。

127.0.0.1:6379> KEYS *
1) "name2"
2) "name1"
3) "name"

FLUSHALL删除所有Key**(谨慎使用)**

若删除成功,则返回OK

Redis数据结构

以下不提供具体实例,只提供语法。小写字母均代表抽象定义,如key代表键,value代表值。
下列语法中,[]代表可选参数,…代表可重复

列表(List)

到这里可能有点没反应过来,其实类比编程语言,我们可以把key看成是变量名,把value看成是变量的值,这样就很好理解使用Key-Value Pair去存储Redis中的数据了。

LPUSH & RPUSH 在列表首位添加

LPUSH key value [value ...]
RPUSH key value [value ...]

–> (interger) 列表长度

LRANGE & RRANGE 查询列表内容

LRANGE key start stop
RRANGE key start stop

start <-- 0 表示第一个元素
stop <-- -1 表示最后一个元素
若start > stop,–> (empty list or set)

LPOP & RPOP 删除元素

LPOP key [count]
RPOP key [count]

[count] <-- 默认为1
若count > size,则全部删除
若count == 1,–> 被删元素
若count > 1,–> 被删子列表

LTRIM 仅保留范围内元素

LTRIM key start stop 

–> “OK”

LLEN 查看列表长度

LLEN key

–> (interger) 数组长度
若key不存在,–> (interger) 0

集合 (Set)

在Redis中,集合(Set)是由字符串类型元素组成的无序集合。集合是通过哈希表实现的,这意味着添加、删除和查找元素的复杂度都是O(1)。

Tips:集合(Set)相关的命令都是以S开头的。

SADD 添加元素

SADD key member [member ...]

–> (interger) 1 表示成功
–> (interger) 0 表示失败,可能已经包含该元素

SMEMBERS 查看元素

SMEMBERS key 

–> 返回该集合中的列表

SISMEMBERS 判断是否在集合中

SISMEMBERS key member

–> (interger) 1 表示存在
–> (interger) 0 表示不存在

SREM 删除元素

SREM key member [member ...] 

–> (interger) 1 表示删除成功
–> (interger) 0 表示删除失败,可能是key值不存在或value不存在

集合运算(进阶)

SUNION - 合并集合
SUNION key [key ...]

–> 返回一个集合的并集。不同集合之间的元素互不相同。

SINTER - 交集运算
SINTER key [key ...]

–> 返回一个集合的交集。只包含同时存在于所有给定集合中的元素。

SDIFF - 差集运算
SDIFF key [key ...]

–> 返回一个集合与其他集合的差集。仅包含存在于第一个集合中,但不在其他给定集合中的元素。

SUNIONSTORE - 合并集合并存储
SUNIONSTORE destination key [key ...]

–> 此命令等同于SUNION,但它将结果存储在destination集合中,而不是简单地返回结果集。

SINTERSTORE - 交集运算并存储
SINTERSTORE destination key [key ...]

–> 此命令等同于SINTER,但它将结果存储在destination集合中。

SDIFFSTORE - 差集运算并存储
SDIFFSTORE destination key [key ...]

–> 此命令等同于SDIFF,但它将结果存储在destination集合中。

有序集合 (Sorted Set)

在Redis中,有序集合(Sorted Set)是集合的一种变体,每个元素都会关联一个双精度浮点数分数。Redis正是通过分数来为集合中的元素进行从小到大的排序。有序集合的元素是唯一的,但分数(score)可以重复。

Tips:有序集合(Sorted Set)相关的命令都是以Z开头的。

ZADD 添加或更新元素

ZADD key [NX|XX] [CH] [INCR] score member [score member ...]

NX:只有当成员不存在于有序集合中时,才会添加该成员。
XX:只有当成员已经存在于有序集合中时,才会更新该成员的分数。
CH:修改返回值的行为。如果指定了此选项,命令会返回被添加或被更新的成员的数量。如果没有指定CH,则只返回被添加的新成员的数量。
INCR:用于将分数增加到已有成员的分数上,而不是替换它。如果使用了这个选项,只能指定一个成员及其分数。这个选项实质上将ZADD命令的行为变为一个增量更新,类似于INCRBY命令。

–> (interger) 返回被成功添加或更新的元素的数量。

ZRANGE 查看元素

ZRANGE key start stop [WITHSCORES]

–> 按分数值递增(从小到大)顺序返回有序集合中指定区间内的成员。
若指定了WITHSCORES选项,–>

member
score
member
score
...

ZSCORE 获取成员分数

ZSCORE key member

–> 成员的分数值。
若成员不存在于有序集合中,–> (nil)

ZRANK 查看成员排名(升序)

ZRANK key member

–> 从小到大的索引

ZREVRANK 查看成员排名(降序)

ZREVRANK key member

–> 从大到小的索引

ZINCRBY增加成员分数

ZINCRBY key increment member

–> 该成员增加后的分数
若成员不存在,–> “-1”

ZREM 删除成员

ZREM key member [member ...]

–> (interger) 返回被成功删除的元素的数量。

有序集合运算(进阶)

ZUNIONSTORE - 合并多个有序集合
ZUNIONSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]

–> 计算给定的一个或多个有序集的并集,并将该并集(结果集)存储在destination中。

ZINTERSTORE - 有序集合交集
ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]

–> 计算给定的一个或多个有序集的交集,并将该交集(结果集)存储在destination中。

哈希 (Hash)

在 Redis 中,哈希是一种存储键值对的数据结构,用于存储对象。每个哈希可以存储多个字段(field)和对应的值(value),非常适合于存储和处理对象属性。哈希中的字段是唯一的,但值可以重复。

Tips:哈希(Hash)相关的命令都是以H开头的。

HSET 添加或更新字段

HSET key field value [field value ...]
  • 如果字段已存在于哈希key中,值会被更新。
  • 如果字段不存在,则字段会被创建并设置值。

–> (integer) 返回新增字段的数量。

HGET 获取字段的值

HGET key field

–> 返回哈希表中指定字段的值。
如果字段不存在,–> (nil)

HMSET 设置多个字段的值

HMSET key field1 value1 [field2 value2 ...]

–> 同时设置一个或多个字段的值。
–> 返回 OK。

HMGET 获取多个字段的值

HMGET key field1 [field2 ...]

–> 返回哈希表中一个或多个指定字段的值。

HDEL 删除字段

HDEL key field [field ...]

–> 删除一个或多个字段。
–> (integer) 返回被成功删除的字段数量。

HEXISTS 检查字段是否存在

HEXISTS key field

–> 检查字段是否存在于哈希表中。
–> (integer) 1 表示存在,0 表示不存在。

HLEN 获取字段数量

HLEN key

–> 返回哈希表中字段的数量。

HKEYS 获取所有字段名

HKEYS key

–> 返回哈希表中所有字段的名称。

HVALS 获取所有字段值

HVALS key

–> 返回哈希表中所有字段的值。

HGETALL 获取所有字段和值

HGETALL key

–> 返回哈希表中的所有字段和值。

相关文章:

【教程】 一文部署配置并入门 Redis

综述 什么是Redis Redis官网——Redis.io Redis, 作为一个高性能的键值对数据库&#xff0c;主要应用于以下场景&#xff1a; 缓存系统&#xff1a;由于其高速读写能力&#xff0c;Redis 非常适合用作缓存系统&#xff0c;减少数据库负载。 会话存储&#xff08;Session St…...

数据被锁住了?如何应对.mkp病毒的攻击

导言&#xff1a; 在数字时代的舞台上&#xff0c;.mkp勒索病毒如幽灵般悄然崭露头角&#xff0c;威胁着无数个体和组织的数据安全。本文将深度挖掘.mkp勒索病毒的狡猾本质&#xff0c;并为你揭示应对感染的独特方法&#xff0c;以及如何巧妙规避这个数字威胁。 如果您在面对被…...

【Shell】Shell基础学习

一、shell脚本 (1)第一个shell脚本 #!/bin/bash #this is a comment echo "hello world"一个shell脚本永远以“#!”开头,这是一个脚本开始的标记,它是告诉系统执行这个文件需要用某个解释器,后面的/bin/bash就是指明解释器的具体位置。 “#”开头是注释 …...

python文件读取

相对路径 读文件 打印txt文件 fopen(".\data.txt","r",encoding"utf-8") contentf.read() print(content) f.close()with open(".\data.txt","r",encoding"utf-8") as f:contentf.read()print(content)contentf…...

第16关 革新云计算:如何利用弹性容器与托管K8S实现极速服务POD扩缩容

------> 课程视频同步分享在今日头条和B站 天下武功&#xff0c;唯快不破&#xff01; 大家好&#xff0c;我是博哥爱运维。这节课给大家讲下云平台的弹性容器实例怎么结合其托管K8S&#xff0c;使用混合服务架构&#xff0c;带来极致扩缩容快感。 下面是全球主流云平台弹…...

算法通关村第十二关|黄金挑战|最长公共前缀字符串压缩

1.最长公共前缀 原题&#xff1a;力扣14. 1.从前到后比较每个字符串的同一个位置。 public String longestCommonPrefix(String[] strs) {if (strs null || strs.length 0) {return "";}int length strs[0].length();int count strs.length;for (int i 0; i …...

池式组件 ----- Mysql连接池的原理实现

前言 本文是mysql连接池的实现。学完mysql连接池之后&#xff0c;接下来会结合多线程来进行测试&#xff0c;看看使用连接池性能高&#xff0c;还是不要连接池性能高&#xff0c;具体能差多少。当然这是下一篇文章了哈哈哈哈哈。当前首要任务是学会连接池&#xff0c;会都不会…...

1.自动化运维工具Ansible的安装

1.物料准备 四台服务器&#xff0c;其中一个是主控机&#xff0c;三个为host 2.安装 在主控机上安装ansible 2.1 设置EPEL仓库 Ansible仓库默认不在yum仓库中&#xff0c;因此我们需要使用下面的命令启用epel仓库。 yum install epel-release -y2.2 执行安装命令 yum i…...

[个人笔记] Apache2.4配置TLS1.3安装openssl1.1.1

Linux - 运维篇 第二章 Apache2.4配置TLS1.3&安装openssl1.1.1 Linux - 运维篇系列文章回顾Apache2.4配置TLS1.3&安装openssl1.1.1参考来源 系列文章回顾 第一章 php-fpm编译和使用openssl扩展 Apache2.4配置TLS1.3&安装openssl1.1.1 [rootlocalhost ~]# yum ins…...

解密Kafka主题的分区策略:提升实时数据处理的关键

目录 一、Kafka主题的分区策略概述1.1 什么是Kafka主题的分区策略&#xff1f;1.2 为什么分区策略重要&#xff1f; 二、Kafka默认分区策略2.1 Round-Robin分区策略 三、自定义分区策略3.1 编写自定义分区器3.2 最佳实践&#xff1a;如何选择分区策略 四、分区策略的性能考量4.…...

GPT5大剧第二季开启,Sam Altman 重掌 OpenAI CEO 大权

OpenAl 最新公告: Sam Altman 重掌 OpenAI CEO 大权&#xff0c;公司迎来新的初始董事会 Mira Murati 出任 CTO,Greg Brockman 再次成为总裁。来看看CEO Sam Altman和董事会主席 Bret Taylor的最新发言。 2023年11月29日 以下是 CEO Sam Altman和董事会主席 Bret Taylor 今天下…...

Selenium 连接到现有的 Google Chrome 示例

python 3.7 selenium 3.14.1 urllib3 1.26.8 Google Chrome 119.0.6045.160 (64位) chromedriver.exe 119.0.6045.105(win32) 1 Google Chrome 添加参数 "--remote-debugging-port9222" 2 测试效果(chromedriver.exe 要和 Google Chrome 版本…...

EI级 | Matlab实现TCN-BiLSTM-Multihead-Attention多头注意力机制多变量时间序列预测

EI级 | Matlab实现TCN-BiLSTM-Multihead-Attention多头注意力机制多变量时间序列预测 目录 EI级 | Matlab实现TCN-BiLSTM-Multihead-Attention多头注意力机制多变量时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.【EI级】Matlab实现TCN-BiLSTM-Multihead-…...

基于安卓的2048益智游戏的设计与实现

基于安卓的2048益智类游戏的设计与实现 摘要&#xff1a;现如今随着社会日新月异&#xff0c;人们越来越离不开智能手机所提供的灵活性与便携性。安卓系统是在这股手机发展迅猛的潮流中其市场占有率过半的手机平台&#xff0c;基于安卓系统的游戏开发有着不可估量的前景。 本论…...

解决Linux Visual Studio Code显示字体有问题/Liunx下Visual Studio Code更换字体

01、具体问题 在Linux下VsCode控制台与代码区显示异常&#xff0c;如下图所示&#xff1a; 代码显示 终端显示 02、解决方案 下载字体 [rootlocalhost mhzzj]$ cd /usr/share/fonts # 进入目录 [rootlocalhost fonts]$ sudo yum install git # 下载字体 [rootlocalhost fo…...

CityEngine2023 根据shp数据构建三维模型并导入UE5

目录 0 引言1 基本操作2 实践2.1 导入数据&#xff08;.shp&#xff09;2.2 构建三维模型2.3 将模型导入UE5 &#x1f64b;‍♂️ 作者&#xff1a;海码007&#x1f4dc; 专栏&#xff1a;CityEngine专栏&#x1f4a5; 标题&#xff1a;CityEngine2023 根据shp数据构建三维模型…...

修复电脑中缺失的VCRUNTIME140.dll文件的5个有效方法

vcruntime140.dll丢失5个修复方法与vcruntime140.dll是什么以及丢失对电脑的影响 引言&#xff1a; 在日常使用电脑的过程中&#xff0c;我们可能会遇到一些错误提示&#xff0c;其中之一就是“vcruntime140.dll丢失”。那么&#xff0c;什么是vcruntime140.dll&#xff1f;它…...

什么是PDN的交流阻抗?

什么是PDN的交流阻抗&#xff1f; 在电力电子领域&#xff0c;PDN&#xff08;Power Distribution Network&#xff09;的交流阻抗是一个重要的概念&#xff0c;它反映了PDN在交流电源和负载之间传输电能的能力。了解PDN的交流阻抗对于优化电源设计、提高系统性能和可靠性具有重…...

FFmpeg之将视频转为16:9(横屏)或9:16(竖屏)(一)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…...

Web安全漏洞分析-XSS(上)

随着互联网的迅猛发展&#xff0c;Web应用的普及程度也愈发广泛。然而&#xff0c;随之而来的是各种安全威胁的不断涌现&#xff0c;其中最为常见而危险的之一就是跨站脚本攻击&#xff08;Cross-Site Scripting&#xff0c;简称XSS&#xff09;。XSS攻击一直以来都是Web安全领…...

MVCC多版本并发控制相关面试题整理

多版本并发控制是一种用于支持并发事务的数据库管理系统技术&#xff0c;它允许多个事务同时访问数据库&#xff0c;而不会相互干扰或导致数据不一致。MVCC通过在数据库中维护不同版本的数据来实现这一目标&#xff0c;从而允许每个事务看到一致的数据库快照。 并发导致的问题…...

02-鸿蒙学习之4.0todoList练习

02-鸿蒙学习之4.0todoList练习 代码 /*** 1:组件必须使用Component装饰* 2.Entry 装饰哪个组件&#xff0c;哪个组件就呈现在页面上* 3.被Entry 装饰的入口组件。build&#xff08;&#xff09;必须有且仅有一个根 ** 容器 ** 组件* 其他的自定义组件&#xff0c;build() 中…...

springsecurity5.7.x和springsecurity6.x配置文件对比

springsecurity5和springsecurity6如何要实现多种登录方式,自定义登录方式都是一样的操作步骤,主要有四个步骤。 一、自定义登录用户实体实现springsecurity中的UserDetails接口 二、自定义登录用户实现类实现springsecurity中的UserDetailsService接口 三、自定义登录用户au…...

brat文本标注工具——安装

目录 一、Linux系统安装 1. centOS系统 2. Ubuntu系统 3. macOS系统 4.说明 二、Google Chrome安装 1. 打开命令行&#xff0c;切换到管理者权限 2. 安装依赖 3. 下载Google浏览器的安装包 4. 安装Google Chrome 三、yum更新 四、Apache安装 安装Apache 启动Apac…...

麒麟操作系统网桥配置

网桥概念&#xff1a; Bridge 是 Linux 上用来做 TCP/IP 二层协议交换的设备&#xff0c;其功能可 以简单的理解为是一个二层交换机或者 Hub&#xff1b;多个网络设备可以连接 到同一个 Bridge&#xff0c;当某个设备收到数据包时&#xff0c;Bridge 会将数据转发 给其他设备。…...

禁奥义·SQL秘籍

sql secret scripts sql 语法顺序、执行顺序、执行过程、要点解析、优化技巧。 1、语法顺序 如上图所示&#xff0c;为 sql 语法顺序与执行顺序对照图。其具体含义如下&#xff1a; 0、select&#xff1a; 用于从数据库中选取数据&#xff0c;即表示从数据库中查询到的数据的…...

浅谈用户体验测试的主要功能

用户体验(User Experience&#xff0c;简称UX)在现代软件和产品开发中变得愈发重要。为了确保产品能够满足用户期望&#xff0c;提高用户满意度&#xff0c;用户体验测试成为不可或缺的环节。本文将详细探讨用户体验测试的主要功能&#xff0c;以及它在产品开发过程中的重要性。…...

2021年6月3日 Go生态洞察:Fuzzing技术的Beta测试

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…...

全新Self-RAG框架亮相,自适应检索增强助力超越ChatGPT与Llama2,提升事实性与引用准确性

全新Self-RAG框架亮相,自适应检索增强助力超越ChatGPT与Llama2,提升事实性与引用准确性 1. 基本思想 大型语言模型(LLMs)具有出色的能力,但由于完全依赖其内部的参数化知识,它们经常产生包含事实错误的回答,尤其在长尾知识中。 为了解决这一问题,之前的研究人员提出了…...

句子相似度计算

文章目录 https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2 这里使用预训练的 nreimers/MiniLM-L6-H384-uncased 模型&#xff0c;并在 1B 句对数据集上微调。 如果你使用 sentence-transformers pip install -U sentence-transformers可以这样使用模型 impor…...