数据库redis作业

news2024/11/28 20:45:33

数据库redis作业

redis9种数据类型的基本操作
redis持久化:分别启用rdb和aof,并查看是否有对应文件生成

作业1:redis9种数据类型的基本操作

1、key操作

key *

#查询所有的key
keys *

在这里插入图片描述
exists 参数

#参数:key
#判断该key是否存在,存在返回1,不存在返回0
exists key
#参数也可以是多个key,返回的的是存在key的数量
exists key1 key2

在这里插入图片描述

type 参数

#参数:key
#查看该key的类型
type key

在这里插入图片描述del 参数

#参数:key
#删除指定key数据
del key
#参数可以是多个key,作批量删除
del key1 key2

在这里插入图片描述
expire 参数 time

#参数:key
#time:秒数
#设置指定key经过10秒后过期
expire key 10

在这里插入图片描述
ttl 参数

#参数:key
#查看指定key的过期时间,-1表示永不过期,-2表示已过期
ttl key

在这里插入图片描述
move 参数1 参数2

#参数1:key
#参数2:dbindex[0-15]
#移动指定key到4号库
move key 4

在这里插入图片描述
select 参数

#参数:dbindex[0-15]
#切换到4号库
select 4

在这里插入图片描述
dbsize

#查看当前库key的数量
dbsize

在这里插入图片描述
flushdb

#清空当前库
flushdb

在这里插入图片描述

flushall

#清空所有库
flushall

在这里插入图片描述

2、String类型

String类型是Redis最基础和常见的数据类型,用于存储一个字符串。在Redis中,可以对String类型的值进行各种操作,如set、get、incr、append等,同时支持字符串的位操作。String类型通常用于缓存数据、计数器、分布式锁等场景。

get 参数

#查看键的值
get key

在这里插入图片描述

SET参数

#设置键,值
set key value

set 设置

格式:set 参数1 参数2 [参数3] [参数4] [参数5]

参数1:key名称
参数2:value
参数3:NX | XX
参数4:GET
参数5:EX seconds | PX milliseconds |
EXAT unix-time-seconds | PXAT unix-time-milliseconds | KEEPTTL

在这里插入图片描述

设置k1的value为hello:

set k1 hello

在这里插入图片描述

如果k2存在直接返回nil,如果k2不存在,设置k2的value为hello:

set k2 hello NX

在这里插入图片描述

如果k3不存在直接返回nil,如果k3存在,设置k3的value为"hello":

set k3 hello XX

在这里插入图片描述

先返回k4原来的value再将k4的value修改为hello,如果k4不存在返回值为nil:

set k4 hello get

在这里插入图片描述

设置k5的value为hello,并在10秒后过期:

set k5 hello ex 10

在这里插入图片描述

设置k6的value为hello,并在500毫秒后过期:

set k6 hello px 500

在这里插入图片描述

设置k7的value为hello,并在到达时间戳1783219280秒过期:

set k7 hello exat 1783219280

在这里插入图片描述

设置k8的value为hello,并在到达时间戳1783219461238毫秒过期:

set k8 hello exat 1783219461238

在这里插入图片描述

设置k9的value为hello,并保留k9原先设定的过期时间:

set k9 hello keepttl

在这里插入图片描述

GETSET查询后设置

格式:getset 参数1 参数2

参数1:key名称
参数2:内容

先返回k1原来的value,再将value设置为hello

getset k1 hello

在这里插入图片描述

SETEX 过期值设置

格式:setex 参数1 参数2 参数3

参数1:key名称
参数2:秒
参数3:内容

设置k1的值为hello并在10秒后过期

setex k1 10 hello

在这里插入图片描述

SETNX 冲突设置

格式:setnx 参数1 参数2

参数1:key名称
参数2:内容

如果k1不存在,设置k1的值为hello

setnx k1 hello

在这里插入图片描述

MGET 批量查询

格式:mget 参数1

参数1:key列表

获取k1、k2的value

mget k1 k2

在这里插入图片描述

MSET 批量设置

格式:MSET 参数1

参数1:键值对列表

设置k1的value为v1、k2的value为v2

mset k1 v1 k2 v2

在这里插入图片描述

MSETNX NX规则批量设置

格式:MSETNX 参数1

参数1:键值对列表

如果不存在k1、k2(需都成立),则设置k1的value为v1、k2的value为v2

msetnx k1 v1 k2 v2

在这里插入图片描述

GETRANGE 精准截取

格式:getrange 参数1 参数2 参数3

参数1:key名称
参数2:起始位置
参数3:终止位置

获取key的value,并返回value的0 - 5位置上的字符

getrange key 0 5

在这里插入图片描述

SETRANGE 精准设置

格式:setrange 参数1 参数2 参数3

参数1:key名称
参数2:起始位置
参数3:字符串

将hello设置到k1对应value的索引1位置

setrange k1 1 hello

在这里插入图片描述

INCR 自增查询

格式:incr 参数1

参数1:key名称
注:key对应的value值必须为数字整型

使k10的value自增1并返回自增后的值

incr k10

在这里插入图片描述
INCRBY 增加查询

格式:incrby 参数1 参数2

参数1:key名称
参数2:数字整型
注:这里的key对应的value必须为数字整型

使k10的value增加5并返回增加后的值

incrby k10 5

在这里插入图片描述
DECR 自减查询

格式:decr参数1

参数1:key名称
注:这里的key对应的value必须为数字整型

使k10的value自减1并返回自增后的值

decr k10

在这里插入图片描述
DECRBY 增加查询

格式:decrby 参数1 参数2

参数1:key名称
参数2:数字整型
注:这里的key对应的value必须为数字整型

使k10的value减少5并返回减少后的值

decrby k10 5

在这里插入图片描述
STRLEN 获取字符串长度

格式:strlen 参数1

参数1:key名称

获取k1的value字符串长度

strlen k1

在这里插入图片描述
APPEND 追加内容

格式:append 参数1 参数2

参数1:key名称
参数2:内容

将hello追加到k1的value后

append k1 hello

在这里插入图片描述

3、List类型

LPUSH 左端插入

格式:lpush 参数1 参数2

参数1:list名称
参数2:插入的数据,可以是多个用空格隔

在list1左端依次插入hello、world

lpush list1 hello world

在这里插入图片描述
RPUSH 右端插入

格式:rpush 参数1 参数2

参数1:list名称
参数2:插入的数据,可以是多个用空格分隔

在list1右端依次插入hello、world

rpush list1 hello world

在这里插入图片描述
LRANGE 检索列表

格式:lrange 参数1 参数2 参数3

参数1:list名称
参数2:起始索引
参数3:终止索引

检索list1索引0到3的数据

lrange list1 0 3

在这里插入图片描述

LPOP 左端弹出

格式:lpop 参数1 [参数2]

参数1:list名称
参数2:数量

弹出list1左端第1条数据

lpop list1

在这里插入图片描述
RPOP 右端弹出

格式:rpop 参数1 [参数2]

参数1:list名称
参数2:数量

弹出list1右端第1条数据

rpop list1

在这里插入图片描述
LINDEX 检索指定索引数据

格式:lindex 参数1 参数2

参数1:list名称
参数2:索引

检索list1索引为1的数据

lindex list1 1

在这里插入图片描述
LLEN 检索数量

格式:llen 参数1

参数1:list名称

检索list1数据的条数

llen list1

在这里插入图片描述
LREM 删除值

格式:lrem 参数1 参数2 参数3

参数1:list名称
参数2:数量
参数3:指定值

在list1中删除1条值为hello的数据

lrem list1 1 hello

在这里插入图片描述
LTRIM 截取赋值

格式:ltrim 参数1 参数2 参数3

参数1:list名称
参数2:起始索引
参数3:终止索引

截取list1索引1到5的数据,将截取片段替换为list1的value

ltrim list1 1 5

在这里插入图片描述

RPOPLPUSH 弹出插入

格式:rpoplpush 参数1 参数2

参数1:list名称
参数2:list名称

将list1右端数据弹出,并将该数据压入list2的左端

rpoplpush list1 list2

在这里插入图片描述
LSET 修改

格式:lset 参数1 参数2 参数3

参数1:list名称
参数2:索引
参数3:值

将list1索引为3的值修改为hello

lset list1 3 hello

在这里插入图片描述
LINSERT 插入

格式:linsert 参数1 参数2 参数3 参数4

参数1:list名称
参数2:before | after
参数3:已有值
参数4:新值

在list1插入一个新值world位置在hello前面

linsert list1 before hello world

在这里插入图片描述

在list2插入一个新值world位置在hello后面

linsert list2 after hello world

在这里插入图片描述

4、Hash(哈希)类型

HSET 设置

格式:hset 参数1 参数2

参数1:hash名称
参数2:键值对

在user01中添加一个键值对key为id、value为1

hset user01 id 1

在这里插入图片描述
HGET 获取

格式:hget 参数1 参数2

参数1:hash名称
参数2:内部key

获取user01的id

hget user01 id

在这里插入图片描述
HMSET 批量设置

格式:hmset 参数1 参数2

参数1:hash名称
参数2:键值对(可以多个使用空格分隔)

在user01中添加一个id值为1、name值为zhangsan

hmset user01 id 1 name zhangsan

在这里插入图片描述
HMGET 批量获取

格式:hmget 参数1 参数2

参数1:hash名称
参数2:内部key(可以多个使用空格分隔)

获取user01的id和name

hmget user01 id name

在这里插入图片描述
HGETALL 获取所有

格式:hgetall 参数1

参数1:hash名称

获取user01的所有内容

hgetall user01

在这里插入图片描述
HLEN 获取长度

格式:hlen 参数1

参数1:hash名称

获取user01的键值对数量

hlen user01

在这里插入图片描述
HDEL 删除键值对

格式:hdel 参数1 参数2

参数1:hash名称
参数2:内部key

删除user01的name键值对

hdel user01 name

在这里插入图片描述
HEXISTS 存在检索

格式:hexists 参数1 参数2

参数1:hash名称
参数2:内部key

检索user01是否存在name键

hexists user01 name

在这里插入图片描述
HKEYS 获取所有键

格式:hkeys 参数1

参数1:hash名称

获取user01的所有key

hkeys user01

在这里插入图片描述
HVALS 获取所有值

格式:hkeys 参数1

参数1:hash名称

获取user01的所有value

hvals user01

HINCRBY 整数加法

格式:hincrby 参数1 参数2 参数3

参数1:hash名称
参数2:内部key

示例:

对user01中age的value增加1

hincrby user01 age 1

在这里插入图片描述
HINCRBYFLOAT 浮点数加法

格式:hincrbyfloat 参数1 参数2 参数3

参数1:hash名称
参数2:内部key

对user01中score的value增加0.5

hincrbyfloat user01 score 0.5

在这里插入图片描述
HSETNX NX规则设置

格式:hsetnx 参数1 参数2

参数1:hash名称
参数2:键值对

如果user01中不存在id,则添加一个键值对key为id、value为1

hsetnx user01 id 1

在这里插入图片描述

5、Set(集合)类型

SADD 添加元素

格式:sadd 参数1 参数2

参数1:set名称
参数2:元素(可以多个使用空格分隔)

将hello、world添加到set1

sadd set1 hello world

在这里插入图片描述
SMEMBERS 遍历

格式:smembers 参数1

参数1:set名称

遍历set1

smembers set1

在这里插入图片描述
SISMEMBER 存在判断

格式:sismember 参数1 参数2

参数1:set名称
参数2:元素

判断hello是否存在于set1

sismember set1 hello

在这里插入图片描述
SREM 删除

格式:srem 参数1 参数2

参数1:set名称
参数2:元素

在set1中删除hello

srem set1 hello

在这里插入图片描述
SCARD 检索元素个数

格式:scard 参数1

参数1:set名称

检索set1中元素个数

scard set1

在这里插入图片描述
SRANDMEMBER 随机展示

格式:srandmember 参数1 参数2

参数1:set名称
参数2:数量

在set1随机展示2个元素

srandmember set1 2

在这里插入图片描述
SPOP 随机弹出

格式:spop 参数1 参数2

参数1:set名称
参数2:数量

在set1 随机弹出2个元素

spop set1 2

在这里插入图片描述
SMOVE 元素移动

格式:smove 参数1 参数2 参数3

参数1:数据源set名称
参数2:接收set名称
参数3:元素

将set1中的hello移动到set2

smove set1 set2 hello

在这里插入图片描述
SDIFF 差集

格式:sdiff 参数1 参数2

参数1:被差运算set
参数2:差运算set(可以多个用空格分隔)

检索在set1和set2中set1独有的元素

sdiff set1 set2

在这里插入图片描述
SUNION 并集

格式:sunion 参数1 参数2

参数1:set名称
参数2:set名称(可以多个用空格分隔)

检索set1、set2合并后的集合

sunion set1 set2

在这里插入图片描述
SINTER 交集

格式:sinter 参数1 参数2

参数1:set名称
参数2:set名称(可以多个用空格分隔)

检索set1和set2共有的元素,返回结果集

sinter set1 set2

在这里插入图片描述
SINTERCARD 交集(redis7新命令)

格式:sintercard 参数1 参数2 参数3

参数1:参与的set数量
参数2:参与的set名称(每个用空格分隔)
参数3:limit限制

检索set1和set2共有的元素,返回数量

sintercard 2 set1 set2

在这里插入图片描述

6、ZSet(有序集合)类型

ZADD 添加

格式:zadd 参数1 参数2 参数3

参数1:zset名称
参数2:zset元素(score value)(可以多个使用空格分隔)

在zset1添加一个元素score为60、value为hello

zadd zset1 60 hello

在这里插入图片描述
ZRANGE 遍历

格式:zrange 参数1 参数2 参数3 [参数4]

参数1:zset名称
参数2:起始索引
参数3:终止索引
参数4:withscores

遍历zset1所有元素

zrange zset1 0 -1

在这里插入图片描述
附带分数反转遍历zset1所有元素

zrevrange zset1 0 -1 withscores

在这里插入图片描述
ZRANGEBYSCORE 分数范围选取

格式:zrangebyscore 参数1 参数2 参数3 参数4 参数5

参数1:zset名称
参数2:最低分
参数3:最高分
参数4:withscores
参数5:limit 起始索引 步长

附带分数检索zset1中60到100分的元素

zrangebyscore zset1 60 100 withscores

在这里插入图片描述

检索zset1中60到100分的元素,限制从0开始步长为2

zrangebyscore zset1 60 100 limit 0 2

在这里插入图片描述
ZSCORE 检索分数

格式:zscore 参数1 参数2

参数1:zset名称
参数2:元素

检索zset1中v1元素的分数

zscore zset1 v1

在这里插入图片描述
ZCARD

格式:zcard 参数1

参数1:zset名称

检索zset1元素个数

zcard zset1

在这里插入图片描述
ZREM 删除

格式:zrem 参数1 参数2

参数1:zset名称
参数2:元素(可以多个使用空格分隔)

删除zset1中v1、v2元素

zrem zset1 v1 v2

在这里插入图片描述
ZINCRBY 增加分数

格式:zincrby 参数1 参数2 参数3

参数1:zset名称
参数2:分数
参数3:元素

将zset1中的v1元素的分数增加5分

zincrby zset1 5 v1

在这里插入图片描述

ZCOUNT 检索指定分数范围中的元素个数

格式:zcount 参数1 参数2 参数3

参数1:zset名称
参数2:最低分
参数3:最高分

检索zset1中60到100分的元素个数

zcount zset1 60 100

在这里插入图片描述
ZRANK 检索索引

格式:zrank 参数1 参数2

参数1:zset名称
参数2:元素

检索zset1中v1的索引号

zrank zset1 v1

在这里插入图片描述
ZREVRANK 检索反转索引

格式:zrevrank 参数1 参数2

参数1:zset名称
参数2:元素

反转检索zset1中v1的索引号

zrevrank zset1 v1

在这里插入图片描述

7、Bitmaps(位图)

SETBIT 设置

格式:setbit 参数1 参数2 参数3

参数1:bitmap名称
参数2:索引
参数3:值( 1 | 0 )

将bitmap1的第一个位置的值设为1

setbit bitmap1 1 1

在这里插入图片描述
GETBIT 检索

格式:getbit 参数1 参数2

参数1:bitmap名称
参数2:索引

检索bitmap1索引为2的值

getbit bitmap1 2

在这里插入图片描述
STRLEN 统计字节数

格式:strlen 参数1

参数1:bitmap名称

统计bitmap1占用的字节数(每8位占1字节)

strlen bitmap1

在这里插入图片描述
BITCOUNT 统计

格式:bitcount参数1 [参数2]

参数1:bitmap名称
参数2:范围(起始字节 终止字节)

统计bitmap1值为1的数量

bitcount bitmap1

在这里插入图片描述

统计bitmap1中0到1字节范围内值为1的数量

bitcount bitmap1 0 1

在这里插入图片描述
BITOP 位运算

格式:bittop 参数1 参数2 参数3

参数1:AND(与) | OR(或) | XOR(异或) | NOT(非)
参数2:存放的bitmap
参数3:参与运算的bitmap(空格分隔)

将bitmap1和bitmap2进行与运算并将结果存放在newbitmap

bitop and newbitmap bitmap1 bitmap2

在这里插入图片描述

将bitmap3进行非运算并将结果存放在newbitmap(非运算只能有一个bitmap)

bitop not newbitmap bitmap1

在这里插入图片描述

8、HyperLogLog

PFADD 添加

格式:pfadd 参数1 参数2

参数1:hyperLogLog名称
参数2:元素(可以多个,使用空格分隔

将zs、ls添加到p1中

pfadd p1 zs ls

在这里插入图片描述
PFCOUNT 统计

格式:pfcount 参数1

参数1:hyperLogLog名称(可以多个,使用空格分隔)

统计p1中的基数个数

pfcount p1

在这里插入图片描述
PFMERGE 合并

格式:pfmerge 参数1 参数2

参数1:接收结果hyperLogLog名称
参数2:hyperLogLog名称(使用空格分隔)

将p1、p2合并到newkey中

pfmerge newkey p1 p2

在这里插入图片描述

9、Geospatial(地理空间)

GEOADD 添加

格式:geo 参数1 参数2 参数3

参数1:geo名称
参数2:经度
参数3:纬度
参数4:描述

在city里面添加天安门、故宫的经纬度坐标

geoadd city 116.403963 39.915119 "天安门" 116.403414 39.924091 "故宫"

在这里插入图片描述
GEOPOS 返回经纬度

格式:geopos 参数1 参数2 参数3

参数1:geo名称
参数2:描述(可以多个,使用空格分隔)

返回故宫的经纬度

geopos city "故宫"

在这里插入图片描述
GEOHASH hash表示返回经纬度

格式:geohash参数1

参数1:geo名称
参数2:描述(可以多个,使用空格分隔)

hash表示返回故宫的经纬度

geohash city "故宫"

在这里插入图片描述
GEODIST 距离计算

格式:geodist 参数1 参数2 参数3

参数1:geo名称
参数2:描述1
参数3:描述2
参数3:单位( M | KM | FT | MI )

计算天安门和故宫相距多少KM

geodist city "天安门" "故宫" KM

在这里插入图片描述

作业2:redis持久化:分别启用rdb和aof,并查看是否有对应文件生成

RDB

1、修改配置文件名

根据redis.conf中的配置,快照将被写入dbfilename指定的文件中(默认是dump.rdb文件)
在这里插入图片描述

2、配置文件目录

根据redis.conf中的配置,快照将保存在dir选项指定的路径上,我们可以修改为指定目录,默认是根目录
在这里插入图片描述
修改完配置文件后,保存配置文件并重启服务

redis-server /etc/redis.conf  #保存配置文件
systemctl restart redis.service   #重启服务

在这里插入图片描述
可以看到下图,已经存在了dump.rdb文件
在这里插入图片描述

AOF

1、修改配置文件

通过修改redis.conf配置中appendonly yes来开启AOF持久化
通过appendfilename指定日志文件名字(默认为appendonly.aof)
通过appendfsync指定日志记录频率
在这里插入图片描述

2、配置选项

在这里插入图片描述

在这里插入图片描述
配置好redistribution.conf文件后,进入redis界面敲bgrewriteaof命令
在这里插入图片描述
后面在目录里就可以看见生成了一个appendonlydir目录,这个目录就是aof文件存放的默认目录,进入目录里,可以看见aof文件。
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/779719.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网络安全防御篇之安全问题及防火墙简介

网络安全常识及术语 网络的脆弱性 什么样的网络是安全的

20230723将红米redmi note 5 pro由默认的12小时显示修改为24小时显示

20230723将红米redmi note 5 pro由默认的12小时显示修改为24小时显示 2023/7/23 18:51 redmi note 5 pro 24小时 显示 https://jingyan.baidu.com/article/95c9d20dae4c42ad4e7561e7.html 红米手机24小时制怎么设置 播报文章 原创|浏览:169|更新:2021-02…

【网络】应用层——协议定制 | 序列化和反序列化 | 初识http

🐱作者:一只大喵咪1201 🐱专栏:《网络》 🔥格言:你只管努力,剩下的交给时间! 在前面本喵已经带大家见识过了scoket网络通信的样子,现在开始深入学习网络的原理&#xff…

华为OD机试真题 Java 实现【经典屏保】【2023 B卷 100分】,附详细解题思路

目录 专栏导读一、题目描述二、输入描述三、输出描述四、补充说明四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、再输入4、再输出 华为OD机试 2023B卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题&…

【微信小程序】使用iView组件库的ActionSheet组件实现底部选择功能

效果1 效果2 要在微信小程序中使用iView组件库的ActionSheet组件,可以按照以下步骤进行: 首先,确保已经引入了iView组件库的样式和脚本文件。可以在app.wxss中引入iView的样式文件: import "/path/to/iview/weapp/dist/sty…

RocketMQ深入分析

RocketMQ深入分析 1. 消息存储 目前的MQ中间件从存储模型来,分为需要持久化和不需要持久化的两种模型,现在大多数的是支持持久化存储的,比如ActiveMQ、RabbitMQ、Kafka、RocketMQ,ZeroMQ却不需要支持持久化存储而业务系统也大多…

Upgrading kubeadm clusters from v1.27.3 to v1.27.4

文章目录 1. Before you begin2. Notes3. Master3.1 Login into the first node and upgrade the kubeadm tool only3.2 Verify the upgrade plan3.3 Drain the control plane node3.4 kubeadm upgrade3.5 Uncordon the control plane node3.6 Upgrade kubelet and kubectl3.7 …

蓝桥杯专题-真题版含答案-【饮料换购】【方格填数】【四平方和】【垒骰子_递归】

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列点击跳转>蓝桥系列 👉关于作者 专注于Android/Unity和各种游…

算法之图论

定义 图通常以一个二元组 G<V, E>表示&#xff0c;V表示节点集&#xff0c;E表示边集。节点集中元素的个数&#xff0c;称为图的阶。 若图G中的每条边都是没有方向的&#xff0c;称为无向图&#xff1b;每条边是由两个节点组成的无序对&#xff0c;例如节点V1和节点V2之…

3、C# 方法构成

上一节,我们讲述了程序的基本构成。由大到小分别为”解决方案-->项目-->类-->方法“。 这一节,我们讲讲方法。 方法可以说是程序的基本构成单位。假如把方法抽象成点的话,我们可以认为程序是一个树状的结构。树根,就是我们的起点方法,也叫主方法。这一点,基本…

用户登录案例练习(flask+微信小程序)

目录 flask 微信小程序 flask 1.项目后端步骤 具体步骤可参考flask官网&#xff1a;flask 中文网 &#xff08;1&#xff09;创建虚拟环境 &#xff08;2&#xff09;激活虚拟环境 &#xff08;3&#xff09;在虚拟环境里边安装Flask &#xff08;4&#xff09; 粘贴官…

达闼面试(部分)(未完全解析)

grpc怎么解决负载均衡问题? Answer by newBing : gRPC提供了多种负载均衡策略&#xff0c;包括轮询、随机、最少连接数等。gRPC客户端可以使用这些策略来选择要连接的服务器。 k8s环境下部署grpc的几种方案 : 在k8s环境中&#xff0c;可以选择headless service&#xff0c;或者…

Leetcode 动态规划详解

动态规划&#xff08;Dynamic Programming, DP&#xff09;是一种解决多阶段决策过程最优化问题的数学方法。动态规划的特点是将原问题分解成多个子问题进行求解&#xff0c;每个子问题只求解一次&#xff0c;并将其结果保存下来&#xff0c;避免重复计算。然后通过组合子问题的…

初识Mybatis,并创建第一个Mybatis项目(详细图文教程)

目录 前言 一、Mybatis是什么&#xff1f; 二、Mybatis的优点 三、创建第一个Mybatis项目 配置Mybatis开发环境 创建数据库 添加框架 配置连接字符串和Mybatis 使用Mybatis操作数据库 测试 前言 Spring 集成了 Mybatis 框架&#xff0c;方便我们更加便捷的使用&#…

机器学习算法基础-覃秉丰 笔记版

文章目录 笔记回归sklearn-LASSOsklearn-一元线性回归sklearn-多元线性回归sklearn-岭回归sklearn-弹性网ElasticNetsklearn-逻辑回归sklearn-非线性逻辑回归标准方程法-岭回归梯度下降法-一元线性回归梯度下降法-多元线性回归梯度下降法-逻辑回归梯度下降法-非线性逻辑回归线性…

在kaggle中用GPU训练模型

文章目录 导入文件数据对于文件目录的访问对于文件的下载对GPU的使用 导入文件数据 参考文章&#xff1a; 使用kaggle GPU跑自己的模型 创建你自己的文件数据 对于数据文件创建notebook进行处理 对于文件目录的访问 ①传入的数据文件放在&#xff1a;/kaggle/input/ 文件…

Form Generator 扩展子表单组件之表单校验(超详细)

一、form-generator是什么?✨ ⭐️ 🌟 form-generator的作者是这样介绍的:Element UI表单设计及代码生成器,可将生成的代码直接运行在基于Element的vue项目中;也可导出JSON表单,使用配套的解析器将JSON解析成真实的表单。 但目前它提供的组件并不能满足我们在项目中的…

zabbix通过JMX监控tomcat运行情况

第三阶段基础 时 间&#xff1a;2023年7月20日 参加人&#xff1a;全班人员 内 容&#xff1a; zabbix通过JMX监控tomcat 目录 zabbix通过JMX监控tomcat 一、配置java网关 二、修改zabbix服务端配置文件 三、安装tomcat 四、Zabbix-web端配置 zabbix通过JMX监控tomc…

1.react useState使用与常见问题

文章目录 0. 取消批处理合并更新, render 2次1. 合并更新,setCount(异步更新) 3次相当于1次, count值为12. 如何取消批处理合并,让值累加?,改为回调函数写法,内部会依次执行函数, 执行3次 count值为33. 异步更新,获取异步更新的值?useEffect4.利用扩展运算符的形式来解决对象…

基于sklearn计算precision、recall等分类指标

文章目录 一、分类指标函数1.1 precision_score函数1.2 recall_score函数1.3 accuracy_score函数1.4 f1_score函数1.5 precision_recall_curve函数1.6 roc_curve函数1.7 roc_auc_score函数1.8 classification_report函数 二、二分类任务三、多分类任务3.1 Macro Average&#x…