1. 淘汰缓存如果是较为复杂的数据时,进行缓存的更新操作就会变得异常复杂,因此一般推荐选择淘汰缓存,而不是更新缓存。2. 选择先淘汰缓存,再更新数据库假如先更新数据库再淘汰缓存,如果淘汰缓存失败,那么后面的请求都会得到脏数据,直至缓存过期。
一般的缓存系统,都是按照key去缓存查询,如果不存在对用的value,就应该去后端系统查找(比如DB数据库)。一些恶意的请求会故意查询不存在的key,请求量很大,就会对后端系统造成很大的压力。这就叫做缓存穿透。
}@Bean //两个狗 public Dog haqi(){ return new Dog();private Dog dog;//get,set方法略 } 原来就是配置类啊,通过@Bean、@Component、getBean方式进行Bean的注册和发现。
JavaConfig是Spring3.0新增的概念,就是以注解的形式取代Spring中繁琐的xml文件。JavaConfig结合了xml的解耦和java编译时检查的优点。 - @Configuration,表示这个类是配置类; - @ComponentScan,相当于xml的;
将请求尽量拦截在系统上游,html尽量静态化,部署到cdn上面。按钮及时设置为不可用,禁止用户重复提交请求。像商品中的标题和描述这些本身不变的会在秒杀开始之前全量推送到秒杀机器上并一直缓存直到秒杀结束。像库存这种动态数据会采用被动失效的方式缓存一定时间(一般是数秒),失效后再去Tair缓存拉取最新的数据。