Redis的数据类型和使用场景 常见面试题记忆

Redis支持的数据类型:

String字符串:

格式:set key value

string类型是二进制安全的,string可以包含任何数据,比如jpg图片或序列化对象。

string类型是redis最基本的数据类型,一个键最大能存储512MB。

Hash哈希:

格式:hmset name key1 value1 key2 value2

Redis hash是一个键值对(key=>value)集合。

Redis hash是一个string类型的映射表,hash特别适合用于存储对象。

List列表:

格式:lpush name value头部添加字符串元素

           rpush name value尾部添加字符串元素

           llen name返回对于list的长度

Set无序集合:

格式:sadd name value

集合是通过哈希表实现的,所有添加、删除、查找的复杂度都是O(1)。

Zset有序集合:

格式:zadd name score value

集合中不允许重复的成员,不同的每个元素都会关联一个double类型的分数。redis正是通过集合中的成员进行从大到小的排序。

zset成员是唯一的,但分数score可以重复。

 

什么是Redis持久化?Redis有哪几种持久化方式?优缺点是什么?

持久化就是把内存的数据写到磁盘中去,防止服务宕机,内存数据丢失。

Redis提供了两种持久化方式:默认RDB 和 AOF

RDB:

rdb是Redis DataBase缩写

功能核心函数rdbSave(生成RDB文件)和rdbLoad(从文件加载内存)两个函数。

AOF:

aof是Append-only file缩写

每当执行服务器定时任何或者函数时flushAppendOnlyFile函数被调用,该函数执行以下两个工作:

aof写入保存:

write:根据条件,将aof_buf中的缓存写入到AOF文件

save:根据条件,调用fsync或fdatasync函数,将AOF文件保存到磁盘中。

rdb 和 aof 的两个方式比较:

  • aof文件比rdb更新频率高,优先使用aof还原数据。
  • aof比rdb更安全也更大
  • rdb性能比aof好
  • 如果两个都配了优先加载AOF

Redis的数据类型和使用场景 常见面试题记忆_第1张图片

你可能感兴趣的:(redis)