rediscluster重新执行,会影响数据吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rediscluster重新执行,会影响数据吗相关的知识,希望对你有一定的参考价值。

参考技术A 就看你redis是以主从服务器的主服务还是从服务器模式载入持久化文件RDB的
如果服务器以主服务器模式进行,那么在载入RDB文件时,程序会对文件保存的健进行检查,未过期的会被载入到数据库中,而过期的则会被忽略,所以过期健对载入RDB文件的主服务不会造成影响。
如果是从服务器,就全部载入所有的键。
执行在任意一个客户端下执行 cluster nodes 命令,可以看到7007 已经作为主节点添加到我们的集群中了,但是可以看到他没有分配哈希槽,没有分配哈希槽的话表示就没有存储数据的能力,所以我们需要将其他节点上的哈希槽分配到这个节点上。

类中 PHP 公共函数的顺序会影响其执行吗?

【中文标题】类中 PHP 公共函数的顺序会影响其执行吗?【英文标题】:Does the order of PHP public functions in a class affect its execution? 【发布时间】:2011-03-27 18:14:52 【问题描述】:

我一直在关注这个Symfony 教程。在某些部分中,它只是告诉我在 class 中添加一个 public function,但它没有说明我应该在课程的开头还是结尾添加它。

例如:

/**
 * JobeetCategory
 *
 * This class has been auto-generated by the Doctrine ORM Framework
 *
 * @package    jobeet
 * @subpackage model
 * @author     Your name here
 * @version    SVN: $Id: Builder.php 7490 2010-03-29 19:53:27Z jwage $
 */
class JobeetCategory extends BaseJobeetCategory

  public function countActiveJobs()
  
    $q = Doctrine_Query::create()
      ->from('JobeetJob j')
      ->where('j.category_id = ?', $this->getId());

    return Doctrine_Core::getTable('JobeetJob')->countActiveJobs($q);
  

  public function getSlug()
  
    return Jobeet::slugify($this->getName());
  

  public function getActiveJobs($max = 10)
  
    $q = Doctrine_Query::create()
      ->from('JobeetJob j')
      ->where('j.category_id = ?', $this->getId())
      ->limit($max);

    return Doctrine_Core::getTable('JobeetJob')->getActiveJobs($q);
  

getActiveJObs public 函数是教程中第一个显示的函数,countActiveJobs 是我根据教程添加的最后一个函数。

类中公共函数的顺序重要吗?

【问题讨论】:

【参考方案1】:

这是一个有很多答案和个人喜好的问题 :-) 从技术上讲可能无关紧要,但它确实很重要。

这里有一个关于结构的建议。想象一下,您是第一次上课。也许您正在调用它的公共方法来执行某些任务,现在您想了解更多关于它的信息。从顶部的公共变量和函数开始似乎很自然。从抽象的角度考虑它。更高级别的抽象在类中处于较高位置。你越往下走,抽象的层次就越低。因此,从顶部的公共函数开始,您最终会在底部得到一堆私有函数。这将提高可读性。

同时我们希望其他函数调用的函数是关闭的,所以第一次调用函数时,把它放在调用函数的正下方。

有些练习将实例变量放在使用它的函数的正上方,但这会使类更难阅读。特别是,如果有多个函数使用同一个实例变量,你不会知道去看。通常,将所有常量和实例变量放在顶部。

那么我们最终应该是这样的:

class MyClass

    const MY_CONSTANT_ONE
    const MY_CONSTANT_TWO

    public $myPublicVariableONe
    public $myPublicVariableTwo
    protected $_myProtectedVariableOne
    private $_myPrivateVariableOne
    private $_myPrivateVariableTwo

    public function DoSomeOfficialStuff()
    
        $this->_myNicePrivateMethodOne();
    

    private myNicePrivateMethodOne()
    

    public function returnSomeOfficialStuff()
    
        $this->_myNicePrivateMethodTwo();
    

    myNicePrivateMethodTwo()
    

【讨论】:

【参考方案2】:

答案没有。这些函数将在其他地方调用,而不是从上到下执行。 countActiveJobs 是在类的顶部还是底部没有任何区别。

【讨论】:

【参考方案3】:

类中公共函数的顺序重要吗?

不,它没有。班级作为一个整体进行评估;方法的顺序不相关。

所以虽然它没有任何约束力,但我遇到的最常见的顺序,也是我最喜欢的排序方法是,是

class ClassName 
 

  - Variable definitions

  - Class constants

  - Constructor 

  - Public methods

  - Destructor (if needed)

  - Magic functions (if needed)

  - Private / helper methods

  

【讨论】:

@Pekka 好的,但是根据您的经验,为了避免混乱和组织起来,将新的公共功能放在顶部还是底部更好? @jano 啊,您的意思是在公共方法列表中。嗯,如果您不按功能分组,我会说到底。但是,将所有“Jobs”方法和所有“Slug”方法等紧密地组合在一起可能是有意义的。 为什么不按字母顺序? @Gumbo 在这种情况下 IMO 并没有真正的意义 - getActiveJobs() 可能在某一天伴随着 DeleteJob()CopyJobs(),它们很可能应该被分组。 就个人而言,我更喜欢魔术方法高于公共方法,析构函数在构造函数的正下方……我也先折腾静态变量,将静态函数放在构造函数之上。这都是个人喜好。 +1

以上是关于rediscluster重新执行,会影响数据吗的主要内容,如果未能解决你的问题,请参考以下文章

一个页面加载多js 影响性能吗

Redis主从结构主节点执行写入后wait命令对性能的影响

sleep() 会影响 pthread 执行吗?

gbase删除数据节点会影响数据吗

Meteor.call 会影响乐观 UI 吗?

当 React 功能组件重新渲染时,它会重新分配分配的值和功能吗?