Redis基础概念
1.请简述Redis是什么?
答:Redis是一个开源的使用ANSI C语言编写的、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它通常被称为数据结构服务器,因为值(value)可以是字符串(string)、哈希(Hash)、列表(list)、集合(sets)、有序集合(sorted sets)等类型。
2.Redis有哪些优点?
答:Redis的优点包括:
- 速度快,因为数据是存在内存中的,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1)。
- 支持丰富数据类型,支持string,list,set,sorted set,hash。
- 支持事务,Redis的所有操作都是原子性的,同时Redis还支持对几个操作合并后的原子性执行。
- 丰富的特性:可用于缓存,消息,按key设置过期时间,过期后将会自动删除。
Redis数据结构
3.Redis支持哪些数据结构?请简述每种数据结构的特点。
答:Redis支持的数据结构包括:
- 字符串(String):最基本的数据类型,一个key对应一个value。
- 哈希(Hash):键值对集合,是一个string类型的field和value的映射表,hash特别适合用于存储对象。
- 列表(List):简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。
- 集合(Set):String类型的无序集合。集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。
- 有序集合(Sorted Set):String类型元素的集合,并且每个元素都会关联一个double类型的分数。Redis正是通过分数来为集合中的元素进行从小到大的排序。
Redis持久化