我的目的是异步的往别的机器的redis服务器写日志。
同步接口速度比较慢。所以想用异步的。
但是异步的似乎必须绑定到一个事件库上?类似libev,或者libevent,或者ae.c
也就是说我必须首先单独起一个线程,运行事件库的主循环,
1.然后在别的线程调用redisAsyncCommand来发送日志?不知道我的理解是否正确。
2.这么干有没有线程同步的问题?
3.有没有hiredis异步多线程使用的例子?
1.必须绑定到事件库,redisAsyncCommand把命令写入缓存,然后注册一个写的函数到事件库,等待事件库发现fd可写之后调用这个函数来做真的写。
2.线程是否同步不清楚。目前自己写了一个2线程的,一个线程做事件主循环,一个发送Command,但是内存有问题core出来了。
第三个还不太清楚。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。