redis 5.0.x 部署

PS:对于使用者来说,Redis5.0和4.0都是一样的,但是redis 4.0的集群部署需要额外安装ruby的东西,5.0中则集成到了redis-cli,部署起来更方便

1.1 安装Redis

本章基于CentOS 7.9.2009编写而成,由于Linux发行版众多,安装过程可能有些许不同,仅供参考

1、下载Redis源码:wget http://download.redis.io/releases/redis-5.0.13.tar.gz

2、解压:tar xzf redis-5.0.13.tar.gz

3、cd redis-5.0.13/deps/

4、make hiredis lua jemalloc linenoise(编译依赖的库)

5、cd ..

6、编译:make -j 4(4表示使用4核编译,默认是1核,请根据实际情况修改参数)

1.2 部署单机版Redis

1、使用cd命令切换目录到Redis主目录下

2、创建一个文件夹用于存放单机版的数据和配置:mkdir single

3、拷贝一份配置文件到single文件夹:cp redis.conf single/redis.conf

4、切换到single目录:cd single/

5、使用你熟悉的编辑器修改redis.conf文件

第69行:bind 127.0.0.1(注释掉)

 

 第88行:protected-mode no

 

 第92行:port 6379(端口号)

 

 第136行:daemonize yes(后台运行)

 

 第158行:pidfile /var/run/redis_6379.pid(后边的数字改成跟端口号一致)

 

 #注意:${redis.home}替换成redis的安装目录,比如/home/iceberg/Program/redis-5.0.13

 第171行:logfile ${redis.home}/single/redis.log(日志路径)

 

 第218行:RDB持久化配置,全部注释掉并加上save ""表示关闭RDB持久化

 #save 900 1(每900秒内有1个key修改则进行持久化)

 #save 300 10(每300秒内有10个key修改则进行持久化)

 #save 60 10000(每60秒内有10000个key修改则进行持久化)

 save ""

 

 #注意:${redis.home}替换成redis的安装目录,比如/home/iceberg/Program/redis-5.0.13

 第263行:dir ${redis.home}/single/

 

 第500行:requirepass foobared(设置redis的密码,注释掉表示不需要)

 

 #注意:如果之前redis已经运行过,需要删除RDB文件dump.rdb!!!具体路径就是第263行的dir目录

 第672行:appendonly yes(开启AOF持久化)

6、在single目录下新建一个文件:touch start.sh并加入以下内容

 #!/bin/sh

 #注意:这个目录是指你实际的redis安装目录,比如/home/iceberg/Program/redis-5.0.13

 cd /home/iceberg/Program/redis-5.0.13

 src/redis-server single/redis.conf &

授予其可执行权限chmod 777 start.sh,运行即可启动

7、关闭redis

不要使用Kill -9的方法强制关闭Redis,不仅是Redis,任何程序都不应该使用这个方式关闭!这会使得程序预设的清理代码不执行!!!

在single目录下新建一个文件:touch stop.sh并加入以下内容

 #!/bin/sh

 #注意:这个目录是指你实际的redis安装目录,比如/home/iceberg/Program/redis-5.0.13

 cd /home/iceberg/Program/redis-5.0.13

 src/redis-cli -p 6379 shutdown

 #如果配置了密码要加上-a 你的密码

 #src/redis-cli -p 6379 -a 123456 shutdown

8、redisson配置(redis客户端配置)

(1)包含密码

{

    "singleServerConfig": {

        "address""redis://127.0.0.1:6379",

        "timeout"5000,

        "password""123456",

        "pingConnectionInterval"2000

    },

    "codec": {

        "class""com.fingard.luna.framework.cache.redis.component.ExtendJsonJacksonCodec"

    },

    "transportMode""NIO"

}

(2)不包含密码

{

    "singleServerConfig": {

        "address""redis://127.0.0.1:6379",

        "timeout": 5000,

        "pingConnectionInterval": 2000

    },

    "codec": {

        "class""com.fingard.luna.framework.cache.redis.component.ExtendJsonJacksonCodec"

    },

    "transportMode""NIO"

}

1.3 部署主从版Redis

1、使用cd命令切换目录到Redis主目录下

2、创建一个文件夹用于存放主从版的数据和配置:mkdir replication

3、进入目录:cd replication

4、创建两个文件夹:mkdir master slave

5、切换到主目录,把配置文件分别拷贝到master和slave,cp redis.conf replication/master/redis.conf、cp redis.conf replication/slave/redis.conf

6、使用你熟悉的编辑器修改redis.conf文件

(1)主redis配置

 第69行:bind 127.0.0.1(注释掉)

 

 第88行:protected-mode no

 

 第92行:port 6379(端口号,主从的端口号必须不一样)

 

 第136行:daemonize yes(后台运行)

 

 第158行:pidfile /var/run/redis_6379.pid(后边的数字改成跟端口号一致)

 

 #注意:${redis.home}替换成redis的安装目录,比如/home/iceberg/Program/redis-5.0.13

 第171行:logfile ${redis.home}/replication/master/redis.log

 

 #注意:${redis.home}替换成redis的安装目录,比如/home/iceberg/Program/redis-5.0.13

 第263行:dir ${redis.home}/replication/master/

 

 #如何设置密码的话,下边两个配置必须同时存在或同时注释掉,且密码必须相同

 第288行:masterauth <master-password>(设置redis的密码,注释掉表示不需要)

 第500行:requirepass foobared(设置redis的密码,注释掉表示不需要)

 

 #注意:如果之前redis已经运行过,需要删除RDB文件dump.rdb!!!具体路径就是第263行的dir目录

 第672行:appendonly yes(开启AOF持久化)

(2)从redis配置

 第69行:bind 127.0.0.1(注释掉)

 

 第88行:protected-mode no

 

 第92行:port 6380(端口号,主从的端口号必须不一样)

 

 第136行:daemonize yes(后台运行)

 

 第158行:pidfile /var/run/redis_6380.pid(后边的数字改成跟端口号一致)

 

 #注意:${redis.home}替换成redis的安装目录,比如/home/iceberg/Program/redis-5.0.13

 第171行:logfile ${redis.home}/replication/slave/redis.log

 

 #注意:${redis.home}替换成redis的安装目录,比如/home/iceberg/Program/redis-5.0.13

 第263行:dir ${redis.home}/replication/slave/

 

 第281行:slaveof <masterip> <masterport>(配置主节点的ip和端口号)

 

 #如何设置密码的话,下边两个配置必须同时存在或同时注释掉,且密码必须相同

 第288行:masterauth <master-password>(设置redis的密码,注释掉表示不需要)

 第500行:requirepass foobared(设置redis的密码,注释掉表示不需要)

 

 #注意:如果之前redis已经运行过,需要删除RDB文件dump.rdb!!!具体路径就是第263行的dir目录

 第672行:appendonly yes(开启AOF持久化)

7、启动和关闭脚本与单机版类似,把目录改成主从对应的目录,配置对端口号即可

8、配置

(1)包含密码

{

   "masterSlaveServersConfig":{

      "readMode":"MASTER",

      "slaveAddresses":[

         "redis://127.0.0.1:6381",

         "redis://127.0.0.1:6380"

      ],

      "masterAddress""redis://127.0.0.1:6379",

      "timeout"5000,

      "password""123456",

      "pingConnectionInterval"2000

   },

    "codec": {

        "class""com.fingard.luna.framework.cache.redis.component.ExtendJsonJacksonCodec"

    },

   "transportMode":"NIO"

}

(2)不包含密码

{

   "masterSlaveServersConfig":{

      "readMode":"MASTER",

      "slaveAddresses":[

         "redis://127.0.0.1:6381",

         "redis://127.0.0.1:6380"

      ],

      "masterAddress""redis://127.0.0.1:6379",

      "timeout"5000,

      "pingConnectionInterval"2000

   },

    "codec": {

        "class""com.fingard.luna.framework.cache.redis.component.ExtendJsonJacksonCodec"

    },

   "transportMode":"NIO"

}

1.4 部署哨兵版Redis

1、使用cd命令切换目录到Redis主目录下

2、创建一个文件夹用于存放哨兵版的数据和配置:mkdir sentinel

3、首先配置好主从节点,并启动(主从的相关配置请参考第三节)

4、创建三个文件夹:mkdir sentinel1 sentinel2 sentinel3

5、复制sentinel.conf到三个文件夹中(注意这里的配置文件不是redis.conf!)

6、sentinel.conf需要修改的地方如下(注意这里的配置文件不是redis.conf!)

(1)sentinel1

#取消注释,允许远程连接

 第17行:protected-mode no

 

 第21行:port 26379(端口号)

 

 #注意:${redis.home}替换成redis的安装目录,比如/home/iceberg/Program/redis-5.0.13

 第50行:dir ${redis.home}/replication/sentinel1/(数据存储目录)

 

 第69行:sentinel monitor mymaster 10.60.44.87 6379 2(配置哨兵监控哪个主节点,mymaster是主节点的别名,2表示主从切换至少需要2台哨兵节点同意,一般为n/2+1,n表示哨兵节点数)

 

 #配置密码,注释掉表示不需要密码

 第71行:sentinel auth-pass mymaster 123456

 

 #额外增加配置

 #后台运行该redis节点

 daemonize yes

 #日志存储路径

 logfile "${redis.home}/sentinel/sentinel1/redis.log"

(2)sentinel2

 #取消注释,允许远程连接

 第17行:protected-mode no

 

 第21行:port 26380(端口号)

 

 #注意:${redis.home}替换成redis的安装目录,比如/home/iceberg/Program/redis-5.0.13

 第50行:dir ${redis.home}/replication/sentinel2/(数据存储目录)

 

 第69行:sentinel monitor mymaster 10.60.44.87 6379 2(配置哨兵监控哪个主节点,mymaster是主节点的别名,2表示主从切换至少需要2台哨兵节点同意,一般为n/2+1,n表示哨兵节点数)

 

 #配置密码,注释掉表示不需要密码

 第71行:sentinel auth-pass mymaster 123456

 

 #额外增加配置

 #后台运行该redis节点

 daemonize yes

 #日志存储路径,${redis.home}替换成redis的安装目录,比如/home/iceberg/Program/redis-5.0.13

 logfile "${redis.home}/replication/sentinel2/redis.log"

(3)sentinel3

 #取消注释,允许远程连接

 第17行:protected-mode no

 

 第21行:port 26381(端口号)

 

 #注意:${redis.home}替换成redis的安装目录,比如/home/iceberg/Program/redis-5.0.13

 第50行:dir ${redis.home}/replication/sentinel3/(数据存储目录)

 

 第69行:sentinel monitor mymaster 10.60.44.87 6379 2(配置哨兵监控哪个主节点,mymaster是主节点的别名,2表示主从切换至少需要2台哨兵节点同意,一般为n/2+1,n表示哨兵节点数)

 

 #配置密码,注释掉表示不需要密码

 第71行:sentinel auth-pass mymaster 123456

 

 #额外增加配置

 #后台运行该redis节点

 daemonize yes

 #日志存储路径,${redis.home}替换成redis的安装目录,比如/home/iceberg/Program/redis-5.0.13

 logfile "${redis.home}/replication/sentinel3/redis.log"

7、在sentinel1文件夹中新建一个文件,touch start.sh,填入以下内容

 #!/bin/sh

 #注意:这个目录是指你实际的redis安装目录

 cd /home/iceberg/Program/redis-5.0.13

 src/redis-sentinel sentinel/sentinel1/sentinel.conf &

授予其可执行权限chmod 777 start.sh,运行即可启动

其他哨兵把sentinel1改成sentinel2或sentinel3即可

8、关闭Redis与单机版类似,把目录改成哨兵对应的目录,配置对端口号即可

9、配置

(1)包含密码的配置

{

   "sentinelServersConfig":{

      "readMode":"MASTER",

      "sentinelAddresses":[

         "redis://127.0.0.1:26379",

         "redis://127.0.0.1:26389"

      ],

      "masterName":"mymaster",

      "password""123456",

      "pingConnectionInterval"2000

   },

   "codec": {

        "class""com.fingard.luna.framework.cache.redis.component.ExtendJsonJacksonCodec"

    },

   "transportMode":"NIO"

}

(2)不包含密码的配置

{

   "sentinelServersConfig":{

      "readMode":"MASTER",

      "sentinelAddresses":[

         "redis://127.0.0.1:26379",

         "redis://127.0.0.1:26389"

      ],

      "masterName":"mymaster",

      "pingConnectionInterval"2000

   },

   "codec": {

        "class""com.fingard.luna.framework.cache.redis.component.ExtendJsonJacksonCodec"

    },

   "transportMode":"NIO"

}

1.5 配置集群版Redis

1、使用cd命令切换目录到Redis主目录下

2、创建一个文件夹用于存放集群版的数据和配置:mkdir cluster

3、新建六个文件夹(Redis集群最少三主三从),mkdir master1 master2 master3 slave1 slave2 slave3 ,并复制redis.conf文件进去(这里假设的是一台机器的情况,如果你是用六台机器部署,就建一个文件夹就好)

5、集群相关配置如下

(1)master1

第69行:bind 127.0.0.1(注释掉)

 

 第88行:protected-mode no

 

 第92行:port 6381(端口号)

 

 第136行:daemonize yes(后台运行)

 

 第158行:pidfile /var/run/redis_6381.pid(后边的数字改成跟端口号一致)

 

 #注意:${redis.home}替换成redis的安装目录,比如/home/iceberg/Program/redis-5.0.13

 第171行:logfile ${redis.home}/cluster/master1/redis.log

 

 #注意:${redis.home}替换成redis的安装目录,比如/home/iceberg/Program/redis-5.0.13

 第263行:dir ${redis.home}/cluster/master1/

 

 #如何设置密码的话,下边两个配置必须同时存在或同时注释掉,且密码必须相同

 第288行:masterauth <master-password>(设置redis的密码,注释掉表示不需要)

 第500行:requirepass foobared(设置redis的密码,注释掉表示不需要)

 

 #注意:如果之前redis已经运行过,需要删除RDB文件dump.rdb!!!具体路径就是第263行的dir目录

 第672行:appendonly yes(开启AOF持久化)

 

 # 开启集群模式

 第814行:cluster-enable yes

 

 #集群内部配置文件

 第822行:cluster-config-file “nodes-6381.conf”

(2)master2

第69行:bind 127.0.0.1(注释掉)

 

 第88行:protected-mode no

 

 第92行:port 6382(端口号,主从的端口号必须不一样)

 

 第136行:daemonize yes(后台运行)

 

 第158行:pidfile /var/run/redis_6382.pid(后边的数字改成跟端口号一致)

 

 #注意:${redis.home}替换成redis的安装目录

 第171行:logfile ${redis.home}/cluster/master2/redis.log

 

 #注意:${redis.home}替换成redis的安装目录

 第263行:dir ${redis.home}/cluster/master2/

 

 #下边两个配置必须同时存在,且密码必须相同

 第288行:masterauth <master-password>(设置redis的密码,注释掉表示不需要)

 第500行:requirepass foobared(设置redis的密码,注释掉表示不需要)

 

 #注意:如果之前redis已经运行过,需要删除RDB文件dump.rdb!!!具体路径就是第263行的dir目录

 第672行:appendonly yes(开启AOF持久化)

 

 # 开启集群模式

 第814行:cluster-enable yes

 

 #集群内部配置文件

 第822行:cluster-config-file “nodes-6382.conf”

(3)master3

 第69行:bind 127.0.0.1(注释掉)

 

 第88行:protected-mode no

 

 第92行:port 6383(端口号,主从的端口号必须不一样)

 

 第136行:daemonize yes(后台运行)

 

 第158行:pidfile /var/run/redis_6383.pid(后边的数字改成跟端口号一致)

 

 #注意:${redis.home}替换成redis的安装目录

 第171行:logfile ${redis.home}/cluster/master3/redis.log

 

 第218行:RDB持久化配置,全部注释掉并加上save ""表示关闭RDB持久化

 #save 900 1(每900秒内有1个key修改则进行持久化)

 #save 300 10(每300秒内有10个key修改则进行持久化)

 #save 60 10000(每60秒内有10000个key修改则进行持久化)

 save ""

 

 #注意:${redis.home}替换成redis的安装目录

 第263行:dir ${redis.home}/cluster/master3/

 

 #下边两个配置必须同时存在,且密码必须相同

 第288行:masterauth <master-password>(设置redis的密码,注释掉表示不需要)

 第500行:requirepass foobared(设置redis的密码,注释掉表示不需要)

 

 #注意:如果之前redis已经运行过,需要删除RDB文件dump.rdb!!!具体路径就是第263行的dir目录

 第672行:appendonly yes(开启AOF持久化)

 

 # 开启集群模式

 第814行:cluster-enable yes

 

 #集群内部配置文件

 第822行:cluster-config-file “nodes-6383.conf”

(4)slave1

第69行:bind 127.0.0.1(注释掉)

第88行:protected-mode no

第92行:port 6391(端口号,主从的端口号必须不一样)

第136行:daemonize yes(后台运行)

第158行:pidfile /var/run/redis_6391.pid(后边的数字改成跟端口号一致)

#注意:${redis.home}替换成redis的安装目录

第171行:logfile ${redis.home}/cluster/slave1/redis.log

#注意:${redis.home}替换成redis的安装目录

第263行:dir ${redis.home}/cluster/slave1/

#下边两个配置必须同时存在,且密码必须相同

第288行:masterauth <master-password>(设置redis的密码,注释掉表示不需要)

第500行:requirepass foobared(设置redis的密码,注释掉表示不需要)

#注意:如果之前redis已经运行过,需要删除RDB文件dump.rdb!!!具体路径就是第263行的dir目录

第672行:appendonly yes(开启AOF持久化)

# 开启集群模式

第814行:cluster-enable yes

#集群内部配置文件

第822行:cluster-config-file “nodes-6391.conf”

(5)slave2

第69行:bind 127.0.0.1(注释掉)

第88行:protected-mode no

第92行:port 6392(端口号,主从的端口号必须不一样)

第136行:daemonize yes(后台运行)

第158行:pidfile /var/run/redis_6392.pid(后边的数字改成跟端口号一致)

#注意:${redis.home}替换成redis的安装目录

第171行:logfile ${redis.home}/cluster/slave2/redis.log

#注意:${redis.home}替换成redis的安装目录

第263行:dir ${redis.home}/cluster/slave2/

#下边两个配置必须同时存在,且密码必须相同

第288行:masterauth <master-password>(设置redis的密码,注释掉表示不需要)

第500行:requirepass foobared(设置redis的密码,注释掉表示不需要)

#注意:如果之前redis已经运行过,需要删除RDB文件dump.rdb!!!具体路径就是第263行的dir目录

第672行:appendonly yes(开启AOF持久化)

# 开启集群模式

第814行:cluster-enable yes

#集群内部配置文件

第822行:cluster-config-file “nodes-6392.conf”

(6)slave3

第69行:bind 127.0.0.1(注释掉)

第88行:protected-mode no

第92行:port 6393(端口号,主从的端口号必须不一样)

第136行:daemonize yes(后台运行)

第158行:pidfile /var/run/redis_6393.pid(后边的数字改成跟端口号一致)

#注意:${redis.home}替换成redis的安装目录

第171行:logfile ${redis.home}/cluster/slave3/redis.log

#注意:${redis.home}替换成redis的安装目录

第263行:dir ${redis.home}/cluster/slave3/

#下边两个配置必须同时存在,且密码必须相同

第288行:masterauth <master-password>(设置redis的密码,注释掉表示不需要)

第500行:requirepass foobared(设置redis的密码,注释掉表示不需要)

#注意:如果之前redis已经运行过,需要删除RDB文件dump.rdb!!!具体路径就是第263行的dir目录

第672行:appendonly yes(开启AOF持久化)

# 开启集群模式

第814行:cluster-enable yes

#集群内部配置文件

第822行:cluster-config-file “nodes-6393.conf”

6、使用单机版的启动脚本将启动上述六个redis实例

7、切换到redis主目录下,执行

#通过-a指定密码

src/redis-cli -a 123456 --cluster create --cluster-replicas 0 10.60.52.134:6381 10.60.52.134:6382 10.60.52.134:6383

输入yes,可以看到如下提示

发现所有16384个槽都分配成功,集群创建完成。

不过此时只有三个主节点,还需要设置一下从节点,这里要记录一下ID和ip:port的对应关系,不要清空了,下一步有用

8、手动添加从节点

我们假设你想要的对应关系是6381(主)-6391(从)、6382(主)-6392(从)、6383(主)-6393(从)

src/redis-cli -a 123456 --cluster add-node --cluster-slave --cluster-master-id cdd3d8faba1cb6a26faba5c2ffcd274b638aa159 10.60.52.134:6391 10.60.52.134:6381

src/redis-cli -a 123456 --cluster add-node --cluster-slave --cluster-master-id faa8847464a78ae58b95c0b2ea895250bd023864 10.60.52.134:6392 10.60.52.134:6382

src/redis-cli -a 123456 --cluster add-node --cluster-slave --cluster-master-id 0b4a8d999b04423a99dfa8d099e77534ecb925a0 10.60.52.134:6393 10.60.52.134:6383

依次执行命令,将从节点添加到集群中,如下图所示:

9、集群完整性检查

集群完整性指所有的槽都必须分配到存活的主节点上,只要16384个槽有一个没有分配给节点则表示集群不完整。我们可以使用check命令检测任意一个节点即可完成检查,输入:

src/redis-cli -a 123456 --cluster check 10.60.52.134:6381

可以看到3主3从,且16384个槽都分配完毕,表示集群完整,如下图所示

10、配置

(1)包含密码的配置

{

    "clusterServersConfig": {

        "readMode""MASTER",

        "nodeAddresses": [

            "redis://10.60.44.57:6371",

            "redis://10.60.44.57:6372",

            "redis://10.60.44.57:6373"

        ],

        "password""123456",

        "pingConnectionInterval"2000

    },

    "codec": {

        "class""com.fingard.luna.framework.cache.redis.component.ExtendJsonJacksonCodec"

    },

    "transportMode""NIO"

}

(2)不包含密码的配置

{

    "clusterServersConfig": {

        "readMode""MASTER",

        "nodeAddresses": [

            "redis://10.60.44.57:6371",

            "redis://10.60.44.57:6372",

            "redis://10.60.44.57:6373"

        ].

        "pingConnectionInterval"2000

    },

    "codec": {

        "class""com.fingard.luna.framework.cache.redis.component.ExtendJsonJacksonCodec"

    },

    "transportMode""NIO"

}

为了方便修改,以上是展开的配置,但是配置在apollo的时候需要压缩一下,可以搜索任意的在线JSON格式化网站进行压缩

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

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

相关文章

【网络知识点】三次握手和四次挥手

文章目录 一、三次握手二、四次挥手 一、三次握手 三次握手的原理如下&#xff1a; 客户端向服务器发送一个SYN&#xff08;同步&#xff09;包&#xff0c;其中包含一个随机生成的初始序列号&#xff08;ISN&#xff09;。 服务器收到SYN包后&#xff0c;会发送一个SYNACK&…

QT设计一个小闹钟

设置一个闹钟&#xff0c;左侧窗口显示当前时间&#xff0c;右侧设置时间&#xff0c;以及控制闹钟的开关&#xff0c;下方显示闹钟响时的提示语。当按启动按钮时&#xff0c;设置时间与闹钟提示语均不可再改变。当点击停止时&#xff0c;关闭闹钟并重新启用设置时间与闹钟提示…

微服务-kubernetes安装

文章目录 一、前言二、kubernetes2.1、Kubernetes (K8S) 是什么2.1.1、主要特性&#xff1a;2.2.2、传统部署方式&#xff1a;2.2.3、虚拟机部署2.2.4容器部署2.2.5什么时候需要 Kubernetes2.2.6、Kubernetes 集群架构 三、kubernetes安装3.1、主节点需要组件3.1.1、设置对应主…

【Eclipse】Project interpreter not specified 新建项目时,错误提示,已解决

目录 0.环境 1&#xff09;问题截图&#xff1a; 2&#xff09;错误发生原因&#xff1a; 1.解决思路 2.具体步骤 0.环境 windows 11 64位&#xff0c;Eclipse 2021-06 1&#xff09;问题截图&#xff1a; 2&#xff09;错误发生原因&#xff1a; 由于我手欠&#xff0c;将…

HTTPS 之fiddler抓包--jmeter请求

一、浅谈HTTPS 我们都知道HTTP并非是安全传输&#xff0c;在HTTPS基础上使用SSL协议进行加密构成的HTTPS协议是相对安全的。目前越来越多的企业选择使用HTTPS协议与用户进行通信&#xff0c;如百度、谷歌等。HTTPS在传输数据之前需要客户端&#xff08;浏览器&#xff09;与服…

【SpringMVC】RESTful风格CRUD实现

目录 一、REST简介 1.1 什么是REST? 1.2 REST风格的优点 1.3 请求方式 二、构建项目 ⭐思路分析 2.1 环境准备 2.1.1 导入相关pom依赖 2.1.2 jdbc.properties&#xff1a;配置文件 2.1.3 配置代码生成器 generatorConfig.xml 2.1.4 spring与mybatis整合的配置文件 s…

三门问题讨论

三门问题讨论 三门问题第一种第二种 三门问题 三门问题&#xff08;Monty Hall problem&#xff09;亦称为蒙提霍尔问题、蒙特霍问题或蒙提霍尔悖论&#xff0c;大致出自美国的电视游戏节目Let’s Make a Deal。问题名字来自该节目的主持人蒙提霍尔&#xff08;Monty Hall&…

LeetCode(力扣)46. 全排列Python

LeetCode46. 全排列 题目链接代码 题目链接 https://leetcode.cn/problems/permutations/ 代码 class Solution:def backtracking(self, nums, result, path, used):if len(path) len(nums):result.append(path[:])for i in range(len(nums)):if used[i]:continuepath.app…

云数据库知识学习——云数据库产品、云数据库系统架构

一、云数据库产品 1.1、云数据库厂商概述 云数据库供应商主要分为三类。 ① 传统的数据库厂商&#xff0c;如 Teradata、Oracle、IBM DB2 和 Microsoft SQL Server 等。 ② 涉足数据库市场的云供应商&#xff0c;如 Amazon、Google、Yahoo!、阿里、百度、腾讯…

Milvus Cloud扩展变更:为向量数据库注入前沿增强功能

在向量数据库的不断变化中,Milvus Cloud已成为一个改变游戏规则的先锋,革新了我们存储、搜索和分析复杂向量数据的方式。通过最新版本的Milvus Cloud2.3.0,引入了一系列重要的增强和修改,为更强大、更高效的向量数据库解决方案铺平了道路。在本文中,我们将深入探讨Milvus …

基因融合与癌症研究gene fusions in cancer

基因融合与癌症研究简历史(截止到2015年) Major discoveries from research on gene fusions and cancer 主要肿瘤亚型涉及的基因融合数量 Number of gene fusions involved in major neoplasia subtypes 恶性疾病中基因融合相关FDA批准药物 FDA-approved drugs targeting…

OpenVINO2023+Win 11配置

&#x1f482; 个人主页:风间琉璃&#x1f91f; 版权: 本文由【风间琉璃】原创、在CSDN首发、需要转载请联系博主&#x1f4ac; 如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)和订阅专栏哦 目录 前言 一、Anaconda 二、OpenVINO 三、PyCharm 前言 OpenVINO™是英特尔…

【数据结构】 七大排序详解(贰)——冒泡排序、快速排序、归并排序

文章目录 ⚽冒泡排序⚾算法步骤&#x1f3a8;算法优化&#x1f94e;代码实现&#xff1a;&#x1f3c0;冒泡排序的特性总结 &#x1f9ed;快速排序⚽算法思路&#x1f4cc;思路一&#xff08;Hoare版&#xff09;&#x1f4cc;思路二&#xff08;挖坑法&#xff09;&#x1f4c…

2023数模A题——定日镜场的优化问题

A题——定日镜场的优化问题 思路&#xff1a;该题主要考察的几何知识和天文学知识&#xff0c;需要不同角度下的镜面和遮挡情况。 资料获取 问题1&#xff1a; 若将吸收塔建于该圆形定日镜场中心&#xff0c;定日镜尺寸均为 6 m6 m&#xff0c;安装高度均为 4 m&#xff0c;且…

波奇学C++:多态

组合和继承 继承是白箱复用(whiter-box-reuse),获得继承类的内部细节 组合是黑盒测试(black-box-reuse),无法得走类的内部实现 class C {// }; //组合 class E { private:C _cc; }; is-a 关系用继承&#xff0c;人-学生&#xff1b;has-a 关系用组合 车-轮胎。 多态&#…

04-MySQL02

1、什么是索引下推&#xff1f; 索引下推&#xff08;index condition pushdown &#xff09;简称ICP&#xff0c;在Mysql5.6的版本上推出&#xff0c;用于优化查询。 需求: 查询users表中 "名字第一个字是张&#xff0c;年龄为10岁的所有记录"。 SELECT * FROM u…

【AWS】实操-保护 Amazon S3 VPC 终端节点通信

文章目录 实验概览目标实验环境任务 1&#xff1a;探索并启动实验环境任务 1.1&#xff1a;探索 Amazon VPC 资源任务 1.2&#xff1a;探索 Amazon EC2 资源任务 1.3&#xff1a;创建 Amazon VPC 终端节点任务 1.4&#xff1a;连接私有 EC2 实例任务 1.5&#xff1a;探索 Amazo…

【最新!七麦下载量analysis参数】逆向分析与Python实现加密算法

文章目录 1. 写在前面2. 请求分析3. 加密分析4. 算法实现 1. 写在前面 之前出过一个关于榜单analysis的分析&#xff0c;有兴趣的可以查看这篇文章&#xff1a;七麦榜单analysis加密分析 最近运营团队那边有同事找到我们&#xff0c;说工作中偶尔需要统计分析一下某APP在一些主…

帆软报表执行sql报SQL command not properly ended

如果你在执行预览SQL时报如下图的错误&#xff1a; 你需要检查一下几点&#xff1a; 1.是否在SQL在有逗号忘记加了 2.是否有括号少了 3.是否在SQL的最后有分号存在&#xff0c;如果有需要去掉&#xff0c;这点是比较坑的&#xff0c;因为SQL最后加分号在oracle数据库中是能够…

普通用户使用spark的client无法更新Ranger策略

普通用户使用spark的client无法更新Ranger策略 报错图片&#xff1a; WARN org.apache.ranger.admin.client.RangerAdminRESTClient: Error getting Roles. secureModetrue, usercaojianxiangUCDIPA.VIATRIS.CC (auth:KERBEROS)&#xff0c;responsef"httpStatusCode&quo…