【问题标题】:Redis threading explainedRedis 线程解释
【发布时间】:2017-06-04 16:58:43
【问题描述】:

谁能解释一下redis是单线程的。

我想做什么...

我正在写一个烧瓶网站。应该有很多背景工作,所以我想把它分成多个线程。我读到最好使用 celery,我想使用 redis 作为代理。 Redis,因为我想用redis来存储一些键值。 所以我的问题是。

多个线程可以同时连接到redis db(以线程安全的方式)来检索和存储数据。

还有,redis可以做站点缓存吗?

【问题讨论】:

    标签: python multithreading redis celery


    【解决方案1】:

    多个线程可以以线程安全的方式连接到 Redis(假设 Redis 客户端是线程安全的,并且代码本身也是如此)。

    因为 Redis(大部分)是单线程的,所以对它的每个请求都会在执行时阻塞所有其他请求。但是,由于 Redis 非常快 - 请求通常会在一毫秒内返回 - 它仍然可以处理大量并发请求,因此与它建立多个连接不是问题。

    至于它是否可以用于缓存网站,那是肯定的(只是谷歌它;))。

    【讨论】:

    • 关于缓存只是四处询问。关于单线程问题......所以基本上我仍然需要检查redis是否可用,所以由我决定是否使其成为线程安全的?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-16
    • 2015-03-16
    • 2015-04-08
    • 2018-04-23
    • 2011-07-20
    • 1970-01-01
    相关资源
    最近更新 更多