缓存雪崩 缓存雪崩我们可以简单的理解为:由于原有缓存失效,新缓存未到期间 (例如:我们设置缓存时采用了相同的过期时间,在同一时刻出现大面积的缓存过期),所有原本应该访问缓存的请求都去查询数据库了,而对数据库CPU和内存造成巨大压力,严重的会造成数据库宕机。从而形成一系列连锁反应,造成整个系统崩溃。 解决办法: 大多数系统设计者考虑用加锁( 最多的解决方案)或者队列的方式保证来保证不会有大量的线程对数据库一次性进行读写,从而避免失效时大量的并发请求落到底层存储系统上。还有一个简单方案就时讲缓存失效时间分散开。 缓存穿…

2020年2月26日 0条评论 1519点热度 0人点赞 阅读全文

Redis 持久化机制 Redis是一个支持持久化的内存数据库,通过持久化机制把内存中的数据同步到硬盘文件来保证数据持久化。当Redis重启后通过把硬盘文件重新加载到内存,就能达到恢复数据的目的。 实现:单独创建fork()一个子进程,将当前父进程的数据库数据复制到子进程的内存中,然后由子进程写入到临时文件中,持久化的过程结束了,再用这个临时文件替换上次的快照文件,然后子进程退出,内存释放。 RDB是Redis默认的持久化方式。按照一定的时间周期策略把内存的数据以快照的形式保存到硬盘的二进制文件。即Snapshot…

2020年2月25日 0条评论 1606点热度 0人点赞 阅读全文

在使用Spring MVC的websocket配置时 Tomcat启动报错 错误信息如下: [ERROR][localhost-startStop-1] org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:502) Context initialization failed org.springframework.beans.factory.BeanCreationException: Erro…

2020年2月25日 0条评论 1852点热度 0人点赞 阅读全文

定义 抽象工厂(AbstractFactory)模式的定义:是一种为访问类提供一个创建一组相关或相互依赖对象的接口,且访问类无须指定所要产品的具体类就能得到同族的不同等级的产品的模式结构。 抽象工厂模式是工厂方法模式的升级版本,工厂方法模式只生产一个等级的产品,而抽象工厂模式可生产多个等级的产品。 适用场景 使用抽象工厂模式一般要满足以下条件: 系统中有多个产品族,每个具体工厂创建同一族但属于不同等级结构的产品。 系统一次只可能消费其中某一族产品,即同族的产品一起使用。 优缺点 抽象工厂模式除了具有工厂方法模式的优…

2020年2月18日 0条评论 1522点热度 0人点赞 阅读全文

也许世界就这样 我也还在路上 没有人能诉说 也许我只能沉默 眼泪湿润眼眶 可又不甘懦弱 低着头 期待白昼 接受所有的嘲讽 向着风 拥抱彩虹 勇敢的向前走 黎明的那道光 会越过黑暗 打破一切恐惧我能 找到答案 哪怕要逆着光 就驱散黑暗 丢弃所有的负担 不再孤单 不再孤单 也许世界就这样 我也还在路上 没有人能诉说 也许我只能沉默 眼泪湿润眼眶 可又不甘懦弱 低着头 期待白昼 接受所有的嘲讽 向着风 拥抱彩虹 勇敢的向前走 黎明的那道光 会越过黑暗 打破一切恐惧我能 找到答案 哪怕要逆着光 就驱散黑暗 丢弃所有的负担 …

2020年2月8日 0条评论 1503点热度 0人点赞 阅读全文

定义 工厂方法(FactoryMethod)模式的定义:定义一个创建产品对象的工厂接口,将产品对象的实际创建工作推迟到具体子工厂类当中。这满足创建型模式中所要求的“创建与使用相分离”的特点。 我们把被创建的对象称为“产品”,把创建产品的对象称为“工厂”。如果要创建的产品不多,只要一个工厂类就可以完成,这种模式叫“简单工厂模式”,它不属于GoF的23种经典设计模式,它的缺点是增加新产品时会违背“开闭原则”。 “工厂方法模式”是对简单工厂模式的进一步抽象化,其好处是可以使系统在不修改原来代码的情况下引进新的产品,即满足…

2020年2月3日 0条评论 1490点热度 0人点赞 阅读全文