6

我正在构建一个多线程的排队服务。我需要确保我们的数据后端 Redis 具有用于列表或集合类型的线程安全弹出功能。这个想法是任意数量的线程都可以调用 Redislpop或者spop没有任何冲突。我不太确定如何测试它,如果 pop 函数是线程安全的,它也不会在 Redis 页面上的任何地方明确说明。

4

1 回答 1

17

基准页面

Redis 是一个单线程服务器。它并非旨在从多个 CPU 内核中受益。如果需要,人们应该启动多个 Redis 实例以在多个内核上横向扩展。将单个 Redis 实例与多线程数据存储进行比较是不公平的。

因此,当每个命令都在单个线程中排队时,您应该没问题,因为永远不会有两个命令并行执行

于 2012-07-25T20:57:30.460 回答