解决了redis的这些问题,你就是redis高手( 六 )


为什么Redis的操作是原子性的,怎么保证原子性的?对于Redis而言,命令的原子性指的是:一个操作的不可以再分,操作要么执行,要么不执行 。
Redis的操作之所以是原子性的,是因为Redis是单线程的 。
Redis本身提供的所有API都是原子操作,Redis中的事务其实是要保证批量操作的原子性 。
多个命令在并发中也是原子性的吗?不一定,将get和set改成单命令操作,incr。使用Redis的事务,或者使用Redis+Lua==的方式实现.
消息队列不要使用redis去做消息队列,这不是redis的设计目标 。但实在太多人使用redis去做去消息队列,redis的作者看不下去 。




推荐阅读