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

NoSQL 之 Redis 配置与常用命令

一、关系型数据库与非关系型数据库

1、数据库概述

(1)关系型数据库

关系型数据库是一个结构化的数据库,创建在关系模型(二维表格模型)基础上,一般面向于记

录。

SQL 语句(标准数据查询语言)就是一种基于关系型数据库的语言,用于执行对关系型数据库中

数据的检索和操作。

主流的关系型数据库包括 Oracle、MySQL、SQL Server、Microsoft Access、DB2、PostgreSQL 等

以上数据库在使用的时候必须先建库建表设计表结构,然后存储数据的时候按表结构去存,如果数

据与表结构不匹配就会存储失败。

(2)非关系型数据库

NoSQL(NoSQL = Not Only SQL ),意思是“不仅仅是 SQL”,是非关系型数据库的总称。

除了主流的关系型数据库外的数据库,都认为是非关系型。

不需要预先建库建表定义数据存储表结构,每条记录可以有不同的数据类型和字段个数(比如微信

群聊里的文字、图片、视频、音乐等)。

主流的 NoSQL 数据库有 Redis、MongBD、Hbase、Memcached、ElasticSearch、TSDB 等

2、 关系型数据库SQL 和 非关系型数据库NoSQL 的区别

 SQL            NoSQL
存储结构    二维表格结构不是二维表格结构,不同的NoSQL采用不同的存储方式(比如键值对、文档、索引、图形结构、时间序列等)
扩展方式纵向扩展(提升单机的硬件性能)横向扩展(增加服务器节点数量)
事务支持    基于ACID原则,对事务控制更稳定,细粒度更高基于BASE原则,对事务控制的稳定性和细粒度不如SQL
典型代表  MySQL Oracle PostgreSQL SQL-Server     Redis Memcached MongDB ElasticSearch Prometheus

 二、redis

1、redis的相关介绍

Redis 是 用C语言开发的,开源的,基于内存运行的NoSQL

 存储结构:键值对(Key/Value  KV) 

数据类型:

五大基础数据类型   string(字符串)   list(列表)   hash(哈希/散列)   set(集合/无序集合)   zset/sorted set(有序集合)

三种特殊的数据类型 :HyperLogLogs(基数统计)  Bitmaps(位图)   geospatial(地理位置)

 端口号:TCP/6379

MySQL 和 Redist  的配合使用图

2、Redis 的几个优点                               
     

(1)具有极高的数据读写速度:数据读取的速度最高可达到 110000 次/s,数据写入速度最高可达到 81000 次/s。

(2)支持丰富的数据类型:支持 key-value、Strings、Lists、Hashes、Sets 及 Sorted Sets 等数据类型操作。

(3)支持数据的持久化:可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。

(4)原子性:Redis 所有操作都是原子性的。

(5)支持数据备份:即 master-salve 模式的数据备份

                             

3、使用场景

(1)Redis作为基于内存运行的数据库,是一个高性能的缓存,一般应用在Session缓存、队列、排行榜、计数器、最近最热文章、最近最热评论、发布订阅等。

(2)Redis 适用于数据实时性要求高、数据存储有过期和淘汰特征的、不需要持久化或者只需要保证弱一致性、逻辑简单的场景。

(3)我们通常会将部分数据放入缓存中,来提高访问速度,然后数据库承担存储的工作。

4.哪些数据适合放入缓存中?

(1)即时性。例如查询最新的物流状态信息。

(2)数据一致性要求不高。例如门店信息,修改后,数据库中已经改了,五分钟后缓存中才是最新的,但不影响功能使用。

(3)访问量大且更新频率不高,例如网站首页的广告信息,访问量大,但是不会经常变化。

4、Redis读写速度快的原因

(1)Redis是一款纯内存结构,避免了磁盘I/O等耗时操作。

(2)Redis命令处理的核心模块为单线程,不存在多线程切换而消耗CPU,不用考虑各种锁的问题,不存在加锁、释放锁的操作,没有因为可能出现死锁而导致性能消耗。

(3)采用了 I/O 多路复用机制,大大提升了并发效率。

注:在 Redis 6.0 中新增加的多线程也只是针对处理网络请求过程采用了多线性,而数据的读写命令,仍然是单线程处理的。


三、Redis 安装部署

1.初始化操作

systemctl stop firewalldsystemctl disable firewalldsetenforce 0sed -i 's/enforcing/disabled/' /etc/selinux/config

2.修改内核参数

vim /etc/sysctl.confvm.overcommit_memory = 1         #内核允许超量使用内存直到用完为止,防止OOM杀死进程
net.core.somaxconn = 2048        #指定处于监听状态的连接请求队列的最大长度sysctl -p

3.安装redis

yum install -y gcc gcc-c++ maketar zxvf /opt/redis-7.0.9.tar.gz -C /opt/cd /opt/redis-7.0.9makemake PREFIX=/usr/local/redis install#由于Redis源码包中直接提供了 Makefile 文件,所以在解压完软件包后,
不用先执行 ./configure 进行配置,可直接执行 make 与 make install 命令进行安装。

4.创建redis工作目录

mkdir /usr/local/redis/{conf,log,data}cp /opt/redis-7.0.9/redis.conf /usr/local/redis/conf/useradd -M -s /sbin/nologin redischown -R redis.redis /usr/local/redis/

5.设置环境变量

vim /etc/profile PATH=$PATH:/usr/local/redis/bin		#文件最底下增加一行source /etc/profile

6.修改配置文件

vim /usr/local/redis/conf/redis.confbind 127.0.0.1 192.168.10.10					
#87行,添加 监听的主机地址protected-mode no					
#111行,将本机访问保护模式设置no。
如果开启了,那么在没有设定bind ip且没有设密码的情况下,Redis只允许接受本机的响应port 6379										
#138行,Redis默认的监听6379端口daemonize yes									
#309行,设置为守护进程,后台启动pidfile /usr/local/redis/log/redis_6379.pid		
#341行,指定 PID 文件logfile "/usr/local/redis/log/redis_6379.log"	
#354行,指定日志文件dir /usr/local/redis/data						
#504行,指定持久化文件所在目录requirepass abc123								
#1037行,增加一行,设置redis密码

7.定义systemd服务管理脚本

vim /usr/lib/systemd/system/redis-server.service[Unit]
Description=Redis Server
After=network.target[Service]
User=redis
Group=redis
Type=forking
TimeoutSec=0
PIDFile=/usr/local/redis/log/redis_6379.pid
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true[Install]
WantedBy=multi-user.target启动服务systemctl start redis-serversystemctl enable redis-servernetstat -lntp | grep 6379

8.启动服务 

systemctl start redis-server
systemctl enable redis-servernetstat -lntp | grep 6379

四、Redis 命令工具

redis-server:Redis     服务器启动命令redis-benchmark:       性能测试工具,用于检测 Redis 在本机的运行效率redis-check-aof:       修复有问题的 AOF 持久化文件redis-check-rdb:       修复有问题的 RDB 持久化文件redis-cli:Redis         客户端命令行工具redis-sentinel:Redis    哨兵集群使用

1.redis-cli 命令行工具

语法:redis-cli -h host -p port [-a password]-h :指定远程主机-p :指定 Redis 服务的端口号-a :指定密码,未设置数据库密码可以省略-a 选项若不添加任何选项表示,则使用 127.0.0.1:6379 连接本机上的 Redis 数据库redis-cli -h 192.168.80.10 -p 6379 -a 'abc123'  

2.redis-benchmark 测试工具

redis-benchmark 是官方自带的 Redis 性能测试工具,可以有效的测试 Redis 服务的性能。基本的测试语法:redis-benchmark [选项] [选项值]。-h :指定服务器主机名。-p :指定服务器端口。-s :指定服务器 socket-c :指定并发连接数。 -n :指定请求数。-d :以字节的形式指定 SET/GET 值的数据大小。-k :1=keep alive 0=reconnect 。-r :SET/GET/INCR 使用随机 key, SADD 使用随机值。-P :通过管道传输<numreq>请求。-q :强制退出 redis。仅显示 query/sec 值。--csv :以 CSV 格式输出。-l :生成循环,永久执行测试。-t :仅运行以逗号分隔的测试命令列表。-I :Idle 模式。仅打开 N 个 idle 连接并等待。
#向 IP 地址为 192.168.80.10、端口为 6379 的 Redis 服务器发送 100 个并发连接与 100000 个请求测试性能
redis-benchmark -h 192.168.80.10 -p 6379 -c 100 -n 100000#测试存取大小为 100 字节的数据包的性能
redis-benchmark -h 192.168.80.10 -p 6379 -q -d 100#测试本机上 Redis 服务在进行 set 与 lpush 操作时的性能
redis-benchmark -t set,lpush -n 100000 -q

3.Redis 数据库常用命令

String数据类型 

set:存放数据,命令格式为 set key valueget:获取数据,命令格式为 get key

(1)keys 命令可以取符合规则的键值列表,通常情况可以结合*、?等选项来使用

keys *           #查看当前数据库中所有键keys my????      #查看当前数据库中以 my 开头后面包含任意4位的数据keys my?????     #查看当前数据库中以 my 开头 my 开头后面包含任意五位的数据keys my*         #查看当前数据库中以 my 开头的数据

(2) exists 命令可以判断键值是否存在

 exists myclass		     #判断 myclass 键是否存在
(integer) 1				 # 1 表示 myclass 键是存在exists myschool
(integer) 0				 # 0 表示 myschool 键不存在

(3)type 命令可以获取 key 对应的 value 值类型

(4)expire 命令可以为已存在的 key 设置过期时间

expire 键 秒数 值expire myclass 20

(5)ttl 命令可以查看 key 还有多少秒过期,-1表示永不过期,-2表示已过期

ttl 键名

(6)rename 命令是对已有 key 进行重命名。(覆盖)

rename 旧键 新键

(7)expire 命令创建 key 和 值,并设置过期时间

setex  键  秒数  值

(8)del 命令可以删除当前数据库的指定 key

del 键

(9)rename 命令是对已有 key 进行重命名。(覆盖) 

rename 键 新键

(10)renamenx 命令的作用是对已有 key 进行重命名,并检测新名是否存在,如果目标 key 存在则不进行重命名。(不覆盖)

renamenx 键 新键

(11)dbsize 命令的作用是查看当前数据库中 key 的数目

127.0.0.1:6379> dbsize

(12)使用config set requirepass yourpassword命令设置密码

127.0.0.1:6379> config set requirepass 123456

(13)使用config get requirepass命令查看密码(一旦设置密码,必须先验证通过密码,否则所有操作不可用)

127.0.0.1:6379> auth 123456
127.0.0.1:6379> config get requirepass

4.Redis 多数据库常用命令

(1)多数据库间切换

命令格式:select 序号

注意:使用 redis-cli 连接 Redis 数据库后,默认使用的是序号为 0 的数据库。

127.0.0.1:6379> select 10            #切换至序号为 10 的数据库127.0.0.1:6379[10]> select 15        #切换至序号为 15 的数据库127.0.0.1:6379[15]> select 0            #切换至序号为 0 的数据库

(2)多数据库间移动数据

格式:move 键名 序号

127.0.0.1:6379> set k1 100
OK
127.0.0.1:6379> get k1
"100"
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> get k1
(nil)
127.0.0.1:6379[1]> select 0            #切换至目标数据库 0
OK
127.0.0.1:6379> get k1                #查看目标数据是否存在
"100"
127.0.0.1:6379> move k1 1            #将数据库 0 中 k1 移动到数据库 1 中
(integer) 1
127.0.0.1:6379> select 1                #切换至目标数据库 1
OK
127.0.0.1:6379[1]> get k1            #查看被移动数据
"100"
127.0.0.1:6379[1]> select 0
OK
127.0.0.1:6379> get k1                #在数据库 0 中无法查看到 k1 的值
(nil)

(3)清除数据库内数据

FLUSHDB :清空当前数据库数据
FLUSHALL :清空所有数据库的数据,慎用!

相关文章:

NoSQL 之 Redis 配置与常用命令

一、关系型数据库与非关系型数据库 1、数据库概述 &#xff08;1&#xff09;关系型数据库 关系型数据库是一个结构化的数据库&#xff0c;创建在关系模型&#xff08;二维表格模型&#xff09;基础上&#xff0c;一般面向于记 录。 SQL 语句&#xff08;标准数据查询语言&am…...

用SpringBoot打造坚固防线:轻松实现XSS攻击防御

在这篇博客中&#xff0c;我们将深入探讨如何使用SpringBoot有效防御XSS攻击。通过结合注解和过滤器的方式&#xff0c;我们可以为应用程序构建一个强大的安全屏障&#xff0c;确保用户数据不被恶意脚本所侵害。 目录 什么是XSS攻击&#xff1f;SpringBoot中的XSS防御策略使用…...

2024机器人科研/研发领域最新研究方向岗位职责与要求

具身智能工程师 从事具身智能领域的技术研究或产品开发&#xff0c;制定具身智能技术标准&#xff0c;利用大模型技术来提高机器人的智能化水平&#xff0c;研究端云协同的机器人系统框架&#xff0c;并赋能人形/复合等各类形态的机器人。具体内容包括不限于&#xff1a; 1、负…...

笔记:Newtonsoft.Json 序列化接口集合

在使用 Newtonsoft.Json 序列化接口集合时&#xff0c;一个常见的挑战是如何处理接口的具体实现&#xff0c;因为接口本身并不包含关于要实例化哪个具体类的信息。为了正确序列化和反序列化接口集合&#xff0c;你需要提供一些额外的信息或使用自定义的转换器来指导 Newtonsoft…...

【Unity设计模式】✨使用 MVC 和 MVP 编程模式

前言 最近在学习Unity游戏设计模式&#xff0c;看到两本比较适合入门的书&#xff0c;一本是unity官方的 《Level up your programming with game programming patterns》 ,另一本是 《游戏编程模式》 这两本书介绍了大部分会使用到的设计模式&#xff0c;因此很值得学习 本…...

CDH安装和配置流程

这份文件是一份关于CDH&#xff08;Clouderas Distribution Including Apache Hadoop&#xff09;安装的详细手册&#xff0c;主要内容包括以下几个部分&#xff1a; 1. **前言**&#xff1a; - CDH是基于Apache Hadoop的发行版&#xff0c;由Cloudera公司开发。 - 相比…...

SpringMVC:SpringMVC执行流程

文章目录 一、介绍二、什么是MVC 一、介绍 Spring MVC 是一种基于Java的Web框架&#xff0c;它采用了MVC&#xff08;Model - View - Controller&#xff09;设计模式&#xff0c;通过吧Model、View和Controller分离&#xff0c;将Web层进行职责解耦&#xff0c;把复杂的Web应…...

如何在前端网页实现live2d的动态效果

React如何在前端网页实现live2d的动态效果 业务需求&#xff1a; 因为公司需要做机器人相关的业务&#xff0c;主要是聊天形式的内容&#xff0c;所以需要一个虚拟的卡通形象。而且为了更直观的展示用户和机器人对话的状态&#xff0c;该live2d动画的嘴型需要根据播放的内容来…...

昇思25天学习打卡营第15天|linchenfengxue

Pix2Pix实现图像转换 Pix2Pix概述 Pix2Pix是基于条件生成对抗网络&#xff08;cGAN, Condition Generative Adversarial Networks &#xff09;实现的一种深度学习图像转换模型&#xff0c;该模型是由Phillip Isola等作者在2017年CVPR上提出的&#xff0c;可以实现语义/标签到…...

软考中级数据库系统工程师备考经验分享

前几天软考成绩出了&#xff0c;赶紧查询了一下发现自己顺利通过啦&#xff08;上午63&#xff0c;下午67&#xff0c;开心&#xff09;&#xff0c;因此本文记录一下我的备考经验分享给大家。因为工作中项目管理类的知识没有系统学习过&#xff0c;本来想直接报名软考高级证书…...

Centos7删除MariaDB

在 CentOS 7 上删除 MariaDB 可以通过 yum 包管理器来完成。以下是一步一步的指导&#xff1a; 打开终端&#xff1a;首先&#xff0c;你需要打开你的 CentOS 7 系统的终端。 停止 MariaDB 服务&#xff08;如果正在运行&#xff09;&#xff1a;在卸载 MariaDB 之前&#xff…...

【Docker系列】Docker 镜像构建中的跨设备移动问题及解决方案

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...

C++友元函数和友元类的使用

1.友元介绍 在C++中,友元(friend)是一种机制,允许某个类或函数访问其他类的私有成员。通过友元,可以授予其他类或函数对该类的私有成员的访问权限。友元关系在一些特定的情况下很有用,例如在类之间共享数据或实现特定的功能。 友元可以分为两种类型:类友元和函数友元。…...

黑马苍穹外卖技术亮点 详情

1.使用工厂模式和策略模式实现布隆过滤器解决缓存穿透问题 Bitmap Bitmap是一种数据结构&#xff0c;它使用位图来表示数据。在处理大量数据时&#xff0c;Bitmap可以通过将每个数据元素映射到一个位&#xff0c;然后使用位运算来对数据进行操作。 通过使用Bitmap&#xff0c…...

Python酷库之旅-第三方库Pandas(005)

目录 一、用法精讲 7、pandas.read_clipboard函数 7-1、语法 7-2、参数 7-3、功能 7-4、返回值 7-5、说明 7-6、用法 7-6-1、代码示例 7-6-2、结果输出 8、pandas.DataFrame.to_clipboard函数 8-1、语法 8-2、参数 8-3、功能 8-4、返回值 8-5、说明 8-6、用法…...

javascripr如何设计弹出输入框并在网页内输出输入内容

javascript如何设计弹出输入对话框 这里就需要用到prompt语言 它的语法格式是 prompt(对话框内容&#xff09; 如何把在对话框里输入内容输出到网页里&#xff0c;需要先定义一个变量&#xff0c;用var或let都可以。 假定变量名为a&#xff0c;代码是 let aprompt(请输入…...

gitee代码初次上传步骤

ps. 前提是已经下载安装gitee 一、在本地项目目录下空白处右击&#xff0c;选择“Git Bash Here” 二、初始化 git init 三、添加、提交代码&#xff08;注意add与点之间的空格&#xff09; git add . git commit -m 添加注释 四、连接、推送到gitee仓库 git remote add …...

android调用openssl库

android 调用openssl库 一、openssl安装编译 下载openssl-1.1.1w.tar.gz和android-ndk-r21e-linux-x86_64.zip解压android-ndk-r21e-linux-x86_64.zip到/opt/pj_ssl目录下&#xff0c;然后配置环境 vim ~/.bashrc增加如下内容 export NDK_HOME/opt/pj_ssl/android-ndk-r21e…...

Hugging face Transformers(3)—— Tokenizer

Hugging Face 是一家在 NLP 和 AI 领域具有重要影响力的科技公司&#xff0c;他们的开源工具和社区建设为NLP研究和开发提供了强大的支持。它们拥有当前最活跃、最受关注、影响力最大的 NLP 社区&#xff0c;最新最强的 NLP 模型大多在这里发布和开源。该社区也提供了丰富的教程…...

kubernetes集群部署:环境准备及master节点部署(二)

主机名IPv4地址IPv6地址角色安装组件操作系统k8s130-node190192.168.XX.190240a:XX::190masterkubeadm、kubelet、containerdAnolis OS 8.94.19.91-28.1.an8.x86_64k8s130-node191192.168.XX.191240a:XX::191nodekubeadm、kubelet、cri-oAnolis OS 8.94.19.91-28.1.an8.x86_64k…...

第8篇 智能合约的商业应用场景解析

一、引言 在区块链技术的众多应用中,智能合约无疑是其中的一颗璀璨明珠。它通过自动化、去中心化和不可篡改的特性,为商业世界带来了革命性的变革。今天,我们将一同探索智能合约在十个不同行业中的实际应用,感受其独特的魅力。 二、智能合约的商业应用案例 供应链管理:…...

Zabbix 配置grafana对接

zabbix对接grafana简介 Zabbix与Grafana对接可以实现更加丰富和美观的数据可视化&#xff0c;可以利用Grafana强大的可视化功能来展示Zabbix收集的数据。 Grafana 本身是提供了Zabbix的对接插件&#xff0c;开箱即用&#xff0c;安装好了之后点击 enable 一下就能启用。然后就…...

三相感应电机的建模仿真(2)基于ABC相坐标系S-Fun的仿真模型

1. 概述 2. 三相感应电动机状态方程式 3. 基于S-Function的仿真模型建立 4. 瞬态分析实例 5. 总结 6. 参考文献 1. 概述 前面建立的三相感应电机在ABC相坐标系下的数学模型是一组周期性变系数微分方程&#xff08;其电感矩阵是转子位置角的函数&#xff0c;转子位置角随时…...

开源全新H5充值系统源码/自定义首页+充值页面/灵活对接上游渠道接口

开源全新H5充值系统源码&#xff0c;系统基于thinkphp框架开发&#xff0c;功能已全完善&#xff0c;可灵活对接其他上游渠道接口&#xff0c;默认对接了大猿人接口&#xff0c;另外可无限制自定义创建充值页面&#xff0c;首页支持后台自定义修改&#xff0c;支持三级分销&…...

Linux查看文件的行数,字数,字节数

介绍 在Linux系统中这统计非常方便&#xff0c;只需要简单的几个命令就可以搞定&#xff0c;这个命令就是 wc。 wc --help 用法&#xff1a;wc [选项]... [文件]...或&#xff1a;wc [选项]... --files0-fromF 输出每个指定文件的行数、单词计数和字节数&#xff0c;如果指定…...

【IO】文件操作

&#x1f970;&#x1f970;&#x1f970;来都来了&#xff0c;不妨点个关注叭&#xff01; &#x1f449;博客主页&#xff1a;欢迎各位大佬!&#x1f448; 文章目录 1. 文件1.1 认识文件1.2 分清操作的是内存还是硬盘1.3 路径1.3.1 目录结构1.3.2 相对和绝对路径 1.4 文本文件…...

代码随想录算法训练营第74天:路径总结[1]

代码随想录算法训练营第74天&#xff1a;路径总结 ‍ A * 算法精讲 &#xff08;A star算法&#xff09; 卡码网&#xff1a;126. 骑士的攻击(opens new window) 题目描述 在象棋中&#xff0c;马和象的移动规则分别是“马走日”和“象走田”。现给定骑士的起始坐标和目标…...

用 Emacs 写代码有哪些值得推荐的插件

以下是一些用于 Emacs 写代码的值得推荐的插件&#xff1a; Ido-mode&#xff1a;交互式操作模式&#xff0c;它用列出当前目录所有文件的列表来取代常规的打开文件提示符&#xff0c;能让操作更可视化&#xff0c;快速遍历文件。Smex&#xff1a;可替代普通的 M-x 提示符&…...

自定义注解-手机号验证注解

注解 package com.XX.assess.annotation;import com.XX.assess.util.MobileValidator;import javax.validation.Constraint; import javax.validation.Payload; import java.lang.annotation.*;/*** 手机号校验注解* author super*/ Retention(RetentionPolicy.RUNTIME) Targe…...

华为od-C卷200分题目5 -项目排期

华为od-C卷200分题目5 -项目排期 题目描述 项目组共有N个开发人员&#xff0c;项目经理接到了M个独立的需求&#xff0c;每个需求的工作量不同&#xff0c;且每个需求只能由一个开发人员独立完成&#xff0c;不能多人合作。 假定各个需求之间无任何先后依赖关系&#xff0c;请…...

如何使用Pip从Git仓库安装Python包:深入探索远程依赖管理

如何使用Pip从Git仓库安装Python包&#xff1a;深入探索远程依赖管理 Python的包管理工具Pip使得安装和管理Python库变得非常简单。有时&#xff0c;我们需要安装那些尚未发布到PyPI的包&#xff0c;或者想要尝试最新的开发版本。这时&#xff0c;可以直接从Git仓库安装包。本…...

计算机专业怎么选择电脑

现在高考录取结果基本已经全部出来了&#xff0c;很多同学都如愿以偿的进入到了计算机类专业&#xff0c;现在大部分同学都在为自己的大学生活做准备了&#xff0c;其中第一件事就是买电脑&#xff0c;那计算机类专业该怎么选择电脑呢&#xff1f; 计算机专业是个一类学科&…...

当前国内可用的docker加速器搜集 —— 筑梦之路

可用镜像加速器 以下地址搜集自网络&#xff0c;仅供参考&#xff0c;请自行验证。 1、https://docker.m.daocloud.io2、https://dockerpull.com3、https://atomhub.openatom.cn4、https://docker.1panel.live5、https://dockerhub.jobcher.com6、https://hub.rat.dev7、http…...

【腾讯内推】腾讯2025校招/青云计划/社招——长期有效

及时跟进进度&#xff0c;保证不让简历石沉大海&#xff01; 涵盖NLP/CV/CG/ML/多模态/数据科学/多媒体等各方向! 定向匹配优质团队/竞争力薪酬/覆盖全球工作地点! 招聘对象: 本硕博:2024年1月-2025年12月毕业的同学 目前最热岗位: 技术研究-自然语言处理 技术研究-计算机视觉 …...

集群限流sentinel实践

参考&#xff1a; 集群模式 实践 集群流控规则 其中 用一个专门的 ClusterFlowConfig 代表集群限流相关配置项&#xff0c;以与现有规则配置项分开&#xff1a; // 全局唯一的规则 ID&#xff0c;由集群限流管控端分配. private Long flowId;// 阈值模式&#xff0c;默认&…...

Flutter-实现双向PK进度条

如何实现一个双向PK进度条 在Flutter应用中&#xff0c;进度条是一个非常常见的组件。而双向PK进度条则能够展示两个对立的数值&#xff0c;如对战中的双方得分对比等。本文将介绍如何实现一个具有双向PK效果的进度条&#xff0c;并支持竖直和斜角两种过渡效果。 1. 需求 我…...

unix高级编程系列之文件I/O

背景 作为linux 开发者&#xff0c;我们不可避免会接触到文件编程。比如通过文件记录程序配置参数&#xff0c;通过字符设备与外设进行通信。因此作为合格的linux开发者&#xff0c;一定要熟练掌握文件编程。在文件编程中&#xff0c;我们一般会有两类接口函数&#xff1a;标准…...

PySide(PyQt),记录最后一次访问文件的路径

1、在同目录下用文本编辑器创建JSON文件&#xff0c;命名为setting.json&#xff0c;并输入以下内容后保存&#xff1a; { "setting": { "last_file": [ "" ] } } 2、应用脚本&#xff1a; import json …...

wordpress企业网站模板免费下载

大气上档次的wordpress企业模板&#xff0c;可以直接免费下载&#xff0c;连注册都不需要&#xff0c;网盘就可以直接下载&#xff0c;是不是嘎嘎给力呢 演示 https://www.jianzhanpress.com/?p5857 下载 链接: https://pan.baidu.com/s/1et7uMYd6--NJEWx-srMG1Q 提取码:…...

[leetcode hot 150]第一百一十七题,填充每个节点的下一个右侧节点

题目&#xff1a; 给定一个二叉树&#xff1a; struct Node {int val;Node *left;Node *right;Node *next; } 填充它的每个 next 指针&#xff0c;让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点&#xff0c;则将 next 指针设置为 NULL 。 初始状态下&#x…...

Docker 入门篇(十 一)-- 网络配置总结

Docker 容器技术的核心优势之一是其轻量级的虚拟化和隔离性&#xff0c;而 Docker 网络则是实现容器间以及容器与外界通信的关键。以下是对 Docker 网络的关键知识点的总结。 一、 Docker 网络概述 Docker 网络允许容器进行相互通信以及与外部网络的连接。Docker 提供了多种网…...

【Android面试八股文】Android 有哪些存储数据的方式?

在Android平台上,有多种方式可以存储数据,每种方式都适合不同类型的数据和使用场景。以下是主要的存储数据方式: SharedPreferences(轻量级数据存储): SharedPreferences是用于存储简单键值对数据的最简单方法,适合存储用户偏好设置、配置信息等。数据以XML文件形式存储…...

3. train_encoder_decoder.py

train_encoder_decoder.py #__future__ 模块提供了一种方式&#xff0c;允许开发者在当前版本的 Python 中使用即将在将来版本中成为标准的功能和语法特性。此处为了确保代码同时兼容Python 2和Python 3版本中的print函数 from __future__ import print_function # 导入标准库…...

Hyper-V克隆虚拟机教程分享!

方法1. 使用导出导入功能克隆Hyper-V虚拟机 导出和导入是Hyper-V服务器备份和克隆的一种比较有效的方法。使用此功能&#xff0c;您可以创建Hyper-V虚拟机模板&#xff0c;其中包括软件、VM CPU、RAM和其他设备的配置&#xff0c;这有助于在Hyper-V中快速部署多个虚拟机。 在…...

QDockWidget类详解

一.QDockWidget类概述 1.QDockWidget类 QDockWidget类提供了一个特殊的窗口部件&#xff0c;它可以是被锁在QMainWindow窗口内部或者是作为顶级窗口悬浮在桌面上。 QDockWidget类提供了dock widget的概念&#xff0c;dock widget也就是我们熟悉的工具面板或者是工具窗口。Do…...

vue3.0(十六)axios详解以及完整封装方法

文章目录 axios简介1. promise2. axios特性3. 安装4. 请求方法5. 请求方法别名6. 浏览器支持情况7. 并发请求 Axios的config的配置信息1.浏览器控制台相关的请求信息&#xff1a;2.配置方法3.默认配置4.配置的优先级5.axios请求响应结果 Axios的拦截器1.请求拦截2.响应拦截3.移…...

Python用于处理 DNS 查询库之Dnspython 使用详解

概要 Dnspython 是一个开源的 Python 库,专门用于处理 DNS 查询。它被设计为既简单易用又功能强大,可以满足从简单到复杂的各种 DNS 相关需求。无论是进行基础的 DNS 查询还是进行高级的 DNS 服务器管理,dnspython 都能提供相应的功能。 这个库支持包括 A、AAAA、MX、TXT …...

Django ORM 中过滤 JSON 数据

简介 首先,我们假设您有一个名为 MyModel 的 Django 模型,它包含一个 JSONField 类型的字段,名为 data。这个 data 字段可以存储各种 JSON 格式的数据。 过滤 JSON 字段中的键值对 您可以使用双下划线 __ 语法来访问 JSON 字段中的嵌套键值对。例如: # 过滤 data 字段中 &qu…...

深入探索C语言中的结构体:定义、特性与应用

&#x1f525; 个人主页&#xff1a;大耳朵土土垚 目录 结构体的介绍结构体定义结构成员的类型结构体变量的定义和初始化结构体成员的访问结构体传参 结构体的介绍 在C语言中&#xff0c;结构体是一种用户自定义的数据类型&#xff0c;它允许开发者将不同类型的变量组合在一起…...

EDEM-FLUENT耦合报错几大原因总结(持续更新)

写在前面,本篇内容主要是来源于自己做仿真时的个人总结,以及付费请教专业老师。每个人由于工况不一样,所以报错原因千奇百怪,不能一概而论,本篇内容主要是为本专栏读者在报错时提供大致的纠错方向,从而达到少走弯路的效果,debug的过程需要大家一点点试算。问题解答在文 …...