面试之前没有了解公司是干什么的,匆匆忙忙就去了,以下是大概的问题答:以mysql为例 优点:加快查询效率,唯一性索引,保证数据库表中每一行数据的唯一性; 缺点:保存索引需要额外的无力空间,在对数据进行删除或是修改的时候,需要同步的区维护索引,降低了操作效率。 对于联合索引,当查询语句不满足最左前缀原则时,不用索引。 当使用模糊查询,“%value%” 或是“%value”时不走索引,使用“value%”时是会走索引的。 缓存雪崩:同一时间缓存大量失效,其中原因有 缓存集体过期,或是redis服务器宕机。解决方法:随机的设计缓存过期时间,不要将过期时间设置为一样的。做好redis集群,使其高可用。缓存击穿:对于热点数据,当载redis中失效后,同一大量相同的请求打在数据库服务器上,导致数据库宕机。解决方法:设置布隆过滤器,使得再redis请求不到后都返回一个空值或是错误码,不要直接让请求去读取数据库。单独起线程去将数据库中的数据加载到redis。大于 50k 的数据,就优先选择拆分吧。...查看更多