聽見下雨的聲音

毕生所求无它,爱与自由而已

Scroll Down

模板方法模式实现Redis缓存查询简化

在高并发场景下查询缓存时很容易出现缓存击穿(本文针对单机没有使用分布式锁),这时由于并发用户特别多,同时读缓存没读到数据,又同时去数据库去取数据,引起数据库压力瞬间增大,造成过大压力,因此查询缓存需要进行加锁,但这种代码每次写多了很烦,而且容易写错,因此本文采用模板方法模式简化缓存查询及并发处理

SpringBoot如何优雅的处理参数校验

引言对于一个web项目而言后端经常需要对前端参数进行校验,传统方式常常是在controller中使用大量ifelse进行参数合法性校验,这样做的缺点显而易见,便不在赘述。解决方案对于以上问题,SpringBoot项目我列举了三种处理方式:对于前端传参的实体我们可以写这样一个类例如UserParam,

通俗解释JAVA设计模式之观察者模式(发布订阅模式)

1、初步认识观察者模式的定义:  在对象之间定义了一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象会收到通知并自动更新。大白话:  其实就是发布订阅模式,发布者发布信息,订阅者获取信息,订阅了就能收到信息,没订阅就收不到信息。2、这个模式的结构图上图解释:抽象被观察者角色:也就是一个抽象主题

给你的Arch Linux 清理空间腾出地方

引言使用ArchLinux时间长了,空间越来越少,不禁想到要清理一下空间。我将清理的内容分成三部分,清理安装包缓存,清理孤立的软件包,以及清理日志。清理安装包缓存使用如下命令$sudopacman-Scc不仅会删除未安装或旧版本的包文件缓存,也会将安装着的包的包文件缓存也一并删除。这部分是最占空间的

如何使用自有数据创建大规模路网拓扑结构

打断路网相交线在创建路网拓扑结构之前首先需要安装arcgis,打断路网的相交线,这一点非常重要从上路我们可以看出路网交叉口的地方是连接起立的,而且大部分路网数据都是如此,如果想构建路网拓扑结构就必须从交叉口处打断,然后以交叉口作为拓扑顶点,路段作为拓扑边。不管是从openstreetmap下载的数据

如何为Linux新增swap交换空间

概述在Linux上增加swap空间的方法有两种:在安装时手动分配swap,对于这种方式,空间大小是事先规划好的,每次系统启动时会自动进行挂载,但这种方法只能在安装OS时设定,一旦设定好不容易改变,除非重装系统。使用swapfile:新建临时swapfile或者是空闲分区,在需要的时候设定为交换空间,

在Linux终端下使用默认应用快速打开文件或文件夹

概述一般我们想要打开文件夹的方法都是首先打开文件管理器,然后找到想打开的文件夹并双击打开它,或者想使用某个应用打开某个文件,比如用图片查看器打开一张图片,但是这样做的速度实在太慢了而且很不爽,比如我的鼠标左键就打游戏打坏了,哈哈哈哈。xdg-open对于上述这样的操作,有更简单而快速的方法,使用xd