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重新执行,会影响数据吗的主要内容,如果未能解决你的问题,请参考以下文章