Redis-配置文件详解

Redis配置文件详解


units单位

配置大小单位,开头定义基本度量单位,只支持bytes,大小写不敏感。

在这里插入图片描述

INCLUDES

Redis只有一个配置文件,如果多个人进行开发维护,那么就需要多个这样的配置文件,这时候多个配置 文件就可以在此通过 include /path/to/local.conf 配置进来,而原本的 redis.conf 配置文件就作为一个 总闸。

在这里插入图片描述

NETWORK

  1. bind:绑定redis服务器网卡IP,默认为127.0.0.1,即本地回环地址。访问redis服务只能通过本机的 客户端连接,而无法通过远程连接。如果bind选项为空的话,那会接受所有来自于可用网络接口的 连接。

    在这里插入图片描述

  2. protected-mode:本机保护模式,值为yes时只能本机访问不能远程访问。

    在这里插入图片描述

  3. port:指定redis运行的端口,默认是6379。

    在这里插入图片描述

  4. timeout:设置客户端连接时的超时时间,单位为秒。当客户端在这段时间内没有发出任何指令, 那么关闭该连接。默认值为0,表示不关闭。

    在这里插入图片描述

GENERAL

  1. daemonize:设置为yes表示指定Redis以守护进程的方式启动(后台启动)。

    在这里插入图片描述

  2. pidfile:配置PID文件路径,当redis作为守护进程运行的时候,它会把 pid 默认写到 /var/redis/run/redis_6379.pid 文件里面。

    在这里插入图片描述

  3. loglevel :定义日志级别。默认值为notice,有如下4种取值:

    • debug(记录大量日志信息,适用于开发、测试阶段)。

    • verbose(较多日志信息)。

    • notice(适量日志信息,使用于生产环境)。

    • warning(仅有部分重要、关键信息才会被记录)。

      在这里插入图片描述

  4. logfile :配置log文件地址,默认打印在命令行终端的窗口上。

    在这里插入图片描述

  5. databases:设置数据库的数目。

    在这里插入图片描述

SECURITY

  1. requirepass:设置redis连接密码。

    比如: requirepass 123 表示redis的连接密码为123。

    在这里插入图片描述

其他配置

  1. maxclients :设置客户端最大并发连接数,默认无限制,Redis可以同时打开的客户端连接数为 Redis进程可以打开的最大数量。 如果设置 maxclients为0 ,表示不作限制。当客户端连接数到达 限制时,Redis会关闭新的连接并向客户端返回错误信息。

    在这里插入图片描述

  2. maxmemory:设置Redis的最大内存,如果设置为0 。表示不作限制。通常是配合maxmemory-policy参数一起使用。

    在这里插入图片描述

  3. maxmemory-policy :当内存使用达到maxmemory设置的最大值时,redis使用的内存清除策略。

    清除策略包括:

    • volatile-lru:利用LRU算法移除设置过过期时间的key (LRU:最近使用 Least Recently Used )
    • allkeys-lru:利用LRU算法移除任何key
    • volatile-random:移除设置过过期时间的随机key
    • allkeys-random:移除随机key
    • volatile-ttl:移除即将过期的key(minor TTL)
    • noeviction:不移除任何key,只是返回一个写错误 ,默认选项

    在这里插入图片描述

详细解释:

单位
#当你需要为某个配置项指定内存大小的时候,必须要带上单位,
#通常的格式就是 1k 5gb 4m 等:
#1k => 1000 bytes
#1kb => 1024 bytes
#1m => 1000000 bytes
#1mb => 10241024 bytes
#1g => 1000000000 bytes
#1gb => 10241024*1024 bytes文件引入
#引入其他的配置文件
#include /path/to/local.conf
#include /path/to/other.conf模块加载
#启动时加载模块
#loadmodule /path/to/my_module.so
#loadmodule /path/to/other_module.so网络
#指定redis只能接受来自此IP绑定的网卡的请求,注意此默认值默认外网是不可访问的
bind 127.0.0.1#是否开启保护模式。如果没有指定bind和密码,redis只会本地进行访问,拒绝外部访问。
protected-mode yes#默认端口,建议生产环境不要使用默认端口避免被恶意扫描到
port 6379#TCP连接中已完成队列(完成三次握手之后)的长度
tcp-backlog 511#配置unix socket来让redis支持监听本地连接。
#unixsocket /tmp/redis.sock#配置unix socket使用文件的权限
#unixsocketperm 700#客户端连接空闲超过timeout将会被断开,为0则断开
timeout 0#tcp keepalive参数
tcp-keepalive 300基本配置
#是否后台启动
daemonize no#可以通过upstart和systemd管理Redis守护进程
#选项:
#supervised no - 没有监督互动
#supervised upstart - 通过将Redis置于SIGSTOP模式来启动信号
#supervised systemd - signal systemd将READY = 1写入$ NOTIFY_SOCKET
#supervised auto - 检测upstart或systemd方法基于 UPSTART_JOB或NOTIFY_SOCKET环境变量
supervised no#配置PID文件路径
pidfile /var/run/redis_6379.pid#日志级别
#参数:
# debug
# verbose
# notice
# warning
loglevel notice#日志文件
logfile “”#是否打开记录syslog功能
#syslog-enabled no
#syslog标识符
#syslog-ident redis#日志的来源
#syslog-facility local0#数据库的数量,默认使用的数据库是DB 0
#可以通过”SELECT “命令选择一个db
#集群环境默认只有DB 0
databases 16#是否一直显示logo
always-show-logo yes数据持久化RDB
#保存数据到磁盘:
#save#Will save the DB if both the given number of seconds and the given
#number of write operations against the DB occurred.#In the example below the behaviour will be to save:#15分钟有一个key发生变化就保存数据到磁盘
#after 900 sec (15 min) if at least 1 key changed#5分钟有10个key发生变化就保存数据到磁盘
#after 300 sec (5 min) if at least 10 keys changed#1分钟有10000个key发生变化就保存数据到磁盘
#after 60 sec if at least 10000 keys changed#Note: you can disable saving completely by commenting out all “save” lines.#还可以删除所有以前配置的保存。
#通过添加带有单个空字符串参数的保存指令
#like in the following example:save 900 1
save 300 10
save 60 10000#持久化出现错误后,是否依然进行继续进行工作
stop-writes-on-bgsave-error yes#是否校验rdb文件
rdbcompression yes#使用压缩rdb文件,rdb文件压缩使用LZF压缩算法,
rdbchecksum yes#rdb文件名称
dbfilename dump.rdb#rdb使用上面的“dbfilename配置指令的文件名保存到这个目录
dir ./主从复制
#指定主节点。旧版本是:slaveof#replicaof#master的密码
#masterauth#当一个slave失去和master的连接,或者同步正在进行中,slave的行为有两种可能:
#如果 replica-serve-stale-data 设置为 “yes” (默认值),slave会继续响应客户端请求,可能是正常数据,也可能是还没获得值的空数据。
#如果 replica-serve-stale-data 设置为 “no”,slave会回复"正在从master同步(SYNC withmaster in progress)"来处理各种请求,除了 INFO 和 SLAVEOF 命令。
replica-serve-stale-data yes#配置从是否为只读,开启后从则不能写入数据,旧版本是:slave-read-only yes
replica-read-only yes#同步策略: 磁盘或socket,默认磁盘方式
repl-diskless-sync no#如果非磁盘同步方式开启,可以配置同步延迟时间,以等待master产生子进程通过socket传输RDB数据给slave。
#默认值为5秒,设置为0秒则每次传输无延迟。
repl-diskless-sync-delay 5#slave根据指定的时间间隔向master发送ping请求。默认10秒。
#repl-ping-replica-period 10#同步的超时时间
#slave在与master SYNC期间有大量数据传输,造成超时
#在slave角度,master超时,包括数据、ping等
#在master角度,slave超时,当master发送REPLCONF ACK pings#确保这个值大于指定的repl-pingslave-period,否则在主从间流量不高时每次都会检测到超时
#repl-timeout 60#是否在slave套接字发送SYNC之后禁用 TCP_NODELAY
#如果选择yes,Redis将使用更少的TCP包和带宽来向slaves发送数据。但是这将使数据传输到slave上有延迟,Linux内核的默认配置会达到40毫秒。
#如果选择no,数据传输到salve的延迟将会减少但要使用更多的带宽。
#默认我们会为低延迟做优化,但高流量情况或主从之间的跳数过多时,可以设置为“yes”。
repl-disable-tcp-nodelay no#设置数据备份的backlog大小
#repl-backlog-size 1mb#从最后一个slave断开开始计时多少秒后,backlog缓冲将会释放。
#repl-backlog-ttl 3600#优先级
replica-priority 100#如果master少于N个延时小于等于M秒的已连接slave,就可以停止接收写操作。
#N个slave需要是“oneline”状态。
#延时是以秒为单位,并且必须小于等于指定值,是从最后一个从slave接收到的ping(通常每秒发送)开始计数。
#该选项不保证N个slave正确同步写操作,但是限制数据丢失的窗口期。
#例如至少需要3个延时小于等于10秒的slave用下面的指令:
#min-replicas-to-write 3
#min-replicas-max-lag 10安全
#密码
#requirepass foobared#命令重命名
#设置命令为空时禁用命令
#rename-command CONFIG “”限制
#设置最多同时连接的客户端数量
#maxclients 10000#内存限制
#maxmemory#如果达到上方最大的内存限制,Redis如何选择删除key
#volatile-lru -> 根据LRU算法删除设置过期时间的key
#allkeys-lru -> 根据LRU算法删除任何key
#volatile-random -> 随机移除设置过过期时间的key
#allkeys-random -> 随机移除任何key
#volatile-ttl -> 移除即将过期的key(minor TTL)
#noeviction -> 不移除任何key,只返回一个写错误
#注意:对所有策略来说,如果Redis找不到合适的可以删除的key都会在写操作时返回一个错误。
#目前为止涉及的命令:
set setnx setex append incr decr rpush lpush rpushx lpushx
linsert lset rpoplpush sadd sinter sinterstore sunion sunionstore sdiff
sdiffstore zadd zincrby zunionstore zinterstore hset hsetnx hmset hincrby incrby
decrby getset mset msetnx exec sort
#maxmemory-policy noeviction#LRU和最小TTL算法的样本个数
#maxmemory-samples 5懒删除
#内存满逐出
lazyfree-lazy-eviction no
#过期key删除
lazyfree-lazy-expire no
#内部删除,比如rename oldkey newkey时,如果newkey存在需要删除newkey
lazyfree-lazy-server-del no
#接收完RDB文件后清空数据选项
replica-lazy-flush no持久化方式AOF
#每次启动时Redis都会先把这个文件的数据读入内存里,先忽略RDB文件
appendonly no#AOF文件名称
appendfilename “appendonly.aof”
#fsync() 系统调用告诉操作系统把数据写到磁盘上,而不是等更多的数据进入输出缓冲区。
#有些操作系统会真的把数据马上刷到磁盘上;有些则会尽快去尝试这么做。
#Redis支持三种不同的模式:
#no:不要立刻刷,只有在操作系统需要刷的时候再刷。比较快。
#always:每次写操作都立刻写入到aof文件。慢,但是最安全。
#everysec:每秒写一次。折中方案。
#默认的 “everysec” 通常来说能在速度和数据安全性之间取得比较好的平衡。
appendfsync everysec#如果AOF的同步策略设置成 “always” 或者 “everysec”,并且后台的存储进程(后台存储或写入AOF 日志)会产生很多磁盘I/O开销。某些Linux的配置下会使Redis因为 fsync()系统调用而阻塞很久。
#注意,目前对这个情况还没有完美修正,甚至不同线程的 fsync() 会阻塞我们同步的write(2)调用。
#为了缓解这个问题,可以用下面这个选项。它可以在 BGSAVE 或 BGREWRITEAOF 处理时阻止fsync()。
#这就意味着如果有子进程在进行保存操作,那么Redis就处于"不可同步"的状态。
#这实际上是说,在最差的情况下可能会丢掉30秒钟的日志数据。(默认Linux设定)
#如果把这个设置成"yes"带来了延迟问题,就保持"no",这是保存持久数据的最安全的方式。
no-appendfsync-on-rewrite no#自动重写AOF文件。如果AOF日志文件增大到指定百分比,Redis能够通过 BGREWRITEAOF 自动重写AOF日志文件。
#工作原理:Redis记住上次重写时AOF文件的大小(如果重启后还没有写操作,就直接用启动时的AOF大小)
#这个基准大小和当前大小做比较。如果当前大小超过指定比例,就会触发重写操作。
#你还需要指定被重写日志的最小尺寸,这样避免了达到指定百分比但尺寸仍然很小的情况还要重写。
#指定百分比为0会禁用AOF自动重写特性。auto-aof-rewrite-percentage 100
#文件达到大小阈值的时候进行重写
auto-aof-rewrite-min-size 64mb#如果设置为yes,如果一个因异常被截断的AOF文件被redis启动时加载进内存,redis将会发送日志通知用户
#如果设置为no,erdis将会拒绝启动。此时需要用"redis-check-aof"工具修复文件。
aof-load-truncated yes#加载时Redis识别出AOF文件以“REDIS”开头字符串,
#并加载带此前缀的RDB文件,然后继续加载AOF
aof-use-rdb-preamble yesLua脚本配置
#Lua 脚本的最大执行毫秒数
lua-time-limit 5000集群
#开启redis集群
#cluster-enabled yes#配置redis自动生成的集群配置文件名。确保同一系统中运行的各redis实例该配置文件不要重名。
#cluster-config-file nodes-6379.conf#集群节点超时毫秒数
#cluster-node-timeout 15000
#如果数据太旧,集群中的不可用master的slave节点会避免成为备用master。如果slave和master失联时间超过:(node-timeout * slave-validity-factor) + repl-ping-slave-period则不会被提升为master。
#如node-timeout为30秒,slave-validity-factor为10, 默认default repl-ping-slaveperiod为10秒,失联时间超过310秒slave就不会成为master。
#较大的slave-validity-factor值可能允许包含过旧数据的slave成为master,同时较小的值可能会阻止集群选举出新master。
#为了达到最大限度的高可用性,可以设置为0,即slave不管和master失联多久都可以提升为master
#cluster-replica-validity-factor 10#只有在之前master有其它指定数量的工作状态下的slave节点时,slave节点才能提升为master。默认为1(即该集群至少有3个节点,1 master+2 slaves,master宕机,仍有另外1个slave的情况下其中1个slave可以提升)
#测试环境可设置为0,生成环境中至少设置为1
#cluster-migration-barrier 1#默认情况下如果redis集群如果检测到至少有1个hash slot不可用,集群将停止查询数据。
#如果所有slot恢复则集群自动恢复。
#如果需要集群部分可用情况下仍可提供查询服务,设置为no。
#cluster-require-full-coverage yes#选项设置为yes时,会阻止replicas尝试对其master在主故障期间进行故障转移
#然而,master仍然可以执行手动故障转移,如果强制这样做的话。
#cluster-replica-no-failover noDocker集群配置
#默认情况下,Redis会自动检测自己的IP和从配置中获取绑定的PORT,告诉客户端或者是其他节点。
#而在Docker环境中,如果使用的不是host网络模式,在容器内部的IP和PORT都是隔离的,那么客户端和其他节点无法通过节点公布的IP和PORT建立连接。
#如果开启以下配置,Redis节点会将配置中的这些IP和PORT告知客户端或其他节点。而这些IP和PORT是通过Docker转发到容器内的临时IP和PORT的。
#cluster-announce-ip
#cluster-announce-port
#集群总线端口
#cluster-announce-bus-port慢查询日志
#记录超过多少微秒的查询命令
#1000000等于1秒,设置为0则记录所有命令
slowlog-log-slower-than 10000#记录大小,可通过SLOWLOG RESET命令重置
slowlog-max-len 128延时监控系统
#记录执行时间大于或等于预定时间(毫秒)的操作,为0时不记录
latency-monitor-threshold 0事件通知
#Redis能通知 Pub/Sub 客户端关于键空间发生的事件,默认关闭
notify-keyspace-events “”内部数据结构
#当hash只有少量的entry时,并且最大的entry所占空间没有超过指定的限制时,会用一种节省内存的
#数据结构来编码。可以通过下面的指令来设定限制
hash-max-ziplist-entries 512
hash-max-ziplist-value 64#当取正值的时候,表示按照数据项个数来限定每个quicklist节点上的ziplist长度。比如,当这个参数配置
#成5的时候,表示每个quicklist节点的ziplist最多包含5个数据项。
#当取负值的时候,表示按照占用字节数来限定每个quicklist节点上的ziplist长度。这时,它只能取-1到-5
#这五个值,每个值含义如下:
#-5: 每个quicklist节点上的ziplist大小不能超过64 Kb。(注:1kb => 1024 bytes)
#-4: 每个quicklist节点上的ziplist大小不能超过32 Kb。
#-3: 每个quicklist节点上的ziplist大小不能超过16 Kb。
#-2: 每个quicklist节点上的ziplist大小不能超过8 Kb。(-2是Redis给出的默认值)
#-1: 每个quicklist节点上的ziplist大小不能超过4 Kb。
list-max-ziplist-size -2#这个参数表示一个quicklist两端不被压缩的节点个数。
#注:这里的节点个数是指quicklist双向链表的节点个数,而不是指ziplist里面的数据项个数。
#实际上,一个quicklist节点上的ziplist,如果被压缩,就是整体被压缩的。
#参数list-compress-depth的取值含义如下:
#0: 是个特殊值,表示都不压缩。这是Redis的默认值。
#1: 表示quicklist两端各有1个节点不压缩,中间的节点压缩。
#2: 表示quicklist两端各有2个节点不压缩,中间的节点压缩。
#3: 表示quicklist两端各有3个节点不压缩,中间的节点压缩。
#依此类推…
#由于0是个特殊值,很容易看出quicklist的头节点和尾节点总是不被压缩的,以便于在表的两端进行快速存取。
list-compress-depth 0#set有一种特殊编码的情况:当set数据全是十进制64位有符号整型数字构成的字符串时。
#下面这个配置项就是用来设置set使用这种编码来节省内存的最大长度。
set-max-intset-entries 512#与hash和list相似,有序集合也可以用一种特别的编码方式来节省大量空间。
#这种编码只适合长度和元素都小于下面限制的有序集合
zset-max-ziplist-entries 128
zset-max-ziplist-value 64#HyperLogLog稀疏结构表示字节的限制。该限制包括
#16个字节的头。当HyperLogLog使用稀疏结构表示
#这些限制,它会被转换成密度表示。
#值大于16000是完全没用的,因为在该点
#密集的表示是更多的内存效率。
#建议值是3000左右,以便具有的内存好处, 减少内存的消耗
hll-sparse-max-bytes 3000#Streams宏节点最大大小/项目。流数据结构是基数编码内部多个项目的大节点树。使用此配置
#可以配置单个节点的字节数,以及切换到新节点之前可能包含的最大项目数
#追加新的流条目。如果以下任何设置设置为0,忽略限制,因此例如可以设置一个
#大入口限制将max-bytes设置为0,将max-entries设置为所需的值
stream-node-max-bytes 4096
stream-node-max-entries 100#启用哈希刷新,每100个CPU毫秒会拿出1个毫秒来刷新Redis的主哈希表(顶级键值映射表)
activerehashing yes#客户端的输出缓冲区的限制,可用于强制断开那些因为某种原因从服务器读取数据的速度不够快的客户端
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60#客户端查询缓冲区累积新命令。它们仅限于固定的默认情况下,
#多数情况下为了避免协议不同步导致客户端查询缓冲区中未绑定的内存使用量的错误
#但是,如果你有使用的话,你可以在这里配置它,比如我们有很多执行请求或类似的。
#client-query-buffer-limit 1gb#在Redis协议中,批量请求,即表示单个的元素strings,通常限制为512 MB。
#但是,您可以z更改此限制
#proto-max-bulk-len 512mb
#默认情况下,“hz”的被设定为10。提高该值将在Redis空闲时使用更多的CPU时,但同时当有多个key
#同时到期会使Redis的反应更灵敏,以及超时可以更精确地处理
hz 10#开启动态hz
dynamic-hz yes#当一个子进程重写AOF文件时,如果启用下面的选项,则文件每生成32M数据会被同步
aof-rewrite-incremental-fsync yes
#当redis保存RDB文件时,如果启用了以下选项,每生成32 MB数据,文件将被fsync-ed。
#这很有用,以便以递增方式将文件提交到磁盘并避免大延迟峰值。
rdb-save-incremental-fsync yes碎片整理
#启用主动碎片整理
#activedefrag yes#启动活动碎片整理的最小碎片浪费量
#active-defrag-ignore-bytes 100mb#启动碎片整理的最小碎片百分比
#active-defrag-threshold-lower 10#使用最大消耗时的最大碎片百分比
#active-defrag-threshold-upper 100#在CPU百分比中进行碎片整理的最小消耗
#active-defrag-cycle-min 5#磁盘碎片整理的最大消耗
#active-defrag-cycle-max 75#将从主字典扫描处理的最大set / hash / zset / list字段数
#active-defrag-max-scan-fields 1000

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

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

相关文章

docker安装向量数据库milvus

Miluvs Milvus 向量数据库能够帮助用户轻松应对海量非结构化数据(图片 / 视频 / 语音 / 文本)检索。 单节点 Milvus 可以在秒内完成十亿级的向量搜索,分布式架构亦能满足用户的水平扩展需求。 Milvus 向量数据库的应用场景包括:互联网娱乐(图片搜索 / 视频搜索)、新零售…

MATLAB基础—系统环境

1.MATLAB操作界面的组成 (1)MATLAB主窗口(红色) MATLAB主窗口是MATLAB的程序窗口,他除了嵌入一功能窗口外,主要包括功能区(1),快速访问工具栏(2),和当前文件夹工具栏(3)。 在功能区提供了三个选项卡&#…

浅析vue3自定义指令

vue3中可以像下面这样使用自定义指令。 这里我们只是定义了一个vFoucs变量,vue怎么知道这是一个指令呢? 这是因为约定大于配置,vue3中有这样一个约定(截图来自官方文档): 注意这里说的是驼峰命令&#x…

机器学习案例:加州房产价格(一)

参考链接:https://hands1ml.apachecn.org/2/ 假设你是被一家地产公司雇佣的数据科学家,现在需要做一些工作。 公司所给的数据集是StatLib 的加州房产价格数据集。这个数据集是基于 1990 年加州普查的数据。数据已经有点老,但它有许多优点&…

【三十一】springboot+easyExcel实现多文件导出压缩包

互相交流入口地址 整体目录: 【一】springboot整合swagger 【二】springboot整合自定义swagger 【三】springboot整合token 【四】springboot整合mybatis-plus 【五】springboot整合mybatis-plus 【六】springboot整合redis 【七】springboot整合AOP实现日志操作 【…

【数字IC设计】芯片设计中的RDC

RDC问题定义 在芯片设计中,RDC是reset domain crossing 的缩写,类似于CDC(clock domain crossing),由于现在SOC芯片是有很多ECUs组成,为了使整个系统能够快速从复位中恢复, 用户希望SOC里面每个ECU模块都可以有自己独立的异步复位信号,这样可以在出问题的时候只复位有错…

【计算机网络篇】数据链路层(8)共享式以太网的退避算法和信道利用率

文章目录 🛸共享式以太网的退避算法🥚截断二进制指数算法 🍔共享式以太网的信道利用率 🛸共享式以太网的退避算法 在使用CSMA/CD协议的共享总线以太网中,正在发送帧的站点一边发送帧一边检测碰撞,当检测到…

【Cesium】Cesium核心类、坐标系与着色器简介

核心类: Viewer: Viewer 是 Cesium 中最基本的视图容器,用于显示地球、地图、三维场景等。它提供了创建和管理场景的功能,可以配置视图的各种属性和行为。 Scene: Scene 是 Cesium 中的核心类之一,代表了一个三维场景&#xff0c…

PopClip for Mac 激活版:让文本处理更高效

还在为繁琐的文本处理而烦恼吗?PopClip for Mac来帮您解决!这款神器般的文本处理工具,能让您轻松应对各种文本处理任务。无论是写作、编程还是日常办公,PopClip for Mac都能助您一臂之力,让您的文本处理更高效、更便捷…

【linux-IMX6ULL-定时器-GPT-串口配置流程-思路】

目录 1. 定时器配置流程1.1 EPIT定时器简介1.2 定时器1(epit1)的配置流程1.3 配置代码(寄存器版本)1.4 定时器-配合按键消抖1.4.1 实现原理1.4.2 代码实现(寄存器版) 2. GPT定时器实现高精度延时2.1 延时原理分析2.2 代码实现 3. UART串口配置流程3.1 UA…

微信小程序按钮去除边框线

通常我们去掉按钮边框直接设置 border:0 但是在小程序中无效,设置outline:none也没用,当然可能你会说加权重;试过了无效 实际上该样式是在伪元素::after内,主要你检查css 还看不到有这个关系,鹅厂就是坑多 类样式::…

半小时搞懂STM32面经知识点——IIC

1.IIC 1.1什么是IIC? 同步半双工通信协议,适用于小数据和短距离传输。 1.2 IIC需要几条线? IIC总共有2条通信总线(SDA,SCL),SCL为时钟同步线,用于主机和从机间数据同步操作;SDA为…

【密评】 | 商用密码应用安全性评估从业人员考核题库(9/58)

Hill密码是重要古典密码之一,其加密的核心思想的是()。 A.线性变换 B.非线性变换 C.循环移位 D.移位 著名的Kerckhoff原则是指()。 A.系统的保密性不但依赖于对加密体制或算法的保密,而且依赖于密钥 B.系统…

【计算机网络】数据链路层的功能

数据链路层的基本功能: 封装成帧透明传输差错检测 数据链路层使用的信道主要有两种 点对点信道——PPP协议广播信道——CSMA/CD协议(有线局域网)、CSMA/CA协议(无线局域网) 数据链路层所处的地位 从图中可以看出,数据从主机H1送到主机H2需要在路径中…

论文笔记模版

1. 摘要 1.1 背景 1.2 挑战 1.3 提出新方法 1.4 贡献 2. 引言 2.1 背景(引出问题) ①介绍大背景: ② 应用场景: ③ 介绍主题: 2.2 引出挑战 一般用图表来展现出我们的挑战(直观,解决什…

echarts环形图 legend文字过长显示...鼠标移动上展示全称

legend: {type: scroll,orient: vertical,x: left,y: bottom,top: "42%",left: 13%,data: this.dutyNames,textStyle: { color: #fff },triggerEvent: true,tooltip: {show: true,trigger: item,//鼠标移动上去展示全称},formatter: function (params) {var val &qu…

HTML五彩缤纷的爱心

写在前面 小编准备了一个五彩缤纷的爱心,送给各位小美女们~ 在桌面创建一个.txt文本文件,把代码复制进去,将后缀.txt改为.html,然后就可以双击运行啦! HTML简介 HTML(超文本标记语言)是一种…

C++——二叉树搜索树

前面写了初阶数据结构——二叉树;本文内容是来对它来进行结尾 目录 一概念 二实现 2.1查找 2.2插入 2.3删除 完整源代码 三二叉树的应用 四二叉搜索树的性能分析 五二叉搜索树相关的面试题 一概念 二叉搜索树又称二叉排序树,它或者是一棵空树…

妙笔生花,创作无限——WonderPen妙笔 for Mac

写作,是灵感的流淌,是心灵的独白。WonderPen妙笔 for Mac,为您的灵感插上翅膀,让您的创作更加流畅自如。它拥有简洁直观的界面设计,让您的思绪在纯净的写作环境中自由飞翔。多种写作模式,满足您不同的创作需…

Ps 滤镜:绘图笔

Ps菜单:滤镜/滤镜库/素描/绘图笔 Filter Gallery/Sketch/Graphic Pen 绘图笔 Graphic Pen滤镜可以模拟传统绘画技术,特别是模拟使用细油墨笔进行绘制的艺术效果。该滤镜主要用于将图像中的细节以细线的形式表现出来,非常适合于增强图像的线条…