一文看懂Redis 6.0多线程IO

首发于微信公众号:【码农在新加坡】,欢迎关注。

个人博客网站:一文看懂Redis 6.0多线程IO

Redis基础

Redis是什么

Redis是一个基于BSD开源的项目,是一个把结构化的数据放在内存中的一个存储系统。

你可以把它作为数据库,缓存和消息中间件来使用。同时支持stringslistshashessetssorted setsbitmapshyperloglogsgeospatial indexes等数据类型。

它还通过redis sentinel实现高可用,通过redis cluster实现了自动分片。以及事务,发布/订阅,自动故障转移等等。

为什么用Redis

而在后端开发的技术选型中,Redis已经成为了一个不可绕过的解决方案工具。因此Redis成为了后端开发的基本技能之一。当然,也是后端面试中必考的技术栈之一。

Redis的优点,如果只用一个字来解释,那就是:快!

Redis 有多快?官方给出的答案是读写速度 10万/秒,如果说这是在单线程情况下跑出来的成绩,你会不会惊讶?为什么单线程的 Redis 速度这么快?

Redis为什么快

主要有以下几点:

  1. Redis 是基于内存的。 内存的读写速度非常快。当然Redis也存在持久化操作,但是是fork子进程和利用 Linux 系统的页缓存技术来完成,并不会影响Redis的读写性能。
  2. Redis 是单线程的。 避免了不必要的上下文切换和竞争条件,也不存在多进程或者多线程导致的切换而消耗 CPU,不用去考虑各种锁的问题,不存在加锁释放锁操作,没有因为可能出现死锁而导致的性能消耗。
  3. Redis 使用多路复用技术。

你可能感兴趣的:(Redis,redis,数据库,多线程)