11.1 谈谈你对Redis的理解
难度:★★★
重点:★★
白话解析
对Redis的理解无非从三个方面去说一说:背景,是什么,特性。
背景:数据直接存磁盘太慢了,虽然MySQL用到了BufferPool等缓存,但是为了保证数据不丢失,MySQL采用的RedoLog依然要直接写磁盘。所以,数据的存储就成为了制约性能的瓶颈了。
有些不是特别重要的数据如果也直接写磁盘就太慢了,这个时候Redis出现了,它为了高性能的读写,在一定的范围内,放弃了小部分的数据安全性,这也是可以接受的。
是什么:无他,内存型数据库而已。
特性:
-
内存存储:数据存在内存中,读写快。
-
能存的数据种类多:虽然都是key、value结构,但是value可以存储很多的数据类型,如字符串、哈希、列表、集合和有序集合等。
-
能持久化:Redis支持RDB和AOF两种持久化方式,可以将数据保存到磁盘中,以保证数据的可靠性和安全性。
-
高并发:Redis采用单线程模型,避免了多线程的竞争和锁的开销,因此能够处理高并发请求
-
高可用性:Redis支持主从复制和哨兵机制,可以实现高可用性和自动故障转移。
-
分布式:Redis Cluster可以将数据分布在多个节点上,实现分布式存储和负载均衡。
-
有多种语言的SDK:所以J