Redis 为什么采用单线程,为什么性能好
Redis 采用单线程的原因是因为在 内存中 进行读写操作,CPU不是Redis的性能瓶颈,而是内存和带宽,所以采用单线程可以避免 线程切换和锁的开销。 Redis 是什么?Redis 是一个开源的内存数据库,它可以存储键值对,支持多种数据结构,如字符串(string)、哈希(hash)、列表(list)、集合(set)、有序集合(zset)等。 Redis 是不是单线程?实际上,Redis 是多线程的,其内部有以下几个线程: redis-server:主线程,负责接收客户端的连接,读取请求,发送响应。 bio-close-file:负责异步关闭大文件。 bio-aof-fsync:负责将 AOF 文件异步刷到磁盘。 bio-lasy-free:负责异步释放大内存。 jemalloc-bg-thread:负责内存碎片整理。 io-thread:IO 线程,负责 read/write,decode/encode。 笔记 AOF(Append Only File) 是 Redis 的一种持久化方式,将所有写操作追加到文件末尾,重启时重新执行 AOF 文件中的命令即可恢复数据。实时硬盘操作,不会丢失数据,但是会影响性能。 ...