1.常见的缓存策略有哪些,如何做到缓存(比如redis)与DB里的数据一致性,你们项目中用到了什么缓存系统,如何设计的。
缓存策略:
- Cache-Aside:最常见的缓存策略,当客户端请求数据时,程序会检查缓存中是否存在数据,若存在缓存命中(Cache Hit),若不存在(Cache Miss)则从数据库中查询数据并存储在缓存中,然后返回数据给客户端。
- Read-Through:程序会从先从缓存中读取数据,缓存未命中会从数据库中读取数据,并存储在缓存中,然后返回。
- Write-Through:写操作时,数据先被写入缓存,然后缓存再将数据同步到数据库中。
- Write-Behind:数据先写缓存,然后再将缓存中的数据异步更新到数据库中,提高写性能,但要注意数据库与缓存的数据一致性。
- Write-Around:数据直接更新到数据库,缓存不参与写操作,该策略适用于读多写少,注意数据库与缓存数据一致性。
缓存与数据库的数据一致性策略:
2 如何防止缓存击穿和雪崩。
3 缓存数据过期后的更新如何设计。
4 redis的list结构相关的操作。
5 Redis的数据结构都有哪些。
6 Redis的使用要注意什么,讲讲持久化方式,内存设置,集群的应用和优劣势,淘汰策略等。
7 redis2和redis3的区别,redis3内部通讯机制。
8 当前redis集群有哪些玩法,各自优缺点,场景。
9 Memcache的原理,哪些数据适合放在缓存中。
10 redis和memcached 的内存管理的区别。
11 Redis的并发竞争问题如何解决,了解Redis事务的CAS操作吗。
12 Redis的选举算法和流程是怎样的。
13 redis的持久化的机制,aof和rdb的区别。
14 redis的集群怎么同步的数据的。
15 知道哪些redis的优化操作。
16 Reids的主从复制机制原理。
17 Redis的线程模型是什么。
18请思考一个方案,设计一个可以控制缓存总体大小的自动适应的本地缓存。
19 如何看待缓存的使用(本地缓存,集中式缓存),简述本地缓存和集中式缓存和优缺点。
20 本地缓存在并发使用时的注意事项。