我在不同服务器上部署了Sentinel-3 redis实例,每个服务器上都有3个标记.
现在,我意识到当前的master没有太多内存,所以我在这个特定的服务器上停止了sentinel和redis实例.并在新机器上进行相同的设置.所以,我仍然有相同的部署,3个redis实例和3个哨兵.
问题是,现在哨兵说,主人失败,因为他们认为主人是我删除的服务器.我该怎么做才能告诉哨兵它不需要在循环中包含该服务器.
我有一个内容为:
嗨
欢迎
!Chunk Start
Line 1
Line2
!块开始
线1
线2
线3
!块起始
线1
线2
线3
线1
线2
线3
线4
线5
线1
线2
线3
线4
现在,所有以"!Chunk Start"开头并且在下一个"!Chunk Start"开始之前的所有内容都是一个块,即"!Chunk Start"之间的行,就是一个块.我需要在一行中获取每个块的内容.即:
线1线2线1线2
线3
线1线2线3线1线2线3线4线5线1线2线3线4
我已经这样做了,但我认为应该有更好的方法.我这样做的方式是:
grep -A100 "! Chunk Start" file.txt
其余的逻辑是连接线.但这个A100是我担心的.如果一个块中有超过100行,这将失败.我可能需要用awk/sed来做这件事.请建议.
我是Symfony2的新手,有点困惑.对不起,这个问题听起来很傻.
根据上面链接中的文档,我可以弄清楚的差异是:
对于标记服务:
您需要编写编译器传递,然后为每个服务定义一个标记.
然后编写一个工厂(任何类.这应该被称为工厂吗?),它将从编译器传递中获取所有标记服务的对象.还可以在此处创建一个getter方法,该方法将根据某些条件返回对象.
在使用工厂创建服务的情况下,您只能创建一个服务,并通过调用静态方法将其对象返回给您.
所以,我想,在标记服务中,您可以从众多服务中进行选择,并且在创建逐个服务的情况下,您只能创建单个服务.我认为标记服务已经服务于工厂的目的.为什么我们只能在创建单个对象时才需要工厂服务?可能我在这里有一个误解,但标记服务更好,因为编译器传递是在缓存预热上运行的,标记服务本身存储在那里,所以它会更快.但是,服务也被缓存,因此应该没有太大的区别.但我不确定这种概念化是否正确.
请让我理解两者的概念,让我感到开悟.
linux ×2
awk ×1
grep ×1
php ×1
redis ×1
redis-server ×1
sed ×1
symfony ×1
symfony-2.3 ×1
unix ×1