虽然 redis 开发库已有不少,但 C/C++ 的客户端库好用的并不多,虽然官方也提供了 C 版的客户端库,但易用性较差,而且不支持连接池功能,相对于 C/C++ 的库,JAVA 版的 jedis 要好用的多,jedis 提供了 redis 库的全命令实现,而 C/C++ 则只提供了协议级实现,使用者需要了解命令发送的格式,而且还得判断分析所接收数据的格式,使用起来非常繁琐,acl 库(跨平台网络通信与服务器框架)的作者在使用 C/C++ 版的 redis 库时也屡受摧残,于是其基于 acl 的基础库完整实现了 redis 的所有命令,该库对应于 redis 客户端命令的总共 12 个大类,150多个命令,同时为了使用方便,有的命令会因参数的变化提供多个函数方法,所以在 acl 的 redis 库中的 12 个类中,有 400 多个方法;另外,该 redis 库还提供了丰富的连接池及连接池集群管理功能,便于使用者编写高性能、高并发的应用服务。
在 acl 的 redis 库中总共有 7000+ 行源代码,2000+ 行头文件,同时每个类方法都提供了详细的中文注释;为了保证该库的健壮性,作者提供了大量的测试用例(光测试用例源码就达 5000+ 行。
在 acl 的 redis 库的内部实现中,为了保证处理效率,在每一个命令处理过程中都会绑定一个内存分配器,大大减少了内存的分配/释放次数,非常适合于多线程运行环境。
该 redis 库是跨平台的,支持 LINUX/WIN32/MAC/BSD/SOLARIS,以下是有关该库的网上地址:
1、redis 库源码地址:http://git.oschina.net/zsxxsz/acl/tree/master/lib_acl_cpp/src/redis
2、redis 库头文件地址:http://git.oschina.net/zsxxsz/acl/tree/master/lib_acl_cpp/include/acl_cpp/redis
3、redis 使用例子地址:http://git.oschina.net/zsxxsz/acl/tree/master/lib_acl_cpp/samples/redis
4、该 redis 库属于 acl 项目的一部分,acl 项目的地址:http://git.oschina.net/zsxxsz/acl/tree/master
来自:开源中国社区

