python关于多线程访问redis的问题

 飘飘秀秀真人_562 发布于 2022-10-27 19:51

我想实现一个类似于scrapy-redis的功能。我采用多线程(threading)或者协程(gevent)来访问redis(使用redis.py)但是在访问过程中,我发现和scrapy-redis有个区别,scrapy-redis连接redis 的client数目永远是1,我的程序因为使用并发操作client数目会暴涨,而且不明白什么原因跑一段时间后在从列表取数据的时候(lpop或者rpop之类)会卡住,一直卡住。这个问题困扰我一周了,希望有大神能解答我的疑惑

client多的时候能够上千甚至数千

1 个回答
    1. 减少client,比如使用连接池
      https://segmentfault.com/q/10...

    >>> pool = redis.ConnectionPool(host='localhost', port=6379, db=0)
    >>> r = redis.Redis(connection_pool=pool)
    
    1. 卡住可能是列表没数据吧!

    2022-10-29 02:36 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有