redis常见面试题

1.定义

redis是一个基于内存的 以key-value对保存的非关系型数据库

2.redis的优点

1)存取速度快 ,因数据存在内存中,类似于HashMap,它的优势就是查找和操作的时间复杂度是O(1)(O(1)是指时空复杂度是最低的,无论数据量有多大,所有的操作都能在一次计算后找到目标);

2)支持丰富的数据类型;

3)支持事务,操作都是原子性,所谓的原子性就是操作要么全部执行要么全部不执行;

4)丰富的特性 可用于缓存 消息按key设置过期时间;

2.redis相比memcached的优势

1)memcached只支持简单的字符串类型,redis支持更加丰富的数据类型 String List(列表) Set(集合) SortedSet (有序集合)  Hash(哈希)

2)redis读取速度比memcached快

3)redis可持久化其数据

3.redis与memcached的区别

1)存储方式 memcached 存储在内存中,断电后会挂掉,数据不能超过内存大小,redis的数据部分保存在硬盘,这样能保证数据的持久化

2)redis较memcached支持更加丰富的数据类型

3)使用底层模型不同

4.redis的持久化

1)定义

rdb 是redis数据集以快照(半持久化模式)的方式记录redis数据库所有的键值对 在某个时间点写到某个临时文件中,持久化结束后,用临时文件替换上一个持久化文件吗,达到数据恢复的作用

aof 是指所有命令行记录以redis命令请求协议的格式(完全持久化存储)保存为aof文件

2)比较

rdb性能比aof好

aof更新频率高,优先使用aof还原数据

aof比rdb安全性更高

如果aof和rdb都配了,优先加载aof

5.一个redis库能存多少key  各个数据类型的最大存储量

一个库可存2.5亿个key

String 类型的value的一个最大512M

List set 元素个数最多 2^32-1 

hash 键值对个数最多2^32-1

原文地址:https://www.cnblogs.com/missmeng/p/10411328.html