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

redis场用命令及其Java操作

目录

1. Redis入门

1.1 Redis简介

1.2 Redis下载与安装

1.2.1 Redis下载

1.2.2 Redis安装

1.3 Redis服务启动与停止

1.3.1 服务启动命令

1.3.2 客户端连接命令

1.3.3 修改Redis配置文件

1.3.4 Redis客户端图形工具

2. Redis数据类型

2.1 五种常用数据类型介绍

2.2 各种数据类型特点

3. Redis常用命令

3.1 字符串操作命令

3.2 哈希操作命令

3.3 列表操作命令

3.4 集合操作命令

3.5 有序集合操作命令

3.6 通用命令

4.在Java中操作Redis

4.1 Redis的Java客户端

4.2 ⭐Spring Data Redis使用方式

4.2.1 介绍

4.2.2 环境搭建

4.2.3 操作常见类型数据


🍃作者介绍:双非本科大三网络工程专业在读,阿里云专家博主,专注于Java领域学习,擅长web应用开发、数据结构和算法,初步涉猎Python人工智能开发。

🦅主页:@逐梦苍穹

📕所属专栏:Java-EE

1. Redis入门

1.1 Redis简介

Redis是一个基于内存的key-value结构数据库。

Redis 是互联网技术领域使用最为广泛的存储中间件

官网:Redis
中文网:Redis中文网

key-value结构存储:

主要特点:

  • 基于内存存储,读写性能高
  • 适合存储热点数据(热点商品、资讯、新闻)
  • 企业应用广泛

Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库,官方提供的数据是可以达到100000+的QPS(每秒内查询次数)。它存储的value类型比较丰富,也被称为结构化的NoSql数据库。

NoSql(Not Only SQL),不仅仅是SQL,泛指非关系型数据库。NoSql数据库并不是要取代关系型数据库,而是关系型数据库的补充。

关系型数据库(RDBMS):

  • Mysql
  • Oracle
  • DB2
  • SQLServer

非关系型数据库(NoSql):

  • Redis
  • Mongo db
  • MemCached

1.2 Redis下载与安装

1.2.1 Redis下载

Redis安装包分为windows版和Linux版:

  • Windows版下载地址:Releases · microsoftarchive/redis · GitHub
  • Linux版下载地址: Index of /releases/

1.2.2 Redis安装

1)在Windows中安装Redis

Redis的Windows版属于绿色软件,直接解压即可使用,解压后目录结构如下:

2)在Linux中安装Redis

在Linux系统安装Redis步骤:

  1. 将Redis安装包上传到Linux
  2. 解压安装包,命令:tar -zxvf redis-4.0.0.tar.gz -C /usr/local
  3. 安装Redis的依赖环境gcc,命令:yum install gcc-c++
  4. 进入/usr/local/redis-4.0.0,进行编译,命令:make
  5. 进入redis的src目录进行安装,命令:make install

安装后重点文件说明:

  • /usr/local/redis-4.0.0/src/redis-server:Redis服务启动脚本
  • /usr/local/redis-4.0.0/src/redis-cli:Redis客户端脚本
  • /usr/local/redis-4.0.0/redis.conf:Redis配置文件

1.3 Redis服务启动与停止

以window版Redis进行演示:

1.3.1 服务启动命令

redis-server.exe redis.windows.conf

Redis服务默认端口号为 6379 ,通过快捷键Ctrl + C 即可停止Redis服务

当Redis服务启动成功后,可通过客户端进行连接。

1.3.2 客户端连接命令

redis-cli.exe

通过redis-cli.exe命令默认连接的是本地的redis服务,并且使用默认6379端口。也可以通过指定如下参数连接:

  • -h ip地址
  • -p 端口号
  • -a 密码(如果需要)

1.3.3 修改Redis配置文件

设置Redis服务密码,修改redis.windows.conf

注意:

  • 修改密码后需要重启Redis服务才能生效
  • Redis配置文件中 # 表示注释

重启Redis后,再次连接Redis时,需加上密码,否则连接失败。

redis-cli.exe -h localhost -p 6379 -a 123456

此时,-h 和 -p 参数可省略不写。

1.3.4 Redis客户端图形工具

默认提供的客户端连接工具界面不太友好,同时操作也较为麻烦,接下来,引入一个Redis客户端图形工具。

新建连接

连接成功

2. Redis数据类型

2.1 五种常用数据类型介绍

Redis存储的是key-value结构的数据,其中key是字符串类型,value有5种常用的数据类型:

  • 字符串 string
  • 哈希 hash
  • 列表 list
  • 集合 set
  • 有序集合 sorted set / zset

2.2 各种数据类型特点

解释说明:

  • 字符串(string):普通字符串,Redis中最简单的数据类型
  • 哈希(hash):也叫散列,类似于Java中的HashMap结构
  • 列表(list):按照插入顺序排序,可以有重复元素,类似于Java中的LinkedList
  • 集合(set):无序集合,没有重复元素,类似于Java中的HashSet
  • 有序集合(sorted set/zset):集合中每个元素关联一个分数(score),根据分数升序排序,没有重复元素

3. Redis常用命令

3.1 字符串操作命令

命令

描述

SET key value

设置指定key的值

GET key

获取指定key的值

SETEX key seconds value

设置指定key的值,并将key的过期时间设为seconds秒

SETNX key value

只有在key不存在时设置key的值

更多命令可以参考Redis中文网:Redis中文网

3.2 哈希操作命令

Redis hash 是一个string类型的 field 和 value 的映射表,hash特别适合用于存储对象,常用命令:

命令

描述

HSET key field value

将哈希表 key 中的字段 field 的值设为 value

HGET key field

获取存储在哈希表中指定字段的值

HDEL key field

删除存储在哈希表中的指定字段

HKEYS key

获取哈希表中所有字段

HVALS key

获取哈希表中所有值

3.3 列表操作命令

Redis 列表是简单的字符串列表,按照插入顺序排序,常用命令:

命令

描述

LPUSH key value1 [value2]

将一个或多个值插入到列表头部

LRANGE key start stop

获取列表指定范围内的元素

RPOP key

移除并获取列表最后一个元素

LLEN key

获取列表长度

BRPOP key1 [key2] timeout

移出并获取列表的最后一个元素,

如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止

3.4 集合操作命令

Redis set 是string类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据,常用命令:

命令

描述

SADD key member1 [member2]

向集合添加一个或多个成员

SMEMBERS key

返回集合中的所有成员

SCARD key

获取集合的成员数

SINTER key1 [key2]

返回给定所有集合的交集

SUNION key1 [key2]

返回所有给定集合的并集

SREM key member1 [member2]

移除集合中一个或多个成员

3.5 有序集合操作命令

Redis有序集合是string类型元素的集合,且不允许有重复成员。每个元素都会关联一个double类型的分数。

常用命令:

命令

描述

ZADD key score1 member1 [score2 member2]

向有序集合添加一个或多个成员

ZRANGE key start stop [WITHSCORES]

通过索引区间返回有序集合中指定区间内的成员

ZINCRBY key increment member

有序集合中对指定成员的分数加上增量 increment

ZREM key member [member ...]

移除有序集合中的一个或多个成员

3.6 通用命令

Redis的通用命令是不分数据类型的,都可以使用的命令:

命令

描述

KEYS pattern

查找所有符合给定模式(pattern)的key

EXISTS key

检查给定key是否存在

TYPE key

返回key所储存的值的类型

DEL key

该命令用于在key存在时删除key

4.在Java中操作Redis

4.1 Redis的Java客户端

Redis 的 Java 客户端很多,常用的几种:

  • Jedis
  • Lettuce
  • Spring Data Redis

Spring 对 Redis 客户端进行了整合,提供了 Spring Data Redis,在Spring Boot项目中还提供了对应的Starter,即 spring-boot-starter-data-redis。

4.2 Spring Data Redis使用方式

4.2.1 介绍

Spring Data Redis 是 Spring 的一部分,提供了在 Spring 应用中通过简单的配置就可以访问 Redis 服务,对 Redis 底层开发包进行了高度封装。在 Spring 项目中,可以使用Spring Data Redis来简化 Redis 操作。

网址:Spring Data Redis

Spring Boot提供了对应的Starter,maven坐标:

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

Spring Data Redis中提供了一个高度封装的类:RedisTemplate,对相关api进行了归类封装,将同一类型操作封装为operation接口,具体分类如下:

  • ValueOperations:string数据操作
  • SetOperations:set类型数据操作
  • ZSetOperations:zset类型数据操作
  • HashOperations:hash类型的数据操作
  • ListOperations:list类型的数据操作

4.2.2 环境搭建

进入到sky-server模块

1). 导入Spring Data Redis的maven坐标

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

2). 配置Redis数据源

在application-dev.yml中添加

sky:redis:host: localhostport: 6379password: 123456database: 10

解释说明:

database:指定使用Redis的哪个数据库,Redis服务启动后默认有16个数据库,编号分别是从0到15。

可以通过修改Redis配置文件来指定数据库的数量。

在application.yml中添加读取application-dev.yml中的相关Redis配置

spring:profiles:active: devredis:host: ${sky.redis.host}port: ${sky.redis.port}password: ${sky.redis.password}database: ${sky.redis.database}

3). 编写配置类,创建RedisTemplate对象

@Configuration
@Slf4j
public class RedisConfiguration {@Beanpublic RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory){log.info("开始创建redis模板对象...");RedisTemplate redisTemplate = new RedisTemplate();//设置redis的连接工厂对象redisTemplate.setConnectionFactory(redisConnectionFactory);//设置redis key的序列化器redisTemplate.setKeySerializer(new StringRedisSerializer());return redisTemplate;}}

解释说明:

当前配置类不是必须的,因为 Spring Boot 框架会自动装配 RedisTemplate 对象,但是默认的key序列化器为

JdkSerializationRedisSerializer,导致我们存到Redis中后的数据和原始数据有差别,故设置为StringRedisSerializer序列化器。

4). 通过RedisTemplate对象操作Redis

在test下新建测试类

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.redis.core.*;@SpringBootTest
public class SpringDataRedisTest {@Autowiredprivate RedisTemplate redisTemplate;@Testpublic void testRedisTemplate(){System.out.println(redisTemplate);//string数据操作ValueOperations valueOperations = redisTemplate.opsForValue();//hash类型的数据操作HashOperations hashOperations = redisTemplate.opsForHash();//list类型的数据操作ListOperations listOperations = redisTemplate.opsForList();//set类型数据操作SetOperations setOperations = redisTemplate.opsForSet();//zset类型数据操作ZSetOperations zSetOperations = redisTemplate.opsForZSet();}
}

测试:

说明RedisTemplate对象注入成功,并且通过该RedisTemplate对象获取操作5种数据类型相关对象。

上述环境搭建完毕后,接下来,我们就来具体对常见5种数据类型进行操作。

4.2.3 操作常见类型数据

1). 操作字符串类型数据

/*** 操作字符串类型的数据*/
@Test
public void testString(){// set get setex setnxredisTemplate.opsForValue().set("name","小明");String city = (String) redisTemplate.opsForValue().get("name");System.out.println(city);redisTemplate.opsForValue().set("code","1234",3, TimeUnit.MINUTES);redisTemplate.opsForValue().setIfAbsent("lock","1");redisTemplate.opsForValue().setIfAbsent("lock","2");
}

2). 操作哈希类型数据

/*** 操作哈希类型的数据*/
@Test
public void testHash(){//hset hget hdel hkeys hvalsHashOperations hashOperations = redisTemplate.opsForHash();hashOperations.put("100","name","tom");hashOperations.put("100","age","20");String name = (String) hashOperations.get("100", "name");System.out.println(name);Set keys = hashOperations.keys("100");System.out.println(keys);List values = hashOperations.values("100");System.out.println(values);hashOperations.delete("100","age");
}

3). 操作列表类型数据

/*** 操作列表类型的数据*/
@Test
public void testList(){//lpush lrange rpop llenListOperations listOperations = redisTemplate.opsForList();listOperations.leftPushAll("mylist","a","b","c");listOperations.leftPush("mylist","d");List mylist = listOperations.range("mylist", 0, -1);System.out.println(mylist);listOperations.rightPop("mylist");Long size = listOperations.size("mylist");System.out.println(size);
}

4). 操作集合类型数据

/*** 操作集合类型的数据*/
@Test
public void testSet(){//sadd smembers scard sinter sunion sremSetOperations setOperations = redisTemplate.opsForSet();setOperations.add("set1","a","b","c","d");setOperations.add("set2","a","b","x","y");Set members = setOperations.members("set1");System.out.println(members);Long size = setOperations.size("set1");System.out.println(size);Set intersect = setOperations.intersect("set1", "set2");System.out.println(intersect);Set union = setOperations.union("set1", "set2");System.out.println(union);setOperations.remove("set1","a","b");
}

5). 操作有序集合类型数据

/*** 操作有序集合类型的数据*/
@Test
public void testZset(){//zadd zrange zincrby zremZSetOperations zSetOperations = redisTemplate.opsForZSet();zSetOperations.add("zset1","a",10);zSetOperations.add("zset1","b",12);zSetOperations.add("zset1","c",9);Set zset1 = zSetOperations.range("zset1", 0, -1);System.out.println(zset1);zSetOperations.incrementScore("zset1","c",10);zSetOperations.remove("zset1","a","b");
}

6). 通用命令操作

/*** 通用命令操作*/
@Test
public void testCommon(){//keys exists type delSet keys = redisTemplate.keys("*");System.out.println(keys);Boolean name = redisTemplate.hasKey("name");Boolean set1 = redisTemplate.hasKey("set1");for (Object key : keys) {DataType type = redisTemplate.type(key);System.out.println(type.name());}redisTemplate.delete("mylist");
}

相关文章:

redis场用命令及其Java操作

目录 1. Redis入门 1.1 Redis简介 1.2 Redis下载与安装 1.2.1 Redis下载 1.2.2 Redis安装 1.3 Redis服务启动与停止 1.3.1 服务启动命令 1.3.2 客户端连接命令 1.3.3 修改Redis配置文件 1.3.4 Redis客户端图形工具 2. Redis数据类型 2.1 五种常用数据类型介绍 2.2 …...

UG\NX二次开发 同时设置多个对象的高亮状态 UF_DISP_set_highlights

文章作者:里海 来源网站:王牌飞行员_里海_里海NX二次开发3000例,里海BlockUI专栏,C\C++-CSDN博客 感谢粉丝订阅 感谢 captainliubang 订阅本专栏,非常感谢。 简介 UG\NX二次开发 同时设置多个对象的高亮状态 UF_DISP_set_highlights 效果 代码(在for循环中逐个设置多个对象…...

Qt+树莓派4B 手动设置系统日期和时间

文章目录 前言一、设置日期二、设置时间 前言 某些设备需要在无网络环境下工作,系统时间和日期无法通过网络实时同步,此时就需要人为设置. 一、设置日期 QString m_date,m_time;QDateEdit *dateEdit new QDateEdit(this); dateEdit->setFixedSize(250,60); connect(date…...

用大顶堆和小顶堆实现优先队列

大顶堆小顶堆&#xff08;或大根堆小根堆&#xff09; 利用大顶堆实现优先队列&#xff0c;所谓大顶堆&#xff0c;容器内部元素是有序的&#xff0c;而且是按从大到小排序的&#xff08;小顶堆刚好相反&#xff0c;从小到大&#xff09;。容器只有一个出口一个入口&#xff0…...

PDCA项目开发环境搭建说明

PDCA项目开发环境搭建说明 环境准备 JDK 15.0 &#xff1b; IDEA Community Edition 2021.3 版本要对应&#xff0c;不然会报错 Jdk 安装步骤&#xff1a;https://blog.csdn.net/qq_34913677/article/details/108894727 IDea 安装说明&#xff1a;https://blog.csdn.net/dream…...

Git简明教程

1.Git的定位 在我们自己开发项目的过程中&#xff0c;经常会遇到这样的情况&#xff0c;为了防止代码丢失&#xff0c;或者新变更的代码影响到原有的代码功能&#xff0c;为了在失误后能恢复到原来的版本&#xff0c;不得不复制出一个副本,比如&#xff1a;“坦克大战1.0”“坦…...

数据结构顺序表(C语言版)

目录 1.实现的接口及其功能2.代码块 1.实现的接口及其功能 //初始化顺序表void initSL(SL* p); //销毁顺序表 void DestorySL(SL* p); //头插 void PushFont(SL* p, SeqListType x); //尾插 void PushBack(SL* p, SeqListType x); //头删 void PopFont(SL* p); //尾删 void Pop…...

新手如何备考学习PMP?

一、PMP学习7步走攻略 1、熟悉考试大纲&#xff1a; PMP考试大纲是备考的基础&#xff0c;考生需要详细熟悉考试大纲&#xff0c;了解各个知识领域的重点和难点。 2、制定学习计划&#xff1a; 根据考试大纲和个人情况&#xff0c;制定学习计划&#xff0c;合理分配学习时间…...

[卷积神经网络]FasterNet论文解析

一、概述 FasterNet是CVPR2023的文章&#xff0c;通过使用全新的部分卷积PConv&#xff0c;更高效的提取空间信息&#xff0c;同时削减冗余计算和内存访问&#xff0c;效果非常明显。相较于DWConv&#xff0c;PConv的速度更快且精度也非常高&#xff0c;识别精度基本等同于大型…...

知识图谱+推荐系统 文献阅读

文献阅读及整理 知识图谱推荐系统 知识图谱 1 基于知识图谱的电商领域智能问答系统研究与实现 [1]蒲海坤. 基于知识图谱的电商领域智能问答系统研究与实现[D].西京学院,2022.DOI:10.27831/d.cnki.gxjxy.2021.000079. 知识点 BIO标记策略进行人工标记,构建了电商领域商品…...

shell_39.Linux参数测试

参数测试 在 shell 脚本中使用命令行参数时要当心。如果运行脚本时没有指定所需的参数&#xff0c;则可能会出问题&#xff1a; $ ./positional1.sh ./positional1.sh: line 5: ((: number < : syntax error: operand expected (error token is "< ") The …...

3D模型格式转换工具HOOPS Exchange助力SIMCON搭建注塑项目

行业&#xff1a;设计与制造 / 注塑成型 / 模拟 挑战&#xff1a;注塑成型商面临着以高效的方式为客户生产零件的挑战。需要大量的试验才能生产出适合的零件&#xff0c;同时模具需要进行多次物理修改&#xff0c;每次修改周期最长需要四个星期&#xff0c;成本高达四到五位数…...

Linux_虚拟内存机制

虚拟内存是如何工作的 我们的程序中使用的所有地址都是虚拟地址&#xff0c;但实际数据是从磁盘空间缓存在物理内存中&#xff0c;读的还是内存中的数据&#xff0c;所以每次CPU的访存操作都会先将虚拟内存交给CPU中的MMU硬件&#xff0c;利用存在主存&#xff08;实际也可能在…...

淘宝官方开放平台API接口获得店铺的所有商品、商品id、商品标题、销量参数调用示例

在电商平台中&#xff0c;获取店铺所有商品是一个非常常见的需求。这个功能允许用户一次性获取指定店铺中的所有商品信息&#xff0c;方便用户对店铺的商品进行浏览和筛选。下面将对获取店铺所有商品接口的功能进行介绍。 获取全部商品信息&#xff1a;通过调用获取店铺所有商…...

Java Spring 通过 AOP 实现方法参数的重新赋值、修改方法参数的取值

AOP 依赖 我创建的项目项目为 SpringBoot 项目 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.1.3</version></parent><dependency><groupId…...

Real3D FlipBook jQuery Plugin 3.41 Crack

Real3D FlipBook 和 PDF 查看器 jQuery 插件 - CodeCanyon 待售物品 实时预览 截图 视频预览 Real3D Flipbook jQuery 插件 - 1 Real3D Flipbook jQuery 插件 - 2 Real3D Flipbook jQuery 插件 - 3 新功能 – REAL3D FLIPBOOK JQUERY 插件的 PDF 到图像转换器 一款用于将…...

Pytorch:model.train()和model.eval()用法和区别,以及model.eval()和torch.no_grad()的区别

1 model.train() 和 model.eval()用法和区别 1.1 model.train() model.train()的作用是启用 Batch Normalization 和 Dropout。 如果模型中有BN层(Batch Normalization&#xff09;和Dropout&#xff0c;需要在训练时添加model.train()。model.train()是保证BN层能够用到每一…...

Linux CentOS 8(firewalld的配置与管理)

Linux CentOS 8&#xff08;firewalld的配置与管理&#xff09; 目录 一、firewalld 简介二、firewalld 工作概念1、预定义区域&#xff08;管理员可以自定义修改&#xff09;2、预定义服务 三、firewalld 配置方法1、通过firewall-cmd配置2、通过firewall图形界面配置 四、配置…...

C复习-指针

参考&#xff1a; 里科《C和指针》 指针存储的是一个地址&#xff0c;实际就是一个值。 如果像下面一样对未初始化的指针进行赋值&#xff0c;如果a的初始值是非法地址&#xff0c;那么会报错。UNIX会提示段错误segmentation violation&#xff0c;或内存错误memory fault&…...

Runnable和Thread的区别,以及如何调用start()方法

Runnable和Thread都是Java多线程编程中的核心概念&#xff0c;它们之间存在以下主要差异&#xff1a; Runnable是一个接口&#xff0c;而Thread是一个类。这意味着我们可以通过实现Runnable接口来创建线程&#xff0c;或者直接继承Thread类并重写其方法。Runnable只包含一个ru…...

C#和C++在编译过程中的文件区分

1. .h是头文件&#xff08;Header File&#xff09; 用来 声明类、函数、常量等。 通常不包含实际实现&#xff0c;只是“定义接口” // 示例&#xff1a;math_utils.h#pragma once int add(int a, int b); //定义函数名2. .cpp是源文件&#xff08;Source File&…...

关于智能体API参考接口

关于智能体在Flask的源码&#xff1a;请求体(在payload里的是请求体)、请求头&#xff08;在headers里的i局势请求头&#xff09;。 我的例子&#xff1a; 我的疑问&#xff1a;为什么没按Coze官方API文档格式&#xff0c;在Apifox里发POST请求却能收到回复&#xff1f; 1. 你…...

wsl开启即闪退

[ 问题 ]&#xff1a; 在一次电脑卡住&#xff0c;强制关机重启后&#xff0c;遇到打开WSL就闪退的问题在CMD中打开WSL&#xff0c;出现如上图的描述&#xff1a; C:\Users\admin>wsl wsl: 检测到 localhost 代理配置&#xff0c;但未镜像到 WSL。NAT 模式下的 WSL 不支持…...

意识上传伦理前夜:我们是否在创造数字奴隶?

当韩国财阀将“数字永生”标价1亿美元准入权时&#xff0c;联合国预警的“神经种姓制度”正从科幻步入现实。某脑机接口公司用户协议中“上传意识衍生算法归公司所有”的隐藏条款&#xff0c;恰似德里达预言的当代印证&#xff1a;“当意识沦为可交易数据流&#xff0c;主体性便…...

免费批量PDF转Word工具

免费批量PDF转Word工具 工具简介 这是一款简单易用的批量PDF转Word工具&#xff0c;支持&#xff1a; 批量转换多个PDF文件保留原始格式和布局快速高效的转换速度完全免费使用 工具地址 下载链接 网盘下载地址&#xff1a;点击下载 提取码&#xff1a;8888 功能特点 ✅…...

多标签多分类 用什么函数激活

在多标签多分类任务中&#xff0c;激活函数的选择需要根据任务特性和输出层的设计来决定。以下是常见的激活函数及其适用场景&#xff1a; 一、多标签分类任务的特点 每个样本可以属于多个类别&#xff08;标签之间非互斥&#xff0c;例如一篇文章可能同时属于 “科技” 和 “…...

(2025)Windows修改JupyterNotebook的字体,使用JetBrains Mono

(JetBrains Mono字体未下载就配置,这种情况我不知道能不能行,没做过实验,因为我电脑已经下载了,不可能删了那么多字体做实验,我的建议是下载JetBrains Mono字体,当你使用VsCode配置里面的JetBrains字体也很有用) 首先参考该文章下载字体到电脑上 VSCode 修改字体为JetBrains …...

EMC VNXe 存储系统日志收集方法

写在前面 有朋友找来看看VNXe的故障&#xff0c;这种问题总是要收集日志&#xff0c;顺便这里也分享给大家。 注意&#xff0c;VNXe和VNX 属于完全不同的产品&#xff0c;不要看名字很类似&#xff0c;操作系统已经完全重构了&#xff0c;如果说是否有联系&#xff0c;大概就…...

通过阿里云 DashScope API 调用通义千问

获取API Key 百炼控制台https://bailian.console.aliyun.com/?tabmodel#/api-key 步骤 1&#xff1a;安装 DashScope SDK pip install dashscope 步骤 2&#xff1a;LangChain 调用 from langchain_community.llms import Tongyi# 设置阿里云 API Key&#xff08;从环境变…...

机器翻译模型笔记

机器翻译学习笔记&#xff08;简体中文&#xff09; 1. 任务概述 目标&#xff1a;将英文句子翻译成简体中文。 示例&#xff1a; 输入&#xff1a;Tom is a student. 输出&#xff1a;汤姆是一个学生。 框架&#xff1a;Seq2Seq&#xff08;序列到序列&#xff09;模型。…...