第11章 Redis(一)

11.1 谈谈你对Redis的理解

难度:★★★

重点:★★

白话解析

对Redis的理解无非从三个方面去说一说:背景,是什么,特性。

背景:数据直接存磁盘太慢了,虽然MySQL用到了BufferPool等缓存,但是为了保证数据不丢失,MySQL采用的RedoLog依然要直接写磁盘。所以,数据的存储就成为了制约性能的瓶颈了。

有些不是特别重要的数据如果也直接写磁盘就太慢了,这个时候Redis出现了,它为了高性能的读写,在一定的范围内,放弃了小部分的数据安全性,这也是可以接受的。

是什么:无他,内存型数据库而已。

特性:

  • 内存存储:数据存在内存中,读写快。

  • 能存的数据种类多:虽然都是key、value结构,但是value可以存储很多的数据类型,如字符串、哈希、列表、集合和有序集合等。

  • 能持久化:Redis支持RDB和AOF两种持久化方式,可以将数据保存到磁盘中,以保证数据的可靠性和安全性。

  • 高并发:Redis采用单线程模型,避免了多线程的竞争和锁的开销,因此能够处理高并发请求

  • 高可用性:Redis支持主从复制和哨兵机制,可以实现高可用性和自动故障转移。

  • 分布式:Redis Cluster可以将数据分布在多个节点上,实现分布式存储和负载均衡。

  • 有多种语言的SDK:所以J

你可能感兴趣的:(白话Java面试,redis,数据库,缓存,java)