acl
3.5.3.0
redis_client_pool.hpp
浏览该文件的文档.
1
#pragma once
2
#include "../acl_cpp_define.hpp"
3
#include "../connpool/connect_pool.hpp"
4
5
#if !defined(ACL_CLIENT_ONLY) && !defined(ACL_REDIS_DISABLE)
6
7
namespace
acl
8
{
9
10
class
sslbase_conf;
11
12
/**
13
* redis 连接池类,该类继承于 connect_pool,在 connect_pool 定义了通用的有关
14
* TCP 连接池的通用方法。
15
* redis connection pool inherting from connect_pool, which includes
16
* TCP connection pool methods.
17
*/
18
class
ACL_CPP_API
redis_client_pool
:
public
connect_pool
19
{
20
public
:
21
/**
22
* 构造函数
23
* constructor
24
* @param addr {const char*} 服务端地址,格式:ip:port
25
* the redis-server's listening address, format: ip:port
26
* @param count {size_t} 连接池的最大连接数限制,如果此值为 0,则连接池
27
* 没有上限限制。
28
* the max connections for each connection pool. there is
29
* no connections limit of the pool when the count is 0.
30
* @param idx {size_t} 该连接池对象在集合中的下标位置(从 0 开始)
31
* the subscript of the connection pool in the connection cluster
32
*/
33
redis_client_pool
(
const
char
* addr,
size_t
count,
size_t
idx = 0);
34
35
virtual
~
redis_client_pool
(
void
);
36
37
/**
38
* 设置 SSL 通信方式下的配置句柄,内部缺省值为 NULL,如果设置了 SSL 连
39
* 接配置对象,则内部切换成 SSL 通信方式
40
* set SSL communication with Redis-server if ssl_conf not NULL
41
* @param ssl_conf {sslbase_conf*}
42
* @return {redis_client_pool&}
43
*/
44
redis_client_pool
& set_ssl_conf(
sslbase_conf
* ssl_conf);
45
46
/**
47
* 设置连接 redis 服务器的连接密码
48
* @param pass {const char*} 连接密码
49
* @return {redis_client_pool&}
50
*/
51
redis_client_pool
& set_password(
const
char
* pass);
52
53
/**
54
* 在非集群模式下,本方法用来设置连接建立后所选择的db
55
* in no-cluster mode, the method is used to select the db after
56
* the connection is created
57
* @param dbnum {int}
58
* @return {redis_client_pool&}
59
*/
60
redis_client_pool
& set_db(
int
dbnum);
61
62
/**
63
* 获得本连接池所对应的db
64
* get the current db of the connections pool
65
* @return {int}
66
*/
67
int
get_db
(
void
)
const
68
{
69
return
dbnum_;
70
}
71
72
protected
:
73
/**
74
* 基类纯虚函数: 调用此函数用来创建一个新的连接
75
* virtual function in class connect_pool to create a new connection
76
* @return {connect_client*}
77
*/
78
connect_client
* create_connect(
void
);
79
80
private
:
81
char
* pass_;
82
int
dbnum_;
83
sslbase_conf
* ssl_conf_;
84
};
85
86
}
// namespace acl
87
88
#endif // !defined(ACL_CLIENT_ONLY) && !defined(ACL_REDIS_DISABLE)
acl::connect_client
Definition:
connect_client.hpp:10
acl::redis_client_pool::get_db
int get_db(void) const
Definition:
redis_client_pool.hpp:67
acl
Definition:
acl_cpp_init.hpp:4
acl::sslbase_conf
Definition:
sslbase_conf.hpp:10
acl::redis_client_pool
Definition:
redis_client_pool.hpp:18
acl::connect_pool
Definition:
connect_pool.hpp:19
ACL_CPP_API
#define ACL_CPP_API
Definition:
acl_cpp_define.hpp:16
include
acl_cpp
redis
redis_client_pool.hpp
生成于 2021年 九月 10日 星期五 11:14:44 , 为 acl使用
1.8.15