1 基础介绍

  1. 从磁盘或读取数据时,主要时间浪费在寻址上,磁盘的寻址速度为ms级,而内存寻址速度为ns级,差了1000000倍,因此从内存中读取数据效率比从硬盘中读取高的多
  2. 磁盘有磁道和扇区,一扇区512字节,操作系统无论一次需要读取多少字节,硬盘都至少每次返回4k个字节
  3. 最初数据存放在文件中,可以通过grep、awk命令,甚至java程序去读文件,文件越大,读取越慢,硬盘I/O为瓶颈
  4. 后来数据库出现,使用如下方案解决查找数据慢的问题
    1. data page:数据库中,数据最小的存储单位,大小为4K,oracle中称为block,8k。数据库将数据分成很多个4K大小的数据块,与硬盘每次读取大小相同,这样不会浪费I/O。可以想象如果data page为1k,那么为了读取1k,还是需要从硬盘拿4K,浪费很多资源。定义为4K的倍数,就都不会造成浪费
    2. 索引:也是4k,相当于将指定的列以B*树的方式存放起来,并存放该列的值指向的data page。当查询语句的where条件命中了索引,就会先将B+树的树干读入内存,然后依次找到所有需要的树的叶子结点的data page,最终将真正存放数据的data page读到内存,也就找到了具体数据
    3. schema:关系型数据库建表时,必须给出schema,即必须给出表有多少列,每个列的类型是什么。给出类型就确定了该列数据的字节宽度。一个表每行数据的总宽度就定死了。当将数据存放于data page中时,就算某列值为null,也会为其占位,这样未来增删改时,就不用移动数据,直接用新的数据覆盖原来的位置即可
  5. 当数据库中数据量非常大时
    1. 对于有索引的少量查询,速度依然很快
    2. 但并发大的时候,会受硬盘带宽影响,比如来了一万个查询,查的都是不同的数据块,那么这一万个4K,需要依次被读入内存,但由于内存有限,一部分数据就需要等待前面的4K被内存读取完,才能轮到自己,导致速度降低
  6. 因此将一少部分数据拿出来,放入到内存,这就是缓存。memcached ,redis都是分布式缓存系统,也就是将数据存放在内存中
  7. 介绍各种类型数据库特点、热度的网站:https://db-engines.com/en/
  8. redis官方网站:http://redis.cn/、https://redis.io/
  9. redis与memcached区别
    1. memcached中的value没有类型的概念,redis有
    2. 当想获取lists中的某个值,对于memcached,需要获取表示这个lists的整个jason,然后在客户端解析。由于需要将整个lists传输给客户端,IO量非常大,服务器上的网卡IO会成为瓶颈。同时客户端需要解码程序
    3. 但对于redis,lists类型有自己的方法,可以直接获取lists中的某个值,不需要将整个lists对应的数据都取走,因此不会再有IO瓶颈
    4. 尽量保证计算发生在存放数据的一端,从而避免大量IO,这叫做计算向数据移动。此时,为得到jason中的一个属性值,客户端不必将数据先拿到客户端再处理,而是直接在数据存放处发生计算,最后仅将结果返回客户端
  10. redis使用单线程单实例来处理数据,因此每个连接中的命令是顺序到达的,不同客户端的连接,命令顺序不能保证。多个client连接到操作系统内核后,会产生很多socket,为保证并发,内核会使用epoll这种非阻塞多路复用的系统调用方式调用redis进程

2 redis安装

  1. 环境:centos6.x+redis5.x
  2. 安装流程
#1. 为linux安装wget下载插件,方便后续从网络下载redis安装包
yum install wget  linux
#2. 在当前用户下建立soft目录,方便存放redis
#3. 进入soft目录,下载redis压缩包
wget http://download.redis.io/releases/redis-5.0.5.tar.gz
#4. 解压压缩包,该命令会直接解压成redis-5.0.5
tar xf redis-5.0.5.tar.gz
#5. 在redis安装包中,执行make,make是编译工具,类似javac,但make不是只面向一个语言
make
#6. 如果安装centos时没安装gcc,会报错,需要先安装gcc
yum install  gcc
#7. 由于之前make了一半,因此需要先将原来make一半的内容清理掉
make distclean
#8. 此时生成了src文件夹,里面是可执行文件,redis此时已经可以通过redis-server启动了,但只是作为一个程序,并不是一个服务,即开机时不会自动启动,因此需要使用/home/wusihan/soft/redis-5.0.5/utils下的install_server.sh来将redis安装为服务#1. 将可执行程序,牵出到指定的路径下,不再和源码混在一起
make install PREFIX=/opt/mashibing/redis5#2. 将可执行程序添加到环境变量
vi /etc/profile
export  REDIS_HOME=/opt/mashibing/redis5
export PATH=$PATH:$REDIS_HOME/bin#3. 由于配置文件在磁盘,不在内存,需要将新文件加载到内存,使配置生效
source /etc/profile#4. 将redis安装为服务#1. 会让你依次输入服务端口号、配置文件位置、日志文件位置、数据文件位置(虽然是内存数据库,但为防止掉电后数据丢失,需要在硬盘中也存放一份数据)、redis可执行程序路径(如果环境变量中有,默认使用环境变量中的,如果环境变量中没有,可以人为指定)#2. 全输入成功后,redis会首先建立一个config配置文件,放在指定路径,然后将一个名为redis_端口号的脚本放在/etc/init.d目录中,linux的开机启动实际上就是从这个目录中加载所有脚本。最后将redis服务启动#3. 可以使用service redis_端口号 status查看服务状态确实已经启动#4. 可以多次执行install_server.sh在不同端口号上建立多个redis实例
./install_server.sh

3 redis的客户端连接与帮助文档

  1. redis默认提供了16个库,序号从0到15,连接时,可以指定连接哪个redis实例中的第几号库,默认连接6379端口对应实例上的0号库
redis-cli 
#连接指定实例上的指定库
redis-cli -p 6380 -n 8
#切换到0号库
select 0
  1. 帮助文档
#1. 查看组中的所有命令,或命令的详情
help 组/命令
#2. redis中可以使用tab将内容自动补全和切换,例如输入help @后按tab键,就会依次切换所有的@开头的内容
#3. 查看string组下所有命令
help @string
#4. 查看SETBIT命令的详情,summary中有对该命令的简单功能描述,group为string,表示该命令只能用于string组
help SETBIT

4 redis中value的数据类型

4.1 string

4.1.1 字符串操作
set key value
get key
#1. 表示必须新建key,即key存在时,设置失败,一般应用于一堆人设置key,谁抢到算谁的,其他人失败
set key value nx
#2. 表示必须更新,即key存在时,设置成功
set key value xx
#3. 同时设置多组key value
mset k1 value1 k2 value2
#4. 同时取出多组key的value值
mget k3 k4
#5. 为k1的value追加word
append k1 " word"
#6. 与substr功能相同,值得注意的是,对于string类型,有正向索引和反向索引,hello中的o的索引既可以用正向索引4表示,又可以使用反向索引-1表示
getrange k1 6 10
#7. 索引6往后,替换成mashibing
setrange k1 6 mashibing
#8. 查看string的长度
strlen k1
#9. 返回老value,并设置新value,通讯上就发了一个命令,减少io通信
getset k1 mashibing
#10.同时新增多组key value,但如果其中一个新增失败,所有都新增失败,是原子的
msetnx k1 value1 k2 value2
4.1.2 数值操作
#1. 查看k1的value值的类型,key中存放一个type属性,用于描述value类型,此处显示string,key中还有length属性,用于保存字段长度,这样就不用每次重新统计value长度
type k1
#2. 发现set的组为string,因此set只用于为string类型赋值
help set
#3. key中还有一个encondifng属性#1. 这是为了防止每次都需要判断该value是否能进行加减操作,如果之前做过数值计算,就标记为int,表示一定能+1,下次计算直接累加即可#2. 对于string类型的value,有三种值,embstr、int、raw,如果k1当时设置的是99,那么enconding值为int,如果为正常字符串,值为embstr
object enconding k1
#4. 自增1,只适用于encoding为int的string#1. 一般用于抢购,秒杀,可以规避并发下对数据库的事物操作#2. 银行里的钱这种必须持久化和有事务的数据不适合使用redis	
incr k1
#5. 加22
incrby k1 22
#6. 自减1
decr k1
#7. 减22
decrby k1 22
#8. 增加0.5
incrbyfloat k1 0.5
#9. 清空数据库,生产环境一般rename,防止库误被清空
flushall
#10. 查看所有key
keys *
4.1.3 bitmap操作
#1. 设置bit,这里的3,是二进制位的索引,而不是字节的索引#1. 二进制索引,是从0开始,第一个字节中到7,第二个字节中从8开始#2. 本条表示将二进制位的第三位设为1,也就是00010000,当get k1时,会得到这个二进制转为数值后,对应的ascii码的符号#3. 由于一个字节已经可以表示该值,因此此时value长度为1
setbit k1 3 1
#2. 在linux中查看查看ascii列表
man ascii
#3. 长度变为2,因为一个字节最多存到7,此时get k1时,会先显示前8位对应的ascii,再显示后8位对应的ascii
setbit k1 9 1 
#4. ascii为基础字符集,其他字符集都叫做扩展字符集,扩展的意思就是指,其他字符集不再对ascii中存在的字符重新编码。ascii字符集中所有字符转为字节后的bit位中,第一位必须为0,因此可以想像,无论是自己写程序去解析字节流,还是redis,都是先判断第一位#1. 如果是0,直接去ascii中找这8bit对应的字符#2. 如果为1,先判断是否以redis-cli --raw的方式连接到redis客户端#1. 如果不是,直接以字节对应的十六进制表示法显示#2. 如果是,尝试将字节转换为当前客户端的字符集,先看该字节的bit表示中,前几个bit是1,因为前面有几个1,就表示当前字节流中,是由多少个字节来表示一个字符,例如utf-8,前3个bit都是1,表示用三个字节来一起表示一个字符。此时应该连续取出三个字节,然后将前面的1去掉,剩下的部分,组成一个新的字节,然后redis再将这个新的字节表示的值,去客户端现在的编码集中去查找对应的字符,从而得到最后应该显示的字符
#5. 查看二进制位1,第一次在k1的value的起始字节索引到终止字节索引间(前后都包含)出现的位置的二进制索引是几。当然这个字节索引,可以用反向索引
bitpos k1 1 起始字节索引 终止字节索引
#6. 查看从起始字节索引到终止字节索引的字符串,的二进制表示法中,出现几次1
bitcount k1 起始字节索引 终止字节索引
#7. 按位操作
setbit k1 1 1#a. 此时k1就是A
setbit k1 7 1
setbit k2 1 1#b. 此时k2就是B
setbit k2 6 1 #c. 将k1和k2按位与的操作结果,放入andkey,值就是01000000 00000000
bitop and andkey k1 k2#d. orkey值为C
bitop or orkey k1 k2
#8. bit在生产中的操作#1. 公司有用户系统,需要在随机日期间,统计某用户登录天数
setbit sean 1 1
setbit sean 7 1
setbit sean 364 1
STRLEN sean
BITCOUNT sean -2 -1#2. 统计随机日期间,登陆过的用户总人数,需去重#每个用户的id对应一个bit位
setbit 20190101 1 1
setbit 20190102 1 1
setbit 20190102 7 1#统计20190101与20190102这两天所有活动过的用户并去重
bitop or destkey 20190101 20190102 #0到-1,表示所有字节
bitcount destkey 0 -1
4.1.4 redis的二进制安全性
  1. redis二进制安全,是指redis只关心二进制化的字符串,不关心具体格式。即只会严格的按照二进制的数据存取,不会妄图以某种特殊格式解析数据。客户端必须先将数据转为字节数组,才能将数据给到redis
  2. 由于二进制安全,所以使用redis时,一定在用户层沟通好,用什么字符集,防止A客户端放入的数据,B取出时有问题
  3. strlen用于查看value占多少个字节,对于123,1会转为ascii对应的字节进行存放,因此123为3位,而对于汉字,reids会将汉字按当前字符集转为字节,再存放起来,如果当前客户端字符集为utf-8编码,而汉字在utf-8中为3字节,所以汉字的长度为3。如果客户端字符集为gbk,长度为2
  4. 连接客户端时,可以指定redis尝试以当前客户端字符集来显示存放的字节
#1. 如果不这样连接客户端,那么get key时候,如果字节无法转为ascii,就会直接显示该字节的二进制码对应的十六进制值,以\xxx格式显示
redis-cli --raw

4.2 list

  1. value为list的key中有head和tail属性,指向双向链表的头和尾
  2. help @list:查看关于list的所有操作
  3. redis中,所有命令基本上,基本都是以其类型的首字母开头,比如对于list中,有命令llength、linsert
  4. list中的命令有一些l开头的和r开头的比较特殊,表示对链表的左侧或右侧进行操作,例如lpush表示从左侧插入,rpush表示从右侧插入
4.2.1 模拟栈和队列
#1. 从左插入链表,即双向链表中,以f e d c b a形式存放
lpush k1 a b c d e f
#2. 从右侧插入
rpush k2 a b c d e f
#3. 弹出最左侧元素'f'
lpop k1
#4. 模拟栈操作:同向命令,lpush后lpop
lpush k1 1
lpush k1 2
lpop k1
#5. 模拟队列操作:反向命令,lpush后rpop
4.2.2 模拟数组
#1. 返回list中,索引从0到-1的所有元素。l不再是左边的意思,而是list的首字母,list中的索引也是从0开始,并同时拥有正向索引和反向索引
lrange k1 0 -1
#2. 根据索引取出元素
lindex k1 -1
#3. 将索引3处元素改为xxx
lset k1 3 xxx
#4. 移除2个a,如果为正数,表示从左往右移除,负数表示从右往左移除
lrem k3 2 a
#5. 第一个元素6后插入a
linsert k3 after 6 a
#6. 第一个元素3前面插
linsert k3 before 3 a
#7. 查看list中元素个数
llen k1
#8. 保留索引2到-2的元素,其他删除
ltrim k1 2 -2
4.2.3 模拟阻塞队列
#1. 从k1中取元素,取不到就阻塞,0表示一直阻塞,如果>0表示阻塞多少s
blpop k1 0
#2. 有其他客户端放入集合中元素后,才解除阻塞。如果多个客户端阻塞,会按阻塞先后顺序解除阻塞,FIFO

4.3 hash

  1. hash这种value类型,类似java中的HashMap,也就是说整个键值对为Map<String,Map>

  2. 命令都是H开头,help @hash查看帮助文档

  3. 如果没有hash,可通过如下方式实现HashMap

    set sean::name zzl
    set sean::age 18
    #1. 当客户端想获取某个key下的value中的所有value时,需要先通过keys sean*查出所有内容,再将结果分别mget,需要客户端多次与服务端通信,浪费IO
    keys sean*
    mget sean::name sean::age
    
  4. 相关操作

#1. Map<sean,Map<name,zzl>>
hset sean name zzl
#2. 同时为value设置多个k-v对
hmset sean age 18 address bj
#3. 获取sean.name的值
hget sean name
#4. 获取sean.name与sean.age
hmget sean name age
#5. 获取hash中所有key
hkeys sean
#6. 取出hash中所有value
hvals sean
#7. 取出所有键值对,结果会按键、值、键、值...进行排列
hgetall sean
#8. 将sean.age增加0.5,age的值在操作前后,只要有一个是小数,就应该使用HINCRBYFLOAT,而不是HINCRBY
hincrbyfloat sean age 0.5

4.4 set

#1. 批量加入元素
sadd k1 value1 value2 value3
#2. 查看所有元素
smembers k1
#3. 移除元素
srem k1  value1 value2
#4. 实现交集、并集等集合操作
sadd k2 1 2 3 4 5
sadd k3 4 5 6 7 8
#a. 取交集,结果为4 5
sinter k2 k3
#b. 带store,表示将结果存放在dest中。带store这种命令也是为了防止来回移动数据,如果没有该命令,客户端就先必须获取交集的结果,然后在将交集结果传回服务端进行存储
sinterstore dest k2 k3
#c. 并集,也可以使用sunionstore
sunion k2 k3
#d. 差集,从前面的集合中刨除后面的集合
#从k2中刨除k3
sdiff k2 k3
#从k3中刨除k2
sdiff k2 k3
#5. 随机取出n个元素#1. 如果n>0:表示取出一个去重的结果集,如果n大于集合中不重复元素数量,返回整个集合的去重集合#2. 如果n<0:取出一个带有重复的结果集,一定满足你要的数量n#3. 如果n=0:什么都不返回
srandmemeber k1 4
#6. 随机取出一个元素,取出的元素会从集合中删除
spop k1

4.5 sorted_set

  1. help @sorted_set
  2. sorted_set底层用跳表实现
  3. sorted_set会按分值(score)从小到大排序,如果不想按分值进行排序,可以将score设置为同一个值,此时会按value值的字典顺序排序
  4. 因为set中的命令已经是s开头,因此sorted_set的相关命令改用最后一个英文字母z开头
#1. 为k1中批量添加元素,添加元素同时必须给定分值
zadd k1 8 apple 2 banana 3 orange  
#2. 按索引显示集合中元素,如果加上withscores表示同时显示分值,会按value1,score1,value2,score2这样显示
zrange k1 0 -1 withscores
#3. 按分值显示集合中元素
zrangebyscore k1 3 8 
#4. 按分值从低到高,显示前两个元素(和上面一样)
zrange k1 0 1 
#5. 按分值从高到低,取出前两个,注意和zrange k1 -2 -1命令不同,zrange返回banana、orange,而zrevrange返回orange、banana
zrevrange k1 0 1 
#6. 根据元素取分值
zscore k1 apple
#7. 根据元素取排名,其实就是取apple的索引
zrank k1 apple
#8. 为元素增加分值,一般用于歌曲排行榜,不用再读取数据库了,直接从redis中读取即可
zincrby k1 2.5 banana
#9. 实现交集、并集等集合操作,但要注意对分值的处理
zadd k1 80 tom 60 sean 70 baby
zadd k2 60 tom 100 sean 40 yiming 
#a. 2表示2个key,zuninonstore命令默认情况下,会对两个集合中相同元素,分数做加和
zuninonstore unkey 2 k1 k2 
#b. 会将分数乘权重再加和,第一个集合中元素权重为1,第二个集合中权重为0.5
zuninonstore unkey1 2 k1 k2 weights 1 0.5
#c. aggregate:配置分数的聚合方式,max表示保留最大的分数
zuninonstore unkey1 2 k1 k2 aggregate max
查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. Leetcode第二十七题:移除元素

    题目:给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = …...

    2024/5/4 5:30:48
  2. turtle模块绘图

    turtle模块绘图turtle模块绘图1、turtle的使用2、操作命令2.1 运动命令2.2 笔画控制命令2.3 绘制图形2.4 其他命令 turtle模块绘图 1、turtle的使用turtle是一个简单的绘图工具,他提供了一个小海龟,你也可以把它理解成一个小机器人 只听得懂有限的指令。 使用时候需要导入tu…...

    2024/4/25 7:38:28
  3. 【CS学习笔记】13、bypassuac

    Bypass UAC 有两个步骤,分别是: 1、利用 UAC 漏洞来获取一个特权文件副本 2、使用 DLL 劫持进行代码执行 首先使用shell whoami /groups查看当前上线主机用户的所属组及 UAC 等级通过返回信息可以看出,当前用户为管理员权限,UAC 等级为中,根据上一节中关于的介绍,此时可以…...

    2024/4/18 10:32:13
  4. 字典树

    https://www.bilibili.com/video/BV1zt4y1Q7m9/...

    2024/4/19 5:29:07
  5. HotSpot的算法细节实现

    出入:深入理解Java虚拟机:JVM高级特性与最佳实践(第3版) 看到这一章,自己也有些模棱两可,无法归纳出自己的见解,后面慢慢理解吧。 根节点枚举 我们以可达性分析算法中从GC Roots集合找引用链这个操作作为介绍虚拟机高效实现的第一个例子。固定可作为GC Roots的节点主要在…...

    2024/4/16 5:09:32
  6. Python中进程 线程 协程 锁 的各种问题大揭秘,面试12个问题大总结..

    任何计算机语言都离不开进程线程以及协程的话题,那么今天我们来聊聊Python的进程,线程以及协程是怎么样运行的,以及锁结构的各种类型,还有最重要的是解密各种遇到的问题!!!那么下面咱们就直入正题吧! 1. 谈谈对多进程多线程以及协程的理解 进程: 一个运行的程序(代码)就是一个进…...

    2024/5/4 6:00:11
  7. python基础学习(十二)——python中代码的执行顺序以及if __name__ ==‘__main__‘作用和原理

    (1)代码执行顺序python程序是顺序执行的,Python中首先执行最先出现的非函数定义和非类定义的没有缩进的代码。 ———————————— python程序执行时, 按照自上而下的顺序:首先执行没有缩进的代码,但是类中的代码和函数中的代码不会执行 (除非被调用) —————— …...

    2024/4/16 5:08:16
  8. Spring全家桶(二)再次创建第一个Spring项目

    使用start.spring.io生成骨架的方式来生成 地址https://start.spring.io/全部默认就行 然后等了半天让我检查我的网络 才想起这玩意儿访问很麻烦,用阿里云的吧 阿里云starthttps://start.aliyun.com/下载好了将demo解压到最舒服的位置 然后用idea打开 file —> open然后就…...

    2024/4/16 5:09:17
  9. 【编译原理】中间代码优化(一) 优化技术大观

    代码优化概述.通过对程序进行等价变换,使得从变换后的程序出发,能够生成更加有效的目标代码,这种变换我们叫做优化。优化其实可以在编译的各个阶段进行,但最主要的一类优化是在目标代码生成以前,对语法分析、语义分析后产生的中间代码进行优化。这是因为中间代码的形式不依…...

    2024/5/4 1:59:12
  10. 可视化工具

    Netron a viewer for neural network, deep learning and machine learning models. 下载链接: https://github.com/lutzroeder/Netron 安装: pip install netron使用: import netron netron.start(extracted/models/model.h5)...

    2024/4/26 1:00:55
  11. Python爬虫06--爬虫类型与工作流程

    通用爬虫1.在整个互联网中进行爬取的爬虫2.又称搜索引擎爬虫聚焦爬虫1.针对特定网站进行爬取的爬虫...

    2024/5/4 8:25:58
  12. Flutter之Dart2.0语言---变量声明

    变量声明Dart本身是一个强类型语言,任何变量都是有确定类型的,在Dart中,当用var声明一个变量后,Dart在编译时会根据第一次赋值数据的类型来推断其类型,编译结束后其类型就已经被确定var t; t = "hi world"; // 下面代码在dart中会报错,因为变量t的类型已经确定…...

    2024/4/16 5:09:17
  13. 封装时间转换组件

    formatDate.js export default function formatDate (date, fmt) {let o = {M+: date.getMonth() + 1, // 月份d+: date.getDate(), // 日h+: date.getHours(), // 小时m+: date.getMinutes(), // 分s+: date.getSeconds(), // 秒S: date.getMilliseconds() // 毫秒}if (/(y+)/…...

    2024/4/20 10:38:51
  14. Flink 入门案例读取socket 数据进行单词统计

    Flink 入门案例读取socket 数据进行单词统计 代码 package base.api.oprateimport org.apache.flink.streaming.api.scala._object WordCount1 {def main(args: Array[String]): Unit = {val env = StreamExecutionEnvironment.getExecutionEnvironmentval source:DataStream[S…...

    2024/4/16 5:09:12
  15. adb进行monkey测试

    一、ADB安装. 网上教程很多,自行搜索二、adb安装好后,启动失败问题排查 先检测5037端口被什么进程占用,利用命令:netstat -ano | findstr "5037" (一般情况下adb默认端口号为5037),记住pid进程号如果被占用:使用 taskkill /F /pid {$pid} 强制杀掉进程三、启…...

    2024/4/16 5:09:17
  16. 二叉搜索树中的搜索001

    1、描述 700难度简单68给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。 例如, 给定二叉搜索树:4/ \2 7/ \ 1 3和值: 2 你应该返回如下子树:2 / \ 1 3在上述示例中,…...

    2024/4/18 18:11:16
  17. 关于Maven Mirrors 的正确使用

    很多人对maven镜像有着错误的理解,以为可以在settings.xml中配置多个,这个镜像下载不下来,可以到另外一个镜像去下载。通常我们在互联网环境开发项目,所有的jar包都需要到maven的中央仓库去取。但是中央仓库的url地址是国外的,下载jar包的速度很慢,这是我们一般都会配置阿…...

    2024/4/16 5:10:13
  18. vue的事件绑定与表单绑定

    v-model 指令在表单 <input>、<textarea> 及 <select> 元素上创建双向数据绑定。它会根据控件类型自动选取正确的方法来更新元素。尽管有些神奇,但 v-model 本质上不过是语法糖。它负责监听用户的输入事件以更新数据,并对一些极端场景进行一些特殊处理。事…...

    2024/4/19 23:02:04
  19. 我认为ACT游戏开发必用的程序设计模式!!!

    ACT游戏以它流畅的游玩体验、华丽的招式和炸裂的打击反馈被人所喜爱,那么在开发ACT游戏的时候如何做到这一点呢???这一篇博客就来说说我认为在开发ACT游戏过程中一定要用到的程序设计模式! 模式_1:状态模式 一般的ACT游戏玩家能做的事情抽象出来无外乎就这几种 举个例子:…...

    2024/4/20 15:33:04
  20. Java第一次实训报告

    Java第一次实训报告 项目(GUI学生信息管理系统) 一.创建数据库和表 1.利用NaviCat创建数据库student,设置字符集为utf81.1数据库和表的目录2.创建学校表 2.1创建t_college表2.2输入表记录3.创建状态表 3.1创建t_status表3.2输入表记录4.创建学生表 4.1创建t_student表4.2输…...

    2024/4/20 1:53:26

最新文章

  1. 【ZZULIOJ】1095: 时间间隔(函数专题)(Java)

    目录 题目描述 输入 输出 样例输入 Copy 样例输出 Copy 提示 code 题目描述 从键盘输入两个时间点(24小时制&#xff09;&#xff0c;输出两个时间点之间的时间间隔&#xff0c;时间间隔用“小时:分钟:秒”表示。要求程序定义如下两个函数&#xff0c;并在main()中调用…...

    2024/5/4 10:48:28
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. 【APUE】网络socket编程温度采集智能存储与上报项目技术------多路复用

    作者简介&#xff1a; 一个平凡而乐于分享的小比特&#xff0c;中南民族大学通信工程专业研究生在读&#xff0c;研究方向无线联邦学习 擅长领域&#xff1a;驱动开发&#xff0c;嵌入式软件开发&#xff0c;BSP开发 作者主页&#xff1a;一个平凡而乐于分享的小比特的个人主页…...

    2024/5/4 0:45:42
  4. 【Godot4自学手册】第三十五节摇杆控制开门

    本节主要实现&#xff0c;在地宫墙壁上安装一扇门&#xff0c;在核实安装一个开门的摇杆&#xff0c;攻击摇杆&#xff0c;打开这扇门&#xff0c;但是只能攻击一次&#xff0c;效果如下&#xff1a; 一、添加完善节点 切换到underground场景&#xff0c;先将TileMap修改一下…...

    2024/5/3 8:55:49
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/1 17:30:59
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/5/2 16:16:39
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/29 2:29:43
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/5/3 23:10:03
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/27 17:58:04
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/27 14:22:49
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/28 1:28:33
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/30 9:43:09
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/27 17:59:30
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/5/2 15:04:34
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/28 1:34:08
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/26 19:03:37
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/29 20:46:55
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/30 22:21:04
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/1 4:32:01
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/5/4 2:59:34
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/28 5:48:52
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/30 9:42:22
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/5/2 9:07:46
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/30 9:42:49
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57