Redis读/写

时间:2012-04-24 12:48:57

标签: redis

刚开始研究redis。

Redis是一个单线程进程。

这是否意味着所有操作(例如hset,hget等)都以串行性质执行 - 这意味着例如通过以下操作:

hset foo:bar name 'Redis'
hget foo:bar name

hget只会在hset之后执行?

1 个答案:

答案 0 :(得分:3)

是的,Redis实例是单线程的,所有基本操作都是原子操作和序列化操作。使用Redis,你有并发性,但没有并行性。

在您的示例中,您可以保证在hset之后始终执行hget。

您还可以保证在Redis连接上发送多个查询时,将以相同的顺序返回回复(即Redis支持协议流水线操作)。

请注意,只有与Redis实例的给定连接才有效。如果数据在多个实例中分片,则将使用多个连接,并且在不同连接上发送的查询之间没有这样的保证。