acl/lib_acl_cpp/include/acl_cpp/redis/redis.hpp
2021-01-09 23:16:15 +08:00

81 lines
2.0 KiB
C++

#pragma once
#include "../acl_cpp_define.hpp"
#include "redis_connection.hpp"
#include "redis_hash.hpp"
#include "redis_hyperloglog.hpp"
#include "redis_key.hpp"
#include "redis_list.hpp"
#include "redis_pubsub.hpp"
#include "redis_script.hpp"
#include "redis_server.hpp"
#include "redis_set.hpp"
#include "redis_string.hpp"
#include "redis_transaction.hpp"
#include "redis_zset.hpp"
#include "redis_cluster.hpp"
#include "redis_geo.hpp"
#include "redis_stream.hpp"
#if !defined(ACL_CLIENT_ONLY) && !defined(ACL_REDIS_DISABLE)
namespace acl
{
/**
* 该类继承了所有 redis 命令类,因此可以只通过此类对象使用所有的 redis 命令。
* inherit all the redis command class, which include all the commands
* of Key, String, Hash, List, Set, SortedSet, Hyperloglog, Pub/Sub,
* Transaction, Script, Connection, Server.
*/
class ACL_CPP_API redis
: public redis_connection
, public redis_hash
, public redis_hyperloglog
, public redis_key
, public redis_list
, public redis_pubsub
, public redis_script
, public redis_server
, public redis_set
, public redis_string
, public redis_transaction
, public redis_zset
, public redis_cluster
, public redis_geo
, public redis_stream
{
public:
/**
* 非集群方式的构造函数
* the constructor with no redis cluster
* @param conn {redis_client*} 一个 redis 节点的连接对象
* one redis node's connection
*/
redis(redis_client* conn = NULL);
/**
* 集群方式的构造函数
* the constructor in redis cluster mode
* @param cluster {redis_client_cluster*} 集群对象
* the redis cluster object
*/
redis(redis_client_cluster* cluster);
/**
* pipeline 方式的构造函数
* the constructor in redis pipeline mode
* @param pipeline {redis_client_pipeline*} pipeline 对象
* the redis pipeline object
*/
redis(redis_client_pipeline* pipeline);
ACL_CPP_DEPRECATED
redis(redis_client_cluster* cluster, size_t max_conns);
~redis(void) {}
};
} // namespace acl
#endif // !defined(ACL_CLIENT_ONLY) && !defined(ACL_REDIS_DISABLE)