Redis高效及线程安全的真正原因

上一篇 << 下一篇 >>>Redis为啥要分为16个库


Redis线程为什么效率这么高?

(1) 绝大部分请求是纯粹的内存操作(非常快速)
(2) 采用单线程,避免了不必要的上下文切换和竞争条件
(3) 非阻塞IO - IO多路复用
IO多路复用中有三种方式:select,poll,epoll。需要注意的是,select,poll是线程不安全的,epoll是线程安全的。NIO模式的IO多路复用底层原理

Redis线程线程安全吗?

Redis中本身就是单线程的能够保证线程安全问题。
Redis实际上是采用了线程封闭的观念,把任务封闭在一个线程,自然避免了线程安全问题,不过对于需要依赖多个redis操作的复合操作来说,依然需要锁,而且有可能是分布式锁。

更多请参考:Redis为什么单线程还能够支持高并发


推荐阅读:
<<<分布式缓存与本地缓存的区别
<< << << << << << << << << << << << << << <<<使用Redisson工具实现分布式锁
<< << << << << << << << << << << <<<阿里云的Canal框架实现Redis与Mysql同步原理及代码示例
<<<阿里云的Canal框架配置
<< << <<

你可能感兴趣的:(Redis高效及线程安全的真正原因)