redis 主从配置参数详解

2023-10-30

转:https://www.cnblogs.com/chenmh/p/5121849.html#undefined

安装redis

下载redis
wget http://download.redis.io/releases/redis-3.0.7.tar.gz

解压redis
tar -xvf redis-3.0.7.tar.gz

安装redis
cd redis-3.0.7
“有可能需要安装gcc插件:yum install -y gcc  ” 
 
make 

“如果make有报错,则执行,没有报错就不需要 make MALLOC=libc  ”

redis.conf相关参数

##Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程

    daemonize no

##当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定

    pidfile /var/run/redis.pid

##指定Redis监听端口,默认端口为6379 

port 6379
# TCP接收队列长度,受/proc/sys/net/core/somaxconn和tcp_max_syn_backlog这两个内核参数的影响
tcp-backlog 511

 ##绑定的主机地址

    bind 127.0.0.1

##当 客户端闲置多长时间后关闭连接,如果指定为0,表示关闭该功能

timeout 300
# 如果非零,则设置SO_KEEPALIVE选项来向空闲连接的客户端发送ACK

tcp-keepalive 60

##指定日志记录级别,Redis总共支持四个级别:debug、verbose、notice、warning,默认为verbose
## debug (大量信息,对开发/测试有用)
## verbose (很多精简的有用信息,但是不像debug等级那么多)
## notice (适量的信息,基本上是你生产环境中需要的)
## warning (只有很重要/严重的信息会记录下来)

    loglevel verbose

##日志名

    logfile "./redis7003.log"


##设置数据库的数量,可以使用SELECT <dbid>命令在连接上指定数据库id

    databases 16

##指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合save <seconds> <changes>
#Redis默认配置文件中提供了三个条件:

    save 900 1

    save 300 10

    save 60 10000

分别表示900秒(15分钟)内有1个更改,300秒(5分钟)内有10个更改以及60秒内有10000个更改。

# 默认如果开启RDB快照(至少一条save指令)并且最新的后台保存失败,Redis将会停止接受写操作
# 这将使用户知道数据没有正确的持久化到硬盘,否则可能没人注意到并且造成一些灾难

stop-writes-on-bgsave-error yes

##指定存储至本地数据库时是否压缩数据,默认为yes,Redis采用LZF压缩,如果为了节省CPU时间,可以关闭该选项,但会导致数据库文件变的巨大

    rdbcompression yes

###指定本地数据库文件名,默认值为dump.rdb

    dbfilename dump.rdb

###指定本地数据库存放目录

    dir ./

##设置当本机为slav服务时,设置master服务的IP地址及端口,在Redis启动时,它会自动从master进行数据同步

    slaveof <masterip> <masterport>

###当master服务设置了密码保护时,slav服务连接master的密码

    masterauth <master-password>

####设置Redis连接密码,如果配置了连接密码,客户端在连接Redis时需要通过AUTH <password>命令提供密码,默认关闭

    requirepass foobared
##你可以配置salve实例是否接受写操作。可写的slave实例可能对存储临时数据比较有用(因为写入salve
##的数据在同master同步之后将很容易被删除

slave-read-only yes

# 是否在slave套接字发送SYNC之后禁用 TCP_NODELAY?
# 如果你选择“yes”Redis将使用更少的TCP包和带宽来向slaves发送数据。但是这将使数据传输到slave
# 上有延迟,Linux内核的默认配置会达到40毫秒
# 如果你选择了 "no" 数据传输到salve的延迟将会减少但要使用更多的带宽

repl-disable-tcp-nodelay no

# slave的优先级是一个整数展示在Redis的Info输出中。如果master不再正常工作了,哨兵将用它来
# 选择一个slave提升=升为master。
# 优先级数字小的salve会优先考虑提升为master,所以例如有三个slave优先级分别为10,10025,
# 哨兵将挑选优先级最小数字为10的slave。
# 0作为一个特殊的优先级,标识这个slave不能作为master,所以一个优先级为0的slave永远不会被
# 哨兵挑选提升为master

slave-priority 100

##设置同一时间最大客户端连接数,默认无限制,Redis可以同时打开的客户端连接数为Redis进程可以打开的最大文件描述符数,如果设置 maxclients 0,表示不作限制。当客户端连接数到达限制时,Redis会关闭新的连接并向客户端返回max number of clients reached错误信息

    maxclients 128

##指定Redis最大内存限制,Redis在启动时会把数据加载到内存中,达到最大内存后,Redis会先尝试清除已到期或即将到期的Key,当此方法处理 后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。Redis新的vm机制,会把Key存放内存,Value会存放在swap区

    maxmemory <bytes>


##最大内存策略:如果达到内存限制了,Redis如何选择删除key。你可以在下面五个行为里选:
# volatile-lru -> 根据LRU算法删除带有过期时间的key。
# allkeys-lru -> 根据LRU算法删除任何key。
# volatile-random -> 根据过期设置来随机删除key, 具备过期时间的key。 
# allkeys->random -> 无差别随机删, 任何一个key。 
# volatile-ttl -> 根据最近过期时间来删除(辅以TTL), 这是对于有过期时间的key 
# noeviction -> 谁也不删,直接在写操作时返回错误。
maxmemory-policy volatile-lru
##指定是否在每次更新操作后进行日志记录,Redis在默认情况下是异步的把数据写入磁盘,如果不开启,可能会在断电时导致一段时间内的数据丢失。因为 redis本身同步数据文件是按上面save条件来同步的,所以有的数据会在一段时间内只存在于内存中。默认为no

    appendonly no

###指定更新日志文件名,默认为appendonly.aof

     appendfilename appendonly.aof

####指定更新日志条件,共有3个可选值: 
    no:表示等操作系统进行数据缓存同步到磁盘(快) 
    always:表示每次更新操作后手动调用fsync()将数据写到磁盘(慢,安全) 
    everysec:表示每秒同步一次(折衷,默认值)

    appendfsync everysec

 

##指定是否启用虚拟内存机制,默认值为no,简单的介绍一下,VM机制将数据分页存放,由Redis将访问量较少的页即冷数据swap到磁盘上,访问多的页面由磁盘自动换出到内存中(在后面的文章我会仔细分析Redis的VM机制)

     vm-enabled no

### 虚拟内存文件路径,默认值为/tmp/redis.swap,不可多个Redis实例共享

     vm-swap-file /tmp/redis.swap
# 如果AOF的同步策略设置成 "always" 或者 "everysec",并且后台的存储进程(后台存储或写入AOF
# 日志)会产生很多磁盘I/O开销。某些Linux的配置下会使Redis因为 fsync()系统调用而阻塞很久。
# 注意,目前对这个情况还没有完美修正,甚至不同线程的 fsync() 会阻塞我们同步的write(2)调用。
#
# 为了缓解这个问题,可以用下面这个选项。它可以在 BGSAVE 或 BGREWRITEAOF 处理时阻止主进程进行fsync()。
# 
# 这就意味着如果有子进程在进行保存操作,那么Redis就处于"不可同步"的状态。
# 这实际上是说,在最差的情况下可能会丢掉30秒钟的日志数据。(默认Linux设定)
# 
# 如果你有延时问题把这个设置成"yes",否则就保持"no",这是保存持久数据的最安全的方式。
no-appendfsync-on-rewrite yes

# 自动重写AOF文件
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb

# AOF文件可能在尾部是不完整的(这跟system关闭有问题,尤其是mount ext4文件系统时
# 没有加上data=ordered选项。只会发生在os死时,redis自己死不会不完整)。
# 那redis重启时load进内存的时候就有问题了。
# 发生的时候,可以选择redis启动报错,并且通知用户和写日志,或者load尽量多正常的数据。
# 如果aof-load-truncated是yes,会自动发布一个log给客户端然后load(默认)。
# 如果是no,用户必须手动redis-check-aof修复AOF文件才可以。
# 注意,如果在读取的过程中,发现这个aof是损坏的,服务器也是会退出的,
# 这个选项仅仅用于当服务器尝试读取更多的数据但又找不到相应的数据时。
aof-load-truncated yes

# Lua 脚本的最大执行时间,毫秒为单位
lua-time-limit 5000

# Redis慢查询日志可以记录超过指定时间的查询
slowlog-log-slower-than 10000

# 这个长度没有限制。只是要主要会消耗内存。你可以通过 SLOWLOG RESET 来回收内存。
slowlog-max-len 128

# redis延时监控系统在运行时会采样一些操作,以便收集可能导致延时的数据根源。
# 通过 LATENCY命令 可以打印一些图样和获取一些报告,方便监控
# 这个系统仅仅记录那个执行时间大于或等于预定时间(毫秒)的操作, 
# 这个预定时间是通过latency-monitor-threshold配置来指定的,
# 当设置为0时,这个监控系统处于停止状态
latency-monitor-threshold 0

# Redis能通知 Pub/Sub 客户端关于键空间发生的事件,默认关闭
notify-keyspace-events ""

# 当hash只有少量的entry时,并且最大的entry所占空间没有超过指定的限制时,会用一种节省内存的
# 数据结构来编码。可以通过下面的指令来设定限制
hash-max-ziplist-entries 512
hash-max-ziplist-value 64

# 与hash似,数据元素较少的list,可以用另一种方式来编码从而节省大量空间。
# 这种特殊的方式只有在符合下面限制时才��以用
list-max-ziplist-entries 512
list-max-ziplist-value 64

# 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

# 启用哈希刷新,每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

# 默认情况下,“hz”的被设定为10。提高该值将在Redis空闲时使用更多的CPU时,但同时当有多个key
# 同时到期会使Redis的反应更灵敏,以及超时可以更精确地处理
hz 10

# 当一个子进程重写AOF文件时,如果启用下面的选项,则文件每生成32M数据会被同步
aof-rewrite-incremental-fsync yes


将所有大于vm-max-memory的数据存入虚拟内存,无论vm-max-memory设置多小,所有索引数据都是内存存储的(Redis的索引数据 就是keys),也就是说,当vm-max-memory设置为0的时候,其实是所有value都存在于磁盘。默认值为0

     vm-max-memory 0

Redis swap文件分成了很多的page,一个对象可以保存在多个page上面,但一个page上不能被多个对象共享,vm-page-size是要根据存储的 数据大小来设定的,作者建议如果存储很多小对象,page大小最好设置为32或者64bytes;如果存储很大大对象,则可以使用更大的page,如果不 确定,就使用默认值

     vm-page-size 32

设置swap文件中的page数量,由于页表(一种表示页面空闲或使用的bitmap)是在放在内存中的,,在磁盘上每8个pages将消耗1byte的内存。

     vm-pages 134217728

设置访问swap文件的线程数,最好不要超过机器的核数,如果设置为0,那么所有对swap文件的操作都是串行的,可能会造成比较长时间的延迟。默认值为4

     vm-max-threads 4

设置在向客户端应答时,是否把较小的包合并为一个包发送,默认为开启

    glueoutputbuf yes

指定在超过一定的数量或者最大的元素超过某一临界值时,采用一种特殊的哈希算法

    hash-max-zipmap-entries 64

    hash-max-zipmap-value 512

指定是否激活重置哈希,默认为开启(后面在介绍Redis的哈希算法时具体介绍)

    activerehashing yes

指定包含其它的配置文件,可以在同一主机上多个Redis实例之间使用同一份配置文件,而同时各个实例又拥有自己的特定配置文件

    include /path/to/local.conf

指定内存映射文件路径(windows版特有的一个文件,注意将该文件路径配置在一个足够空间的路径下)
    heapdir ./rdb/
指定内存映射文件大小,如果设置了最大内存那么该文件的大小=1.5*最大内存大小

      maxheap 1024000000

 

参数这部分参考:http://www.cnblogs.com/wenanry/archive/2012/02/26/2368398.html

配置redis主从

主:192.168.80.133:6379

从:192.168.80.133:6380

注意:确保防火墙允许端口,或者关闭防火墙。

主redis配置

cp -r redis-3.0.7 /usr/local/redis-6379

修改redis.conf文件

cd /usr/local/redis-6379
mkdir run

vim redis.conf

其它的参数默认即可。

从redis配置

cp -r redis-3.0.7 /usr/local/redis-6380

修改redis.conf文件

cd /usr/local/redis-6380
mkdir run

vim redis.conf

 

由于我的主从都是在本机,这里填写实际的主的ip 加 端口

其它的参数默认即可。

启动redis

/usr/local/redis-6379/src/redis-server /usr/local/redis-6379/redis.conf

/usr/local/redis-6380/src/redis-server /usr/local/redis-6380/redis.conf

登入redis

登入主:
/usr/local/redis-6379/src/redis-cli -p 6379

登入从:
/usr/local/redis-6379/src/redis-cli -p 6380

测试数据

在主redis上执行

在从redis上执行

主从切换

主挂掉了后从执行:
src/redis-cli -p 6380 slaveof NO ONE

主恢复后从执行:
src/redis-cli -p 6380 slaveof 127.0.0.1 6379

 

redis相关命令

1.查看redis进程
ps -ef|grep redis
2.启动redis
src/redis-server redis.conf 
3.关闭redis
src/redis-cli -p 6379 shutdown
4.登入redis
src/redis-cli -p 6379
5.退出登入redis
quit 
6.获取redis信息
info

配置redis系统启动

vim /etc/init.d/redis-6379

代码来自网络

#!/bin/bash  
#  
# redis    Startup script for redis processes  
#  
# author: snowolf  
#  
# processname: redis  
  
redis_path="/usr/local/redis-6379/src/redis-server"  
redis_conf="/usr/local/redis-6379/redis.conf"  
redis_pid="/usr/local/redis-6379/run/redis.pid"  
  
# Source function library.  
. /etc/rc.d/init.d/functions  
  
[ -x $redis_path ] || exit 0  
  
RETVAL=0  
prog="redis"  
  
  
# Start daemons.  
start() {  
    if [ -e $redis_pid -a ! -z $redis_pid ];then  
        echo $prog" already running...."  
        exit 1  
    fi  
  
    echo -n $"Starting $prog "  
    # Single instance for all caches  
    $redis_path $redis_conf  
    RETVAL=$?  
    [ $RETVAL -eq 0 ] && {  
        touch /var/lock/subsys/$prog  
        success $"$prog"  
    }  
    echo  
    return $RETVAL  
}  
  
  
# Stop daemons.  
stop() {  
    echo -n $"Stopping $prog "  
    killproc -d 10 $redis_path  
    echo  
    [ $RETVAL = 0 ] && rm -f $redis_pid /var/lock/subsys/$prog  
  
    RETVAL=$?  
    return $RETVAL  
}  
  
  
# See how we were called.  
case "$1" in  
        start)  
            start  
            ;;  
        stop)  
            stop  
            ;;  
        status)  
            status $prog  
            RETVAL=$?  
            ;;  
        restart)  
            stop  
            start  
            ;;  
        condrestart)  
            if test "x`pidof redis`" != x; then  
                stop  
                start  
            fi  
            ;;  
        *)  
            echo $"Usage: $0 {start|stop|status|restart|condrestart}"  
            exit 1  
esac  
exit $RETVAL  

 赋予文件可执行权限

chmod +x /etc/init.d/redis-6379

该脚本是通过杀进程的方式停止redis,适合一台服务器只部署一个redis。

加入启动服务
chkconfig redis-6379 on
启动redis

service redis-6379 start

配置redis密码

1.配置主

vim redis.conf

requirepass abc

登入主

src/redis-cli -p 6380 -a abc

如果无法执行命令,进行授权验证

#auth 密码

auth abc

2.配置从

vim redis.conf

#配置连接主使用的密码
masterauth abc
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

redis 主从配置参数详解 的相关文章

  • Redis Docker compose无法处理RDB格式版本10

    我无法在 docker compose 文件中启动 redis 容器 我知道docker compose文件没问题 因为我的同事可以成功启动项目 我读到有一个删除 dump rdb 文件的解决方案 但我找不到它 我使用Windows机器 任
  • Spring Data JPA Redis:无法编写基于自定义方法的查询

    我已经使用 Redis 配置了 Spring Data JPA 并使用RedisRepositorieswith 提供了类似的方法find findAll 所有这些方法似乎都工作得很好 但我无法编写我的自定义方法 RedisEntity f
  • StackExchange.Redis的正确使用方法

    这个想法是使用更少的连接和更好的性能 连接会随时过期吗 对于另一个问题 redis GetDatabase 打开新连接 private static ConnectionMultiplexer redis private static ID
  • 如何使 Redis 缓存中数据层次结构(树)的部分内容无效

    我有一些产品数据 需要在 Redis 缓存中存储多个版本 数据由 JSON 序列化对象组成 获取普通 基本 数据的过程很昂贵 将其定制为不同版本的过程也很昂贵 因此我想缓存所有版本以尽可能进行优化 数据结构看起来像这样 BaseProduc
  • redis dump.rdb / 保存小文件

    Context 我正在使用redis 数据库小于 100 MB 但是 我想进行每日备份 我也在 Ubuntu Server 12 04 上运行 当输入 redis cli save 我不知道 dump rdb 保存到哪里 因为 redis
  • 想要在后台不间断地运行redis-server

    我已经下载了 redis 2 6 16 tar gz 文件并安装成功 安装后我运行 src redis server 它工作正常 但我不想每次都手动运行 src redis server 而是希望 redis server 作为后台进程持续
  • 如何将“.csv”数据文件导入Redis数据库

    如何将 csv 数据文件导入 Redis 数据库 csv 文件中包含 id 时间 纬度 经度 列 您能否向我建议导入 CSV 文件并能够执行空间查询的最佳方法 这是一个非常广泛的问题 因为我们不知道您想要什么数据结构 您期望什么查询等等 为
  • 创建 C++ Redis 模块 - “不导出 RedisModule_OnLoad() 符号”

    我在加载 Redis 模块时遇到一些问题 我只是复制来自的示例https redis io topics modules intro https redis io topics modules intro 但我把它剥下来了 include
  • Redis 队列工作程序在 utcparse 中崩溃

    我正在尝试按照以下教程获得基本的 rq 工作 https blog miguelgrinberg com post the flask mega tutorial part xxii background jobs https blog m
  • 当 Jedis 与 Spring Data 一起使用时,为什么数据会以奇怪的键存储在 Redis 中?

    我将 Spring Data Redis 与 Jedis 一起使用 我正在尝试存储带有密钥的哈希值vc list id 我能够成功插入到redis 但是 当我使用 redis cli 检查密钥时 我没有看到密钥vc 501381 相反我看到
  • 如何使用redis发布/订阅

    目前我正在使用node js和redis来构建应用程序 我使用redis的原因是因为发布 订阅功能 该应用程序只是在用户进入用户或离开房间时通知经理 function publishMsg channel mssage redisClien
  • Spring Redis 排序键

    我在 Redis Spring Data Redis 中有以下键 localhost gt Keys 1 id 1 Name C5796 Site DRG1 2 id 2 Name CX1XE Site DG1 3 id 3 Name C5
  • Laravel Redis 配置

    我目前正在使用 Laravel 和 Redis 创建一个应用程序 几乎一切都工作正常 我按照文档中的说明扩展了身份验证 用户可以订阅 登录 注销 我可以创建内容 所有内容都存储在 Redis 中 但我有一个问题 我无法运行 php arti
  • 超出 Redis 连接/缓冲区大小限制

    在对我们的应用程序服务器进行压力测试时 我们从 Redis 中得到以下异常 ServiceStack Redis RedisException 无法连接到 redis host 6379 处的 redis 实例 gt System Net
  • 由于配置文件错误,无法启动 Redis 服务器

    我刚刚按照此处的说明安装了 Redis http redis io download http redis io download 当我运行 redis server redis conf 时出现以下错误 FATAL CONFIG FILE
  • 批量将Dictionary中的数据设置到Redis中

    我正在使用 StackExchange Redis DB 插入键值对字典Batch如下 private static StackExchange Redis IDatabase database public void SetAll
  • ServiceStack PooledRedisClientManager 故障转移如何工作?

    根据 git commit 消息 ServiceStack 最近添加了故障转移支持 我最初认为这意味着我可以关闭我的一个 Redis 实例 并且我的池客户端管理器将优雅地处理故障转移并尝试与我的备用 Redis 实例之一连接 不幸的是 我的
  • redis能完全取代mysql吗?

    简单的问题 我是否可以使用 redis 而不是 mysql 来处理各种 Web 应用程序 社交网络 地理位置服务等 IT 领域没有什么是不可能的 但有些事情可能会变得极其复杂 将键值存储用于全文搜索之类的事情可能会非常痛苦 另外 据我所知
  • memcache、redis 和 ehcache 作为分布式缓存框架的比较 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我需要做出的决定之一是在我的系统中使用什么缓存框架 有这么多可供选择 我目前正在研究 redis ehcache 和 memcached
  • 在 Redis 中存储 IP 范围

    我有很多不同提供商的 IP 范围 例如 P1 192 168 1 10 192 168 1 50 192 168 2 16 192 168 2 49 P2 17 36 15 34 17 36 15 255 P3 我将此 IP 转换为 int

随机推荐

  • 【第四章 使用(servletAPI、ModelAndView,Model、Map、ModelMap)向request域对象共享数据,向session,application域中共享数据】

    第四章 使用 servletAPI ModelAndView Model Map ModelMap 向request域对象共享数据 向session application域中共享数据 1 域对象共享数据 1 使用servletAPI向re
  • 奇数分频器的实现

    奇数分频 文章目录 1 奇数分频介绍 2 通过时钟 相或 实现奇数分频 3 通过时钟 相与 实现奇数分频 4 通过时钟 相异或 实现奇数分频 5 测试代码 1 奇数分频介绍 奇数分频 2N 1 以三分频 N 1 为例 三分频即分频后的时钟半
  • 离散变量可不可以做方差分析_R笔记:单因素方差分析

    转自个人微信公众号 Memo Cleon 的统计学习笔记 R笔记 单因素方差分析 事后两两多重比较 趋势方差分析 示例来源 李康 贺佳等 医学统计学 第6版 北京 人民卫生出版社 2013 评价某药物耐受性及安全性的I期临床实验中 将符合纳
  • 【Flask】项目部署到Flask服务器

    前言 最近刚学习FLask服务器 是一个Python的服务器框架 适用于中小型的项目 而上一期的Django服务器适用于部署大型项目 前端 创建前端的过程和上一篇博客一样 这次的项目名称为demo 界面演示 后端 创建文件夹DemoServ
  • Python 北京房价预测实验报告 深度学习 tensorflow keras

    代码 计算机课程设计北京房价预测数据集和代码实现 机器学习文档类资源 CSDN文库 前言 随着经济的不断发展和社会资源的集中 人们出现了向大城市集中的趋势 其中 北京作为我国的首都 吸引人才的能力在中国和世界都具有较强的竞争力 与此同时 每
  • 表达式引擎Aviator基本介绍及使用以及基于Aviator的规则引擎(附代码详细介绍)

    1 Aviator 1 1 什么是Aviator Aviator是一门高性能 轻量级的Java语言实现的表达式求值引擎 主要用于表达式的动态求值 1 2 为什么需要Aviator Aviator的设计目标是 轻量级 和 高性能 相对于Gro
  • JS构造函数继承---------直接继承父构造函数的prototype

    理解prototype继承之前先理解prototype proto constructor function Objfather this role 父亲 console log Objfather prototype Objfather
  • 【原创】oracle的tpc-c测试及方法

    大家好 很高兴来到博客园分享自己的所见所得 希望和大家多多交流 共同进步 本文重点在于简介使用BenchmarkSQL对oracle进行tpcc的测试步骤 只是一个简单入门的过程 开源测试工具 BenchmarkSQL 平台 windows
  • c++ strncmp及strcmp实现

    int strcmp m const char s1 const char s2 assert s1 NULL s2 NULL while s1 0 s2 0 字符串前面部分都相同 if s1 s2 gt 0 return 1 if s1
  • 2022最新版-李宏毅机器学习深度学习课程-P3深度学习基本概念

    一 如何表示更复杂的模型 单变量 上述的 y wx b线性模型x和y的关系是一条直线 即使改变w和b的值 即改变线性模型的斜率和与y轴的交叉点位置 仅仅代表y的值与x的值成正比 永远无法拟合更复杂的关系 因此我们需要一个更复杂的 更有弹性的
  • 第六章 传统金融行业的区块链战略

    一 银行的区块链战略 一 高盛 高 盛集团 Goldman Sachs 是一家国际领先的投资银行 向全球提供广泛的投资 咨询和金融服务 拥有大量的多行业客户 包括私营公司 金融企业 政府机构以及个人 高盛 集团成立于1869年 是世界上历史
  • nuxt3 window is not defined错误

    问题 在 nuxt 中直接使用 window document 会报 ReferenceError window is not defined 原因 原因其实也比较简单 由于 nextjs 是服务端渲染 它会预渲染页面后生成 HTML 然后
  • Android ViewBinding更新,include得到优化

    前言 之前的ViewBinding对include很不友好 以至于用起来很是难受 到目前优化后不再强制转换FrameLayout布局 使用更加舒适 解决 用之前的例子 直接上代码 这次我们给include的xml加上id
  • 如何终止或杀死进程

    中止进程 一个进程在任务完成之后 将会自动结束 如果要中途中止该进程的话 有两种方法 1 对于在前台运行的程序 直接通过组合键 Ctrl C 来中止 2 对于在后台运行的程序 则需要找到它的进程号 然后使用 kill 命令结束该进程 可以使
  • Java并发编程实战——java内存模型(JMM)和重排序数据依赖性规则

    文章目录 JMM的介绍 内存模型抽象结构 JMM抽象结构模型 重排序的数据依赖性 happens before规则 内存屏障 volatile语义中的内存屏障 final语义中的内存屏障 JMM的介绍 当多个线程访问同一个对象时 如果不用考
  • 自动化测试相关

    bug的风险等级 建议 一般 严重 致命 bug的生命周期 新建 待修复 审核 关闭 注意 bug关闭后可能会再次打开 测试人员关闭一个bug后需要做回归测试 验证次bug是否会引入新的bug 如果没有 则代表该bug彻底关闭 软件测试的流
  • Basic Level 1003 我要通过! (20分)

    题目 答案正确 是自动判题系统给出的最令 人欢喜的回复 本题属于PAT的 答案正确 大派送 只要读入的字符 满足下列 条件 系统就输出 答案正确 否则输出 答案错误 得到 答案正确 的条件是 1 字符 中必须仅有P A T这三种字符 可以包
  • 【已解决】mysqld: File ‘.\杩滅▼浼氳瘖-鐥呯悊绉?slow.log‘ not found (Errcode: 2 - No such file or directory)

    卸载mysql 删除和mysql相关的文件 MySQL踩坑 含泪填完 MySQL踩坑 含泪填完 1 控制面板 删除之前安装失败的mysql对应的版本 2 删除C Program Files x86 MySQL下的文件夹 见下图 3 显示隐藏
  • 懒汉式之并发安全问题

    在高并发场景下的懒汉式创建对象 造成ID重复创建 代码见下图 并发场景下 iDCreator对象并未随类的创建而创建 而是在需要的时候进行创建 导致垃圾回收器可以对其进行回收 从而有可能同一时间戳 前后两次的对象不一致 造成出现两个不同的i
  • redis 主从配置参数详解

    转 https www cnblogs com chenmh p 5121849 html undefined 安装redis 下载redis wget http download redis io releases redis 3 0 7