A. 请简述 Redis 和 MySQL 功能上的区别(⭐⭐⭐

A. redis 的优缺点(⭐⭐⭐

Redis 本质上是一个 Key-Value 类型的内存数据库,定期把数据库中的数据 flush 到硬盘上进行保存。因为是纯内存操作,Redis 的性能非常出色,每秒可以处理超过 10 万次读写操作,是已知性能最快的 Key-Value 数据库。

A. redis 有哪几种数据结构?(⭐⭐⭐

五种常用数据类型:String、List、Hash、List、Set、zSet

  1. 字符串(string):存储任意类型的数据,适用于缓存等场景。
  2. 列表(list):存储一组字符串数据,可以作为队列或栈使用。
  3. 哈希(hash):存储多个字段的字符串数据,适用于存储用户信息、商品信息等场景。
  4. 集合(set):存储一组不重复的字符串数据,支持集合运算,适用于粉丝关系等场景。
  5. 有序集合(sorted set):在集合的基础上,每个元素都有一个分数(score),可以排序和范围查询,适用于排行榜等场景。

三种特殊的数据类型:Bitmap、HyperLogLog、Geospatial ,其中HyperLogLog、Bitmap的底层都是 String 数据类型,Geospatial 的底层是 Sorted Set 数据类型。

  1. Bitmap适用于存储二进制位数据,常见用途是用于统计网站的日活、月活等数据。
  2. HyperLogLog是一种不精确的去重计数,适用于存储网页浏览量。
  3. Geospatial适用于存储地理位置信息,可以进行地理位置搜索、附近的人等功能。