|
本帖最后由 水煮泡泡鱼 于 2021-12-29 18:41 编辑
有这样一个需求,把“redis中的数据读出来解析在存入到postgres中去”
能够确定的是
1、redis中的数据都是json结构并且前后互不相关,也就是说基本不存在进程之间的数据交互
2、每一个json处理基本都在都在3秒左右,但是基本没有阻塞的情况。
目前实现的方案是通过 while True写了一个监听服务,一直监听redis中是否有数据,有的话就处理。这样的服务在后台起了5个(也算是多进程?)
但是目前测试效率比较低,并且因为没有用多线程/多进程啥的,都是从redis中把数据直接pop出来然后操作,也没有锁的处理,大部分都是通过if来判断 数据是否存在。
之前查了查资料,查到一个twisted的高并发服务,但是感觉好像场景不是特别适用,代码也没有阻塞的情况。(理解错了的话可以帮忙指正一下)
想就问问各位大佬,就这个情况的话,用多线程/多进程之类的能不能提升效率。或者有什么其他的建议和优化方案。补充一下是4核的linux服务器。
|
|