我正在构建一个将是多线程的排队服务。我需要确保我们的数据后端Redis具有针对列表或集合类型的线程安全弹出功能。这个想法是任何数量的线程都可以调用Redis lpop或spop不存在任何冲突。我真的不确定如何测试,并且如果pop函数是线程安全的,它不会在Redis页面上的任何位置明确声明。
lpop
spop
从基准页面
Redis是单线程服务器。它并非旨在受益于多个CPU内核。人们应该启动几个Redis实例,以在需要时扩展到多个核心。将一个Redis实例与一个多线程数据存储区进行比较并不公平。
因此,由于每个命令都在单个线程中排队,因此应该没问题,因为永远不会有两个命令并行执行