当前位置: 首页 > news >正文

html5 网站模板 米wordpress插件怎么使用教程

html5 网站模板 米,wordpress插件怎么使用教程,开发一个软件的步骤,交易网站域名集群 槽指派 CLUSTER ADDSLOTS命令的实现 CLUSTER ADDSLOTS命令接受一个或多个槽作为参数#xff0c;并将所有输入的槽指派给接收该命令的节点负责: CLUSTER ADDSLOTS slot [slot ...]CLUSTER ADDSLOTS命令的实现可以用以下伪代码来表示: def CLUSTER_ADDSLOTS(*…集群 槽指派 CLUSTER ADDSLOTS命令的实现 CLUSTER ADDSLOTS命令接受一个或多个槽作为参数并将所有输入的槽指派给接收该命令的节点负责: CLUSTER ADDSLOTS slot [slot ...]CLUSTER ADDSLOTS命令的实现可以用以下伪代码来表示: def CLUSTER_ADDSLOTS(*all_input_slots):# 遍历所有输入槽检查它们是否都是未指派槽for i in all_input_slots:# 如果有哪怕一个槽已经被指派给了某个节点# 那么向客户端返回错误并终止命令执行if clusterState.slots[i] ! null:reply_error()return# 如果所有输入槽都是未指派槽# 那么再次遍历所有输入槽将这些槽指派给当前节点for i in all_input_slots:# 设置clusterState结构的slots数组# 将slots[i]的指针指向代表当前节点的clusterNode结构clusterState.slots[i] clusterState.myself# 访问代表当前节点的clusterNode结构的slots数组# 将数组在索引i上的二进制位设置为1setSlotBit(clusterState.myself.slots, i); 例子 举个例子。如图展示了一个节点的clusterState结构clusterState.slots数组中的所有指针都指向NULL,并且clusterNode.slots数组中的所有二进制位的值都是0这说明当前节点没有被指派任何槽并且集群 中的所有槽都是未指派的。当客户端对如图所示的节点执行命令: CLUSTER ADDSLOTS 1 2将槽1和槽2指派给节点之后节点的clusterState结构将被更新为如图所示的样子: 1.clusterState.slots数组在索引1和索引2上的指针指向了代表当前节点的clusterNode 2.并且clusterNode.slots数组在索引1和索引2上的为止被设置成了1 最后在CLUSTER ADDSLOTS命令执行完毕之后节点会通过发送消息告知集群中的其他节点自己目前正在处理哪些槽 在集群中执行命令 在对数据库中的16384个槽都进行了指派之后集群就会进入上线状态这时客户端就可以向集群中的节点发送数据命令了当客户端向节点发送与数据库键有关的命令时接收命令的节点会计算出命令要处理的数据库键属于哪个槽并检查这个槽是否指派给了自己: 1.如果键所在的槽正好就指派给了当前节点那么节点直接执行这个命令2.如果键所在的槽并没有指派给当前节点那么节点会向客户端返回一个MOVED错误指引客户端转向(redirect)至正确的节点并再次发送之前想要执行的命令如图所示 例子 举个例子。如果在之前提到的由7000、7001、7002三个节点组成的集群中用客户端连上节点7000并发送以下命令那么命令会直接被节点7000执行: 127.0.0.1:7000 SET date 2024-04-10 OK因为键date所在的槽2022正式由节点7000负责处理的。但是如果执行以下命令那么客户端会先被转向至节点7001然后再执行命令 127.0.0.1:7000 SET msg happy new year! - Redirected to slot[6257] located at 127.0.0.1:7001 OK127.0.0.1:7001 GET msg happy new year!这是因为msg所在的槽6257是由节点7001负责处理的而不是由最初接收命令的节点7000负责处理: 1.当客户端第一次向节点7000发送SET命令的时候节点7000会向客户端返回MOVED错误指引客户端转向至节点7001 2.当客户端转向到节点7001之后客户端重新向节点7001发送SET命令这个命令会被节点7001成功执行 计算键属于哪个键 节点使用以下算法来计算给定键key属于哪个槽: def slot_number(key):return CRC16(key) 16383其中CRC16(key)语句用于计算键key的CRC-16校验和而 16383语句则用于计算出一个介于0~16383之间的整数作为键key的槽号。可以使用CLUSTER KEYSLOT 命令可以查看一个给定键属于哪个槽: 127.0.0.1:7000 CLUSTER KEYSLOT date (integer) 2022 127.0.0.1:7000 CLUSTER KEYSLOT msg (integer) 6257 127.0.0.1:7000 CLUSTER KEYSLOT name (integer) 5798 127.0.0.1:7000 CLUSTER KEYSLOT fruits (integer) 14943CLUSTER KEYSLOT命令就是通过调用上面给出的槽分配算法来实现的以下是该命令的伪代码实现: def CLUSTER_KEYSLOT(key): # 计算槽号 slot slot_number(key)# 将槽号返回给客户端 reply_client(slot)判断槽是否由当前节点负责处理。 当节点计算出键所属的槽i之后节点就会检查自己在clusterState.slots数组中的项i判断键所在的槽是否由自己负责: 1.如果clusterState.slots[i]等于clusterState.myself那么说明槽i由当前节点负责节点可以执行客户端发送的命令2.如果clusterState.slots[i]不等于clusterState.myself,那么说明槽i并非由当前节点负责节点会根据clusterState.slots[i]指向的clusterNode结构所记录的节点IP和端口号向客户端返回MOVED错误指引客户端转向至正在处理槽i的节点 例子 举个例子。假设如图所示为节点7000的clusterState结构: 1.当客户端向节点7000发送命令SET date 2024-04-10的时候节点首先计算出键date属于槽2022然后检查得出clusterState.slots[2022]等于clusterState.myself,这说明槽2022正是由节点7000负责 于是节点7000直接执行这个SET命令并将结果返回发送命令的客户端 2.当客户端向节点7000发送命令SET msg happy new year!的时候节点首先计算出键msg属于槽6257,然后检查clusterState.slots[6257]是否等于clusterState.myself,结果发现两者并不相等:这说明槽6257并非 由节点7000负责处理于是节点7000访问clusterState.slots[6257]所指向的clusterNode结构并根据结构中记录的IP地址127.0.0.1和端口号7001,向客户端返回错误MOVED 6257 127.0.0.1:7001,指引节点转向至正在负责处理槽6257的节点7001
http://www.zqtcl.cn/news/540806/

相关文章:

  • 网站后台管理系统模板品牌营销和品牌推广
  • 网站建设的整个流程图wordpress标题去重
  • 网站手机版模板做拼货商城网站
  • wordpress建自己的网站吗c2c网站的特点
  • 建设网站的成本有哪些龙岩做网站哪家最好
  • wordpress 多站点 子目录安徽望江县城乡建设局官方网站
  • 电子政务网站建设的步骤一般为俱乐部logo免费设计在线生成
  • 网站建设尚品男生学计算机哪个专业最吃香
  • app制作网站收费吗重庆网站产品推广
  • 网站开发预算怎么算厦门建站比较好的公司
  • 涡阳网站优化建设工程公司企业文化
  • 曲靖市住房和城乡建设局网站罗湖区网站公司
  • 购物券网站怎么做wordpress+好用插件
  • 商务网站建设的一般流程是什么?南宁seo费用服务
  • 做企业网站需要什么seminar是什么意思
  • 如何把代码放在网站首页教程深圳建网站哪个公
  • 做的网站第二年续费多钱上传到服务器的网站打开是空白
  • 网站建设花多少钱怎样建移动网站
  • 关键词排名优化网站上海有几个区分别叫什么名字
  • php网站开发基础定制自己的软件
  • 私人装修接单网站wordpress热门文章插件
  • 湘潭网站外包公司宁波妇科医生推荐
  • 企业网站建设可以分为几个层次三亚网站定制
  • 手机网站可以做商城吗如何为公司建立网站
  • 淄博建设银行网站怎么做盗号网站手机
  • 网站建设推广的10种方法精美个人网站
  • 西安专业承接网站搭建模板网站聚合页
  • 便宜网站建设加盟推广公司
  • 手机移动端网站怎么做三维建设项目管理网站
  • 如何把网站设为正确建设中广东学校网站建设公司