想必大家都经历过面试中被问redis的各种问题,下面我们从面试的角度来学习redis的内容,尽量全面给大家解析清楚
面试碰到的内容:
- redis 数据结构
- redis 高版本新型数据结构
- redis 高版本新特性支持
- redis 特性的实际应用
- redis 实际应用过程中需要注意的事项
- redis 分布式,集群等
redis 简介
Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。
其中 strings,hashes,lists,sets,sorted sets是最开始就有的,bitmaps 是2.2.0以后增加的,hyperloglogs是2.8.9版本加入的,geospatial是3.2版本后加入的。
Redis 优势
- 性能极高 Redis能读的速度是110000次/s,写的速度是81000次/s 。
- 丰富的数据类型 Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
- 原子 Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
- 丰富的特性 Redis还支持 publish/subscribe, 通知, key 过期等等特性。
Redis与其他key-value存储有什么不同?
-
Redis有着更为复杂的数据结构并且提供对他们的原子性操作,这是一个不同于其他数据库的进化路径。Redis的数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的抽象。
-
Redis运行在内存中但是可以持久化到磁盘,所以在对不同数据集进行高速读写时需要权衡内存,因为数据量不能大于硬件内存。在内存数据库方面的另一个优点是,相比在磁盘上相同的复杂的数据结构,在内存中操作起来非常简单,这样Redis可以做很多内部复杂性很强的事情。同时,在磁盘格式方面他们是紧凑的以追加的方式产生的,因为他们并不需要进行随机访问。
今天先大概介绍一下redis的这些,明天继续开始详细讲解上面提到的内容
PS:实际是懒-_-!!
网友评论