libfastcommon是一款开源的C基础库,她是从FastDFS项目中剥离出来的C基础库。这个库非常简单、高效和稳定,提供的函数主要包括如下几类:
string:字符串处理;
logger:日志记录,支持日志轮转、日志压缩等特性;
ini file reader:ini配置文件解析,支持include、标注和简单逻辑处理如#@if 和 #@for;
id generator:64位ID生成器,本地生成可做到全局唯一;
hash:hashtable封装;
avl tree:平衡二叉树;
socket op:网络IO处理;
ioevent:epoll封装,支持 Linux, FreeBSD 和 SunOS;
io buffer management: 网络IO buffer管理;
fast timer:时间轮,通常用于高效处理网络超时;
skiplist:跳表;
mblock & object pool:内存池和对象池;
base64 encode / decode:base64编解码,+和/这两个字符可以自定义;
url encode / decode::URL编解码
local ip functions:获取本机IPv4地址;
system info functions:可以获取系统信息,包括CPU数量、内存大小、系统负载(load)、进程信息等等;
process control:基于进程号(pid)文件的进程控制,包括:start、stop和restart;
task schedule:定时任务处理,支持动态添加定时任务;
char convert:快速字符转换。
更多函数信息,请参阅源码中的C头文件。
对于部分函数,如 id generator、 local ip、system info等,提供了PHP封装,支持PHP5和PHP7。php扩展在子目录php-fastcommon下。