V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Phishion
V2EX  ›  程序员

请问 Python 操作 Redis 写入数据每秒 5W 算正常么?

  •  
  •   Phishion · 110 天前 · 1487 次点击
    这是一个创建于 110 天前的主题,其中的信息可能已经有所发展或是发生改变。

    代码如下,使用了 pipeline,10W 数据执行下来要 2s,这个算是正常速度么?请问还有啥跑更快的办法么?

    
    from datetime import datetime
    from redis import StrictRedis
    redis = StrictRedis(host='redis', port=6379, db=0)
    
    def test_redis(count):
        pipeline = redis.pipeline()
        process_start = datetime.now().timestamp()
        for value in range(1, count):
            user_key = 'user:id:' + str(value)
            pipeline.set(user_key, 'bar')
        pipeline.execute()
        process_elapsed = round(datetime.now().timestamp() - process_start, 2)
        print("\nDone ({}s).\n".format(process_elapsed))
        
    test_redis(100000)
    
    8 条回复    2021-10-07 11:18:15 +08:00
    srx1982
        1
    srx1982  
       110 天前
    换个解释器试试
    superrichman
        2
    superrichman  
       110 天前   ❤️ 1
    Done (0.96s).
    你可能需要内存超频 /doge
    Phishion
        3
    Phishion  
    OP
       110 天前
    @superrichman 感谢测试,我用的 VPS, 只能给啥用啥,你这个是挺快的
    youngce
        4
    youngce  
       110 天前   ❤️ 1
    1.24s

    来自普通办公笔记本
    Phishion
        5
    Phishion  
    OP
       110 天前
    @youngce 谢谢测试,可能是某云的 VPS 内存性能实在不行,也可能是我 Redis 跑在 Docker 上的原因(我没测试是不是有关联)
    notyss
        6
    notyss  
       110 天前
    你是想测试 redis 还是 python 还是 python 的 redis library
    zhchyu999
        7
    zhchyu999  
       109 天前
    测试下 redis 的 redis-benchmark 测试下 redis 的性能,看看瓶颈在哪里
    Phishion
        8
    Phishion  
    OP
       109 天前
    @notyss 我就想测试一下在项目中实际的写入速度,脱离 Python 没啥意义
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1326 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 23:35 · PVG 07:35 · LAX 15:35 · JFK 18:35
    ♥ Do have faith in what you're doing.