1.常见的缓存策略有哪些,如何做到缓存(比如redis)与DB里的数据一致性,你们项目中用到了什么缓存系统,如何设计的。

缓存策略

  1. Cache-Aside:最常见的缓存策略,当客户端请求数据时,程序会检查缓存中是否存在数据,若存在缓存命中(Cache Hit),若不存在(Cache Miss)则从数据库中查询数据并存储在缓存中,然后返回数据给客户端。
  2. Read-Through:程序会从先从缓存中读取数据,缓存未命中会从数据库中读取数据,并存储在缓存中,然后返回。
  3. Write-Through:写操作时,数据先被写入缓存,然后缓存再将数据同步到数据库中。
  4. Write-Behind:数据先写缓存,然后再将缓存中的数据异步更新到数据库中,提高写性能,但要注意数据库与缓存的数据一致性。
  5. 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 本地缓存在并发使用时的注意事项。