acl  3.5.3.0
acl::redis_node类 参考

#include <redis_node.hpp>

+ 类 acl::redis_node 继承关系图:
+ acl::redis_node 的协作图:

Public 成员函数

 redis_node (void)
 
 ~redis_node (void)
 
redis_nodeset_id (const char *id)
 
redis_nodeset_addr (const char *addr)
 
redis_nodeset_type (const char *type)
 
redis_nodeset_myself (bool yesno)
 
redis_nodeset_master (const redis_node *master)
 
redis_nodeset_handshaking (bool yesno)
 
redis_nodeset_connected (bool yesno)
 
redis_nodeset_master_id (const char *id)
 
bool add_slave (redis_node *slave)
 
redis_noderemove_slave (const char *id)
 
void clear_slaves (bool free_all=false)
 
void add_slot_range (size_t min, size_t max)
 
const std::vector< std::pair< size_t, size_t > > & get_slots () const
 
const char * get_type () const
 
bool is_myself () const
 
bool is_handshaking () const
 
bool is_connected () const
 
const redis_nodeget_master () const
 
const char * get_master_id () const
 
const std::vector< redis_node * > * get_slaves () const
 
bool is_master () const
 
const char * get_id () const
 
const char * get_addr () const
 
const char * get_addr_info () const
 

额外继承的成员函数

- Protected 成员函数 继承自 acl::acl::noncopyable
 noncopyable ()
 
 ~noncopyable ()
 

详细描述

该类主要用于 redis_cluster 命令类获取有关集群 redis 结点信息 this class is mainly used for redis_cluster command class to get some information about the nodes in redis cluster

在文件 redis_node.hpp18 行定义.

构造及析构函数说明

◆ redis_node()

acl::redis_node::redis_node ( void  )

当使用此构造函数实例化类对象时,需要调用 set_id 和 set_addr 方法设置 该 redis 结点的唯一标识符及服务监听地址,同时还可调用其它的 set_xxx 设置方法

◆ ~redis_node()

acl::redis_node::~redis_node ( void  )

成员函数说明

◆ add_slave()

bool acl::redis_node::add_slave ( redis_node slave)

当本结点为主结点时,添加一个从结点 add one slave node to the current node if it's one master node

返回
{bool} 添加是否成功,当从结点已经存在于当前主结点时则返回 false false will be returned when the slave to be added is already existing in the current master node

◆ add_slot_range()

void acl::redis_node::add_slot_range ( size_t  min,
size_t  max 
)

当本结点为主结点时,添加哈希槽范围 add hash-slots range to the master node

参数
min{size_t} 哈希槽范围的起始值 the begin hash-slot of the slots range
max{size_t} 哈希槽范围的结束值 the end hash-slot of the slots range

◆ clear_slaves()

void acl::redis_node::clear_slaves ( bool  free_all = false)

当本结点为主结点时,清空本结点的所有从结点 clear all the slave nodes in the current master node

参数
free_all{bool} 是否需要同时释放这些从结点 if freeing the all slave nodes memory meanwhile

◆ get_addr()

const char* acl::redis_node::get_addr ( ) const
inline

获得当前结点的监听地址 get the listening addr of the current node, set in constructor @reutrn {const char*}

在文件 redis_node.hpp237 行定义.

238  {
239  return addr_.c_str();
240  }
char * c_str() const

◆ get_addr_info()

const char* acl::redis_node::get_addr_info ( ) const
inline

result of CLUSTER NODES for redis.4.x.x: d52ea3cb4cdf7294ac1fb61c696ae6483377bcfc 127.0.0.1:16385@116385 master - 0 1428410625374 73 connected 5461-10922

返回
return 127.0.0.1:16385@116385 for redis.4.x.x

在文件 redis_node.hpp247 行定义.

248  {
249  return addr_info_.c_str();
250  }
char * c_str() const

◆ get_id()

const char* acl::redis_node::get_id ( ) const
inline

获得当前结点的 ID 标识 get the unique ID of the current node, set in constructor

返回
{const char*}

在文件 redis_node.hpp227 行定义.

228  {
229  return id_.c_str();
230  }
char * c_str() const

◆ get_master()

const redis_node* acl::redis_node::get_master ( ) const
inline

当本结点为从结点时,获得该从结点的主结点对象 get the current slave's master node

返回
{const redis_node*}

在文件 redis_node.hpp187 行定义.

188  {
189  return master_;
190  }

◆ get_master_id()

const char* acl::redis_node::get_master_id ( ) const
inline

当本结点为从结点时,获得该从结点对应的主结点的 ID 标识 when the current node is slave, getting its master's ID

返回
{const char*}

在文件 redis_node.hpp197 行定义.

198  {
199  return master_id_.c_str();
200  }
char * c_str() const

◆ get_slaves()

const std::vector<redis_node*>* acl::redis_node::get_slaves ( ) const
inline

当本结点为主结点时,获得该主结点的所有从结点 getting all the slaves of the master

返回
{const std::vector<redis_node*>*}

在文件 redis_node.hpp207 行定义.

208  {
209  return &slaves_;
210  }

◆ get_slots()

const std::vector<std::pair<size_t, size_t> >& acl::redis_node::get_slots ( ) const

当本结点为主结点时,则获得主结点的哈希槽范围,当为从结点时则获得其对应的 主结点的哈希槽范围

返回
{const std::vector<std::pair<size_t, size_t> >&}

◆ get_type()

const char* acl::redis_node::get_type ( ) const
inline

获得当前结点的类型 get the node's type

返回
{const char*}

在文件 redis_node.hpp147 行定义.

148  {
149  return type_.c_str();
150  }
char * c_str() const

◆ is_connected()

bool acl::redis_node::is_connected ( ) const
inline

判断当前结点是否已经处于连线状态 check if the node is connected in the cluster

返回
{bool}

在文件 redis_node.hpp177 行定义.

178  {
179  return connected_;
180  }

◆ is_handshaking()

bool acl::redis_node::is_handshaking ( ) const
inline

判断当前结点是否正处于握手阶段 check if the node is in handshaking status

返回
{bool}

在文件 redis_node.hpp167 行定义.

168  {
169  return handshaking_;
170  }

◆ is_master()

bool acl::redis_node::is_master ( ) const
inline

判断当前结点是否为集群中的一个主结点 check if the current node is a master in the redis cluster

返回
{bool}

在文件 redis_node.hpp217 行定义.

218  {
219  return master_ == this;
220  }

◆ is_myself()

bool acl::redis_node::is_myself ( ) const
inline

判断当前结点是否为当前的连接对象结点 check if the node belongs to the current connection

返回
{bool}

在文件 redis_node.hpp157 行定义.

158  {
159  return myself_;
160  }

◆ remove_slave()

redis_node* acl::redis_node::remove_slave ( const char *  id)

当本结点为主结点时,根据结点唯一标识符删除一个从结点 when the current node is a master node, this function will remove one slave node by the unique ID

参数
id{const char*} redis 结点唯一标识符 the unique ID of the redis node
返回
{const redis_node*} 返回被删除的从结点,如果不存在则返回 NULL the slave node according to the ID will be returned, and if not exists NULL will be returned

◆ set_addr()

redis_node& acl::redis_node::set_addr ( const char *  addr)

除了在构造函数中的参数中传入该结点的地址外,还可以通过此函数设置 set the node's listening addr

参数
addr{const char*} 集群中 redis 结点的服务地址,格式:ip:port the listening addr of one redis node in the reids cluster
返回
{redis_node&}

◆ set_connected()

redis_node& acl::redis_node::set_connected ( bool  yesno)

设置当前结点处于连线状态 set the node been connected in the cluster

参数
yesno{bool}
返回
{redis_node&}

◆ set_handshaking()

redis_node& acl::redis_node::set_handshaking ( bool  yesno)

设置当前结点正处于握手阶段 set the current node being in handshaking status

参数
yesno{bool}
返回
{redis_node&}

◆ set_id()

redis_node& acl::redis_node::set_id ( const char *  id)

除了在构造函数中的参数中传入该结点的 ID 标识符外,还可以通过此函数设置 set the node's ID

参数
id{const char*} 集群中 redis 结点的唯一标识符 the unique ID for one redis node in the reids cluster
返回
{redis_node&}

◆ set_master()

redis_node& acl::redis_node::set_master ( const redis_node master)

当本结点为从结点时,设置当前结点的主结点 setting current slave node's master node

参数
master{const redis_node*} 主结点对象 the redis master node of the current slave in cluster
返回
{redis_node&}

◆ set_master_id()

redis_node& acl::redis_node::set_master_id ( const char *  id)

当本结点为从结点时,设置当前结点的主结点标识符 setting current node's master node when the node is slave node

参数
id{const char*} 主结点唯一标识符 the unique ID of the master node
返回
{redis_node&}

◆ set_myself()

redis_node& acl::redis_node::set_myself ( bool  yesno)

设置当前结点是否为当前的连接对象 set if the current node is belonging to the current connection

参数
yesno{bool}
返回
{redis_node&}

◆ set_type()

redis_node& acl::redis_node::set_type ( const char *  type)

设置当前结点的类型 set the current node's type

参数
type{const char*}
返回
{redis_node&}

该类的文档由以下文件生成: