redis集群的维护(redis-cli --cluster 命令用法)

2023-10-26

目录

前言

1、 --cluster create  创建集群

2、--cluster check  检查集群

3、--cluster info 查看集群

4、--cluster fix  修复集群

5、--cluster rehard 迁移槽位

6、 --cluster rebalance 平衡集群

7、 --cluster  add-node    集群扩容

8、--cluster del-node      集群缩容

9、 --cluster call  在集群中执行命令

10、--cluster set-timeout     整个集群的cluster-node-timeout时间

11、--cluster import          导入输入至集群

12、--cluster backup         备份集群rdb文件


前言

redis-trib.rb是官方提供的Redis Cluster的管理工具,它提供了集群创建、检查、修复、均衡等命令行工具。Redis Cluster 在5.0之后取消了ruby脚本的支持,而是直接集合到redis-cli里,避免了再安装ruby的相关环境。

[root@localhost bin]# ./redis-cli --cluster help
Cluster Manager Commands:
  create         host1:port1 ... hostN:portN
                 --cluster-replicas <arg>
  check          host:port
                 --cluster-search-multiple-owners
  info           host:port
  fix            host:port
                 --cluster-search-multiple-owners
                 --cluster-fix-with-unreachable-masters
  reshard        host:port
                 --cluster-from <arg>
                 --cluster-to <arg>
                 --cluster-slots <arg>
                 --cluster-yes
                 --cluster-timeout <arg>
                 --cluster-pipeline <arg>
                 --cluster-replace
  rebalance      host:port
                 --cluster-weight <node1=w1...nodeN=wN>
                 --cluster-use-empty-masters
                 --cluster-timeout <arg>
                 --cluster-simulate
                 --cluster-pipeline <arg>
                 --cluster-threshold <arg>
                 --cluster-replace
  add-node       new_host:new_port existing_host:existing_port
                 --cluster-slave
                 --cluster-master-id <arg>
  del-node       host:port node_id
  call           host:port command arg arg .. arg
                 --cluster-only-masters
                 --cluster-only-replicas
  set-timeout    host:port milliseconds
  import         host:port
                 --cluster-from <arg>
                 --cluster-from-user <arg>
                 --cluster-from-pass <arg>
                 --cluster-from-askpass
                 --cluster-copy
                 --cluster-replace
  backup         host:port backup_directory
  help           

For check, fix, reshard, del-node, set-timeout you can specify the host and port of any working node in the cluster.

Cluster Manager Options:
  --cluster-yes  Automatic yes to cluster commands prompts

下面我们来详细的说下各命令的用法和作用:

1、 --cluster create  创建集群

create         host1:port1 ... hostN:portN
                 --cluster-replicas <arg>

该命令用来创建集群,假设我现在想搭建三主三从的集群127.0.0.1:7001~7006

启动所有节点后,可通过如下命令进行搭建:

redis-cli --cluster create 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006 --cluster-replicas 1

--cluster-replicas 1 :表示每个主节点需要1个从节点。这里随机分配主从关系,如果需要定制,则可以不加该参数,使用add-node来定制,查看第7节

2、--cluster check  检查集群

check          host:port
                 --cluster-search-multiple-owners #检查是否有槽同时被分配给了多个节点

该命令经常使用,需要拥有槽位的所有节点为启动状态,用于检查集群状态是否正常,只有当所有的槽位正常时,集群状态才OK

3、--cluster info 查看集群

用于查看集群的简易信息

4、--cluster fix  修复集群

fix            host:port
                 --cluster-search-multiple-owners    
                 --cluster-fix-with-unreachable-masters  

该命令十分有用,说明如下:

 --cluster-search-multiple-owners : 是否修复多个拥有者的槽位。当集群中的槽位在迁移过程中,出现意外时,使用fix可使用该参数。fix功能,redis内部在槽位的某些异常情况下会交互式的询问操作者是否同意它的修复策略,一般情况下,默认即可。

 --cluster-fix-with-unreachable-masters : 是否修复不可达的主节点上的槽位。例如,集群中某个主节点就是坏掉了,也没有故障转移成功。此时如何恢复该主节点上的所有槽位呢,这时就可以使用该参数,会将处于该主节点上的所有槽位恢复到存活的主节点上(之前的数据会丢失,仅仅是恢复了槽位)。

5、--cluster rehard 迁移槽位

reshard        host:port
                 --cluster-from <arg>   #槽位来源的节点运行id,多个用,分割,all表示全部节点
                 --cluster-to <arg>       #目标节点的运行id,只允一个
                 --cluster-slots <arg>   #迁移的槽位数
                 --cluster-yes               #是否默认同意集群内部的迁移计划(默认同意就可以)
                 --cluster-timeout <arg>   #迁移命令(migrate)的超时时间
                 --cluster-pipeline <arg>  #迁移key时,一次取出 的key数量,默认10
                 --cluster-replace           #是否直接replace到目标节点

迁移一个或者多个(--cluster-from)节点上的--cluster-slots个槽位至一个目标节点(--cluster-to)上。

 --cluster-from 的值不为all的情况下, --cluster-from不能包含--cluster-to

可以使用如下命令查看整个集群中的所有运行id

[root@localhost bin]# ./redis-cli -h 192.168.84.1 -p 7001 cluster nodes
8ae862c1815ff89e49d6c8801ea0cb074e82855c 192.168.84.1:7006@17006 slave 222df2165b7b9dba291cfa572d472ad292637873 0 1694427906290 3 connected
f6df82f6c67fbe83049d6f95a8473221afee2ee6 192.168.84.1:7004@17004 slave 30c69d9e408015082c1a2145875cd1ec0c7a41ea 0 1694427905000 1 connected
222df2165b7b9dba291cfa572d472ad292637873 192.168.84.1:7003@17003 master - 0 1694427904000 3 connected 10923-16383
4cdc4c8127dc5ea8d15a239fa6c2f3c09b0d5f3a 192.168.84.1:7005@17005 slave 10a4381d9869e293cad95bf75482f506de9f43fe 0 1694427905255 2 connected
30c69d9e408015082c1a2145875cd1ec0c7a41ea 192.168.84.1:7001@17001 myself,master - 0 1694427902000 1 connected 0-5460
10a4381d9869e293cad95bf75482f506de9f43fe 192.168.84.1:7002@17002 master - 0 1694427902000 2 connected 5461-10922

通过集群的配置文件查看也可以

6、 --cluster rebalance 平衡集群

rebalance      host:port
                 --cluster-weight <node1=w1...nodeN=wN>
                 --cluster-use-empty-masters
                 --cluster-timeout <arg>     #迁移命令(migrate)的超时时间
                 --cluster-simulate              # 模拟rebalance操作,不会真正执行迁移操作
                 --cluster-pipeline <arg>    #定义 getkeysinslot命令一次取出的key数量,默认值为10
                 --cluster-threshold <arg>
                 --cluster-replace               #是否直接replace到目标节点

--cluster-weight: 槽位权重(浮点型)比值,例如(这里使用端口号代替运行id): 7001=1.0,7002=1.0,7003=2.0 则表示,总权重为4.0, 7001和7002将分配到 (16384/4)*1  个槽位,7003则是(16384/4)*2个槽位。

 --cluster-threshold: 平衡触发的阈值条件,默认为2.00%。例如上一步,7001和7002应该有4096个槽位,如果7001的槽位数不够4096个,且超过 (4096*0.02 约等于)82个及以上;或者7001的槽位数比4096少于82个及以上,则会触发自平衡。

7、 --cluster  add-node    集群扩容

add-node    new_host:new_port                  #新加入集群的ip和port

                existing_host:existing_port          #集群中任一节点的ip和port
                 --cluster-slave                             #新节点作为从节点,默认随机一个主节点
                 --cluster-master-id <arg>            #给新节点指定主节点,值为节点的运行id

可用于向集群中添加主、从节点(即扩容)

假设我现在集群中有7001 7002 7003三个主节点了,想为7001添加一个从节点127.0.0.1:7006,则可执行如下命令:

redis-cli --cluster add-node 127.0.0.1:7006 127.0.0.1:7001  --cluster-slave --cluster-master-id 30c69d9e408015082c1a2145875cd1ec0c7a41ea

 不传入--cluster-slave --cluster-master-id 参数,表示添加一个主节点。

当添加的是一个主节点时,此时,该主节点没有任何槽位,可以使用rebalance或者reshard来迁移槽位给它。

8、--cluster del-node      集群缩容

del-node    host:port node_id         #删除给定的一个节点,成功后关闭该节点服务

也就是缩容。

删除一个主节点要求先迁移走改主节点上的槽位(数据),这时就可以使用reshard命令了。

[root@localhost bin]# ./redis-cli --cluster del-node 192.168.84.1:7002 10a4381d9869e293cad95bf75482f506de9f43fe
>>> Removing node 10a4381d9869e293cad95bf75482f506de9f43fe from cluster 192.168.84.1:7002
[ERR] Node 192.168.84.1:7002 is not empty! Reshard data away and try again.

9、 --cluster call  在集群中执行命令

call           host:port command arg arg .. arg               #在集群的所有节点执行相关命令
                 --cluster-only-masters                                #是否只在主节点上执行
                 --cluster-only-replicas                                #是否只在从节点上执行

10、--cluster set-timeout     整个集群的cluster-node-timeout时间

        set-timeout    host:port milliseconds

设置整个集群的cluster-node-timeout时间

11、--cluster import          导入输入至集群

import         host:port
                 --cluster-from <arg>
                 --cluster-from-user <arg>
                 --cluster-from-pass <arg>
                 --cluster-from-askpass
                 --cluster-copy               #migrate时指定类型为copy
                 --cluster-replace           #migrate时指定类型为replace

将外部redis的数据导入集群 

redis-cli --cluster import 127.0.01:6379 --cluster-from 127.0.0.2:6379 --cluster-replace --cluster-copy

说明:外部Redis实例(127.0.0.2:6379)导入到集群中的任意一节点,倒入之后,原来集群的key变为空,导入到新集群的key会自动分片到各个mater节点的slot

--cluster-replace 如果集群(127.0.01:6379)中存在外部redis实例(127.0.0.2:6379)的key,则会覆盖掉(10.35.2.68:6379)的value

--cluster-copy 默认情况下,import 命令在向集群导入数据的同时,还会删除单机服务器中源数据。如果用户想要保留单机服务器中的数据,那么可以在执行命令的同时给定 –cluster-copy 选项 

该命令将正在运行的实例的所有键(从源实例中删除键)移动到指定的预先存在的 Redis 集群。

实际项目上,数据导入应该用redis-shake工具的比较多。

12、--cluster backup         备份集群rdb文件

backup         host:port backup_directory    

备份主节点上的数据值RDB文件

[root@localhost bin]# mkdir backup
[root@localhost bin]# ./redis-cli --cluster backup 192.168.84.1:7001  ./backup
>>> Performing Cluster Check (using node 192.168.84.1:7001)
M: 30c69d9e408015082c1a2145875cd1ec0c7a41ea 192.168.84.1:7001
   slots:[0-5460] (5461 slots) master
   1 additional replica(s)
S: 8ae862c1815ff89e49d6c8801ea0cb074e82855c 192.168.84.1:7006
   slots: (0 slots) slave
   replicates 222df2165b7b9dba291cfa572d472ad292637873
S: f6df82f6c67fbe83049d6f95a8473221afee2ee6 192.168.84.1:7004
   slots: (0 slots) slave
   replicates 30c69d9e408015082c1a2145875cd1ec0c7a41ea
M: 222df2165b7b9dba291cfa572d472ad292637873 192.168.84.1:7003
   slots:[10923-16383] (5461 slots) master
   1 additional replica(s)
S: 4cdc4c8127dc5ea8d15a239fa6c2f3c09b0d5f3a 192.168.84.1:7005
   slots: (0 slots) slave
   replicates 10a4381d9869e293cad95bf75482f506de9f43fe
M: 10a4381d9869e293cad95bf75482f506de9f43fe 192.168.84.1:7002
   slots:[5461-10922] (5462 slots) master
   1 additional replica(s)
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
>>> Node 192.168.84.1:7001 -> Saving RDB...
SYNC sent to master, writing 232 bytes to './backup/redis-node-192.168.84.1-7001-30c69d9e408015082c1a2145875cd1ec0c7a41ea.rdb'
Transfer finished with success.
>>> Node 192.168.84.1:7003 -> Saving RDB...
SYNC sent to master, writing 226 bytes to './backup/redis-node-192.168.84.1-7003-222df2165b7b9dba291cfa572d472ad292637873.rdb'
Transfer finished with success.
>>> Node 192.168.84.1:7002 -> Saving RDB...
SYNC sent to master, writing 206 bytes to './backup/redis-node-192.168.84.1-7002-10a4381d9869e293cad95bf75482f506de9f43fe.rdb'
Transfer finished with success.
Saving cluster configuration to: ./backup/nodes.json
[OK] Backup created into: ./backup

nodes.json保存的是集群结构:

[root@localhost bin]# cat nodes.json 
[
  {
    "name": "30c69d9e408015082c1a2145875cd1ec0c7a41ea",
    "host": "192.168.84.1",
    "port": 7001,
    "replicate": null,
    "slots": [[0,5460]],
    "slots_count": 5461,
    "flags": "master",
    "current_epoch": 1
  },
  {
    "name": "8ae862c1815ff89e49d6c8801ea0cb074e82855c",
    "host": "192.168.84.1",
    "port": 7006,
    "replicate": "222df2165b7b9dba291cfa572d472ad292637873",
    "slots": [],
    "slots_count": 0,
    "flags": "slave",
    "current_epoch": 3
  },
  {
    "name": "f6df82f6c67fbe83049d6f95a8473221afee2ee6",
    "host": "192.168.84.1",
    "port": 7004,
    "replicate": "30c69d9e408015082c1a2145875cd1ec0c7a41ea",
    "slots": [],
    "slots_count": 0,
    "flags": "slave",
    "current_epoch": 1
  },
  {
    "name": "222df2165b7b9dba291cfa572d472ad292637873",
    "host": "192.168.84.1",
    "port": 7003,
    "replicate": null,
    "slots": [[10923,16383]],
    "slots_count": 5461,
    "flags": "master",
    "current_epoch": 3
  },
  {
    "name": "4cdc4c8127dc5ea8d15a239fa6c2f3c09b0d5f3a",
    "host": "192.168.84.1",
    "port": 7005,
    "replicate": "10a4381d9869e293cad95bf75482f506de9f43fe",
    "slots": [],
    "slots_count": 0,
    "flags": "slave",
    "current_epoch": 2
  },
  {
    "name": "10a4381d9869e293cad95bf75482f506de9f43fe",
    "host": "192.168.84.1",
    "port": 7002,
    "replicate": null,
    "slots": [[5461,10922]],
    "slots_count": 5462,
    "flags": "master",
    "current_epoch": 2
  }
]

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

redis集群的维护(redis-cli --cluster 命令用法) 的相关文章

  • 如何在多个Lua State(多线程)之间传递数据?

    我在中启动Redis连接池redis lua 通过从 C 调用 我得到了redis lua state 此 Lua 状态全局启动一次 仅在其他线程中启动get从中 当有一个 HTTP 请求 工作线程 时 我需要从redis lua stat
  • 如何在节点redis客户端上设置读取超时?

    在 github 上我没有看到读取超时的选项 https github com NodeRedis node redis https github com NodeRedis node redis There s connect timeo
  • 如何测试我的 Redis 缓存是否正常工作?

    我已经安装了 django redis cache 和 redis py 我遵循了 Django 的缓存文档 据我所知 以下设置就是我所需要的 但我如何判断它是否正常工作 设置 py CACHES default BACKEND redis
  • 使用 Redis 命令 incr 和 expire 时的竞争条件

    根据redis文档 http redis io commands incr http redis io commands incr 在段落模式 速率限制器 2 较短的版本代码 value INCR ip IF value 1 THEN EX
  • Redis Docker compose无法处理RDB格式版本10

    我无法在 docker compose 文件中启动 redis 容器 我知道docker compose文件没问题 因为我的同事可以成功启动项目 我读到有一个删除 dump rdb 文件的解决方案 但我找不到它 我使用Windows机器 任
  • 如何在Redis中从hmset()切换到hset()?

    我收到弃用警告 即 Redis hmset 已弃用 请改用 Redis hset 但是 hset 采用第三个参数 我不知道是什么name应该是 info users 10 timestamp datetime utcnow strftime
  • 使用 Sentinels 升级 Redis 的最佳实践?

    我有 3 个 Redis 节点 由 3 个哨兵监视 我进行了搜索 文档似乎不清楚如何最好地升级此类配置 我目前使用的是 3 0 6 版本 我想升级到最新的 5 0 5 我对这方面的程序有几个疑问 升级两个大版本可以吗 我在我们的暂存环境中执
  • redis - 使用哈希

    我正在使用 redis 为我的 Web 应用程序实现社交流和通知系统 我是 redis 的新手 我对哈希值及其效率有一些疑问 我读过这篇很棒的文章Instagram 帖子 http instagram engineering tumblr
  • 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 作为后台进程持续
  • Redis+Docker+Django - 错误 111 连接被拒绝

    我正在尝试使用 Redis 作为使用 Docker Compose 的 Django 项目的 Celery 代理 我无法弄清楚我到底做错了什么 但尽管控制台日志消息告诉我 Redis 正在运行并接受连接 事实上 当我这样做时 docker
  • 如何将“.csv”数据文件导入Redis数据库

    如何将 csv 数据文件导入 Redis 数据库 csv 文件中包含 id 时间 纬度 经度 列 您能否向我建议导入 CSV 文件并能够执行空间查询的最佳方法 这是一个非常广泛的问题 因为我们不知道您想要什么数据结构 您期望什么查询等等 为
  • 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
  • 将文件传递给活动作业/后台作业

    我通过标准文件输入接收请求参数中的文件 def create file params file upload Upload create file file filename img png end 但是 对于大型上传 我想在后台作业中执行
  • 没有适用于机器人的 Laravel 会话

    我在大型 Laravel 项目和 Redis 存储方面遇到问题 我们将会话存储在 Redis 中 我们已经有 28GB 的 RAM 然而 它的运行速度仍然相对较快 达到了极限 因为我们有来自搜索引擎机器人的大量点击 每天超过 250 000
  • 集合成员的 TTL

    Redis 是否可以不为特定键而是为集合的成员设置 TTL 生存时间 我正在使用 Redis 文档提出的标签结构 数据是简单的键值对 标签是包含与每个标签对应的键的集合 例如 gt SETEX id id 1 100 Lorem ipsum

随机推荐

  • 改进的PSO-BP算法在工业机器人末端位姿误差补偿中的应用

    摘要 提出了一种全梯度标准粒子群优化反馈 FGSPSO BP 神经网络的工业机器人末端位姿补偿模型 首先 提出一种运动学逆变换算法 通过机器人末端位姿对机器人各关节角度值进行计算 并采用Matlab验证了运动学逆变换算法的准确性 然后 提出
  • VS2019打包WPF安装程序最新教程

    VS2019打包WPF安装程序最新教程 使用Visual Studio 2019开发的WPF程序如果想要打包为安装程序 除了在VS2019找到WPF项目类库直接右键发布之外 更常用的还是将其打包为exe或者msi的安装程序 打包成安装程序的
  • 2022电赛小车开源代码讲解开源

    2022电赛小车我认为有主要是几个主要的问题 我将分这几个部分来讲解 目录 一 循迹 二 蓝牙通信 双车数据传输 三 起始路口的识别 四 分叉路口的识别 五 源码 2022电赛 双车稳定行驶 哔哩哔哩 bilibili 一 循迹 循迹我们组
  • 自定义yaml文件调整pandoc和pandoc-crossref将markdown转word过程中公式行距

    markdown借助pandoc和pandoc crossref将写好的学术论文导出成word时 公式为OMML格式 这个格式可以通过word中的mathtype插件批量转换 但是公式的基准为正文 如果正文文本的段落格式为固定值20磅 比较
  • 使用Java生成全部数独(Sudoku)布局

    b 引言 b 数独相信很多人都玩过 趣味性很强 十分的耐玩 可有没有程序员想过玩实现一个数独布局的算法呢 算法是个很有意思 很神奇的东西 我第一次接触算法是刚学C的时候 写DOS下的挖雷程序 当时还是WIN32 C的编译器还是TC3 0 当
  • Python基础篇(十一):装饰器

    装饰器 前言 1 装饰器的定义 2 装饰器的应用 3 装饰器的语法 4 func args kwargs 前言 装饰器是Python中一种强大的函数或类修饰机制 用于在不修改原始函数或类代码的情况下 对其进行功能扩展或修改 装饰器基于函数式
  • python基础学完还要学什么_Python学完基础语法后,再往后应该学什么?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 第一阶段 Python语言及应用 课程内容 Python语言基础 面向对象设计 多线程编程 数据库交互技术 前端特效 Web框架 爬虫框架 网络编程 掌握技能 1 掌握Python语言语法及面向
  • 教程资源(持续更新中)

    https www liwenzhou com posts Go golang menu 下面这个也很牛逼 the way to go ZH CN directory md at master piexlmax the way to go
  • 数据结构与算法 ---- 线性表 及Java实现 顺序表、链表、栈、队列

    数据结构与算法是程序设计的两大基础 大型的IT企业面试时也会出数据结构和算法的题目 它可以说明你是否有良好的逻辑思维 如果你具备良好的逻辑思维 即使技术存在某些缺陷 面试公司也会认为你很有培养价值 至少在一段时间之后 技术可以很快得到提高
  • 散列表(hash表)的基本原理以及hash冲突(碰撞)

    散列表为什么诞生 它用于做什么 先说说数组 数组的优点是查找比较快 但是添加和删除效率比较低 再说说链表 链表的优点是添加和删除效率比较快 相对于数组 但是遍历需要一个指针从头节点往后找 两者都各有优点和缺点 那么有没有一种方法 既可以添加
  • MAC(m1)-VMWare Fusion CentOS8设置静态IP、SSH连接

    在使用虚拟机的时候 默认情况下使用的DHCP协议 根据网段自动分配ip 分配的动态IP地址 使得每次打开虚拟机后当前的IP地址都会发生变化 这样不方便管理 为了能够给当前虚拟机设置 一个静态IP地址 方便后期使用XShell连接工具进行连接
  • 打造属于自己的正则表达式

    概述 首先需要说明的一点 无论是Winform 还是Webform 都有很成熟的日历控件 无论从易用性还是可扩展性上看 日期的选择和校验还是用日历控件来实现比较好 前几天在CSDN多个版块看到需要日期正则的帖子 所以整理了这篇文章 和大家一
  • 【windows无法自动将IP协议堆栈绑定到网络适配器的一种解决办法】

    今天打开笔记本发现没网了 能够连上WiFi但无法连接到互联网 以太网能够检测到网线插入 但同样无法连接到互联网 使用windows自带的疑难解答进行检测结果为网络适配器的驱动程序可能出现问题 以管理员身份进行修复也失败 查看详情提示wind
  • linux命令之sh的用法

    shell简介 sh命令就是shell 而我们知道shell的作用是什么 shell就是用来解释linux命令的 我们输入命令 指示linux帮我们做什么 而linux本身是看不懂我们输入的命令的 它只认识01 而事实显然不是如此 那么在用
  • vcs import src < ros2.repos失败

    网上找到的ros安装教程 但是运行到下面几部的时候出现了问题 1 mkdir p ros2 ws src 2 cd ros2 ws 3 wget https raw githubusercontent com ros2 ros2 dashi
  • 大Sql文件使用cmd命令执行

    sqlcmd S 127 0 0 1 U sa P 123 d tcd test1217 i E fap sql 键入 sqlcmd S 127 0 0 1 U sa P 000000 d DataBaseName i sqlfileNam
  • 读书笔记 - Direct93D游戏程序设计入门

    这本书是directx入门很好的教材 门槛低 可以了解directx很多基本的东西 可以作为跳板 看完以后去学习更高级的东西 比如directx自带的sample 以前看过这本书 现在再看一遍 主要目的是熟悉dx基本绘制知识 书中主要包含到
  • 2012-04-26 14:42 PROFILE各种选项

    2012 04 26 14 42 PROFILE各种选项 1 用户创建语句选项 引发的血案 如果大家细心的话 在创建用户的语法中有这么一个选项 PROFILE profile 下面是 11gR2官方文档中关于创建用户的语法描述 较之的文档可
  • 漏洞补丁:漏洞命名(CVE和CNNVD)及补丁查找

    摘要 以前一个项目 最近收到一份脆弱性分析报告 漏洞报告 通过这份报告小技能 1 记录一下报告中几个重要编号说明和如何下载对应的补丁文件 一 名称介绍 截图为报告的部分内容 里面包含了编号 描述 解决地址 这里对 CVE编号 CVSS分值
  • redis集群的维护(redis-cli --cluster 命令用法)

    目录 前言 1 cluster create 创建集群 2 cluster check 检查集群 3 cluster info 查看集群 4 cluster fix 修复集群 5 cluster rehard 迁移槽位 6 cluster