摘要: 一 攻击 缓存击穿 指缓存中没有但数据库中有的数据 解决方案: 1.设置热点数据永远不过期 2.加互斥锁 缓存穿透 指缓存穿透是指缓存和数据库中都没有的数据 解决方案: 1.增加校验 2.从缓存取不到的数据,在数据库中也没有取到,这时也可以将key-value对写为key-null,缓存有效时间可以 阅读全文
posted @ 2021-01-03 18:18 lgp20151222 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 一 结论 一个容器一个服务 二 原因 一个容器多个服务,即自带初始化数据或者多个服务的高定制容器 1.不利于维护 2.不方便修改初始化数据 3.会造成重复服务 三 单机的多个服务部署及初始化,可以使用docker-compose 分布式的多个服务部署及初始化,明显就是k8s 阅读全文
posted @ 2021-01-03 17:53 lgp20151222 阅读(1605) 评论(0) 推荐(0) 编辑
摘要: 因为墙的原因,直接用个代理来获取各种各样的包 而goproxy.io是一个全球代理,为 Go 模块而生 官网 https://goproxy.io/zh/ 一 代码 #Windows command line $ set http_proxy=http://proxy.example.com:por 阅读全文
posted @ 2021-01-03 17:43 lgp20151222 阅读(297) 评论(0) 推荐(0) 编辑
摘要: version: '3.7' services: mysql: image: mysql container_name: mysql # docker安全验证 security_opt: - seccomp:unconfined ports: - 3306:3306 docker-compose.y 阅读全文
posted @ 2021-01-03 16:49 lgp20151222 阅读(2622) 评论(0) 推荐(0) 编辑
摘要: #su命令和su -命令最大的本质区别就是:前者只是切换了root身份,但Shell环境仍然是普通用户的Shell;而后者连用户和Shell环境一起切换成root身份了。 $ su - #编辑sshd_config文件 $ vi /etc/ssh/sshd_config #添加配置,若有则注释掉即可 阅读全文
posted @ 2021-01-03 16:47 lgp20151222 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 一 docker-compose.yml文件 version: '3' services: mysql8.0: # 镜像名 image: mysql:8.0.21 # 容器名(以后的控制都通过这个) container_name: mysql8.0 # 重启策略 restart: always en 阅读全文
posted @ 2021-01-03 16:42 lgp20151222 阅读(1268) 评论(0) 推荐(0) 编辑
摘要: 这玩意就是循环依赖 一 解决方法 给xxxxxx加一个@Lazy 这是治标的方法,有兴趣的看下去 二 治本 严格开发规范 service不调用其他service,dao层不调用其他dao层 阅读全文
posted @ 2021-01-03 16:32 lgp20151222 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 一 原因 mysql日志显示[Warning] IP address 'xxxx' could not be resolved: Name or service not known 那是因为mysql默认会反向解析DNS,对于访问者Mysql不会判断是hosts还是ip都会进行dns反向解析,频繁地 阅读全文
posted @ 2021-01-03 16:28 lgp20151222 阅读(1282) 评论(0) 推荐(0) 编辑
摘要: 整合其他人项目时,需要删除不需要的框架和代码,这个功能就很实用了 一 二 三 ps.只勾第一个就好了 四 阅读全文
posted @ 2021-01-03 16:27 lgp20151222 阅读(312) 评论(0) 推荐(0) 编辑
摘要: 一 使用注解 @Slf4j @WebFilter(filterName = "authFilter", urlPatterns = "/*") @Order(1) //顺序 public class AuthFilter implements Filter { @Override public vo 阅读全文
posted @ 2021-01-03 16:24 lgp20151222 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 一 dao层是mybatis 不考虑前端分页的情况 二 数组分页 直接java代码 public List<User> queryByArray(int currPage, int pageSize) { //查询数据 List<User> list= mapper.query(); //从第几条数 阅读全文
posted @ 2021-01-03 16:21 lgp20151222 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 一 mybatis的一个强大的单表查询工具包,官网 https://baomidou.com/guide/ 主要理解条件构造器queryWrapper、updateWrapper即可 别问为什么没有insert和delete,这是构造器,并不是操作 二 queryWrapper,可以查询符合条件或者 阅读全文
posted @ 2021-01-03 15:54 lgp20151222 阅读(910) 评论(0) 推荐(0) 编辑
摘要: 一 二 三 阅读全文
posted @ 2021-01-03 15:38 lgp20151222 阅读(2634) 评论(0) 推荐(0) 编辑
摘要: 一 起因 看起来是docker-compose的问题,但我找不到 后猜想可能是docker的问题,又找不到 那就只有可能是linux文件系统的问题了 二 解决方法 百度一下.... 不用百度 我直接把docker停了,切个root用户再次启动即可 $ systemctl stop docker$ s 阅读全文
posted @ 2021-01-03 15:36 lgp20151222 阅读(2521) 评论(0) 推荐(0) 编辑
摘要: 一 这是很简单的事,我都不想写 但是用了Maven Profile之后,我打包就不用每次都改application.yml文件了 所以特意记录一下 二 首先你的Spring Profile要有多环境配置文件 在pom.xml添加 #识别多环境配置 <profiles> <profile> <id>d 阅读全文
posted @ 2021-01-03 15:27 lgp20151222 阅读(160) 评论(0) 推荐(0) 编辑
摘要: CREATE DATABASE IF NOT EXISTS xxx_db DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_general_ci; 阅读全文
posted @ 2021-01-03 15:04 lgp20151222 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 原因就是墙,加dns完事 一 在https://www.ipaddress.com/ 查询raw.githubusercontent.com的真实IP。 二 添加host $ vim /etc/hosts 直接起效,重复curl xxxx就可以了 阅读全文
posted @ 2021-01-03 15:01 lgp20151222 阅读(88) 评论(2) 推荐(0) 编辑
摘要: 一 起因 官方的cerbot太烦了,不建议使用 还不如野蛮生长的acme.sh,而这里介绍docker运行cerbot获取Let's Encrypt永久免费SSL证书 二 选型 cerbot的证书不会自动刷新日期,但是acme.sh自带这功能,每天凌晨0:00自动检测过期域名并且自动续期 选择doc 阅读全文
posted @ 2021-01-03 14:43 lgp20151222 阅读(1277) 评论(0) 推荐(0) 编辑
摘要: 一 在启动页面找到logo的地址有两处 /opt/seafile/seafile-server-7.1.5/seahub/frontend/src/assets/seafile-logo.png /opt/seafile/seafile-server-7.1.5/seahub/media/img/s 阅读全文
posted @ 2021-01-03 00:18 lgp20151222 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 一 按照官网指导部署seafile服务,却在 ./seahub.sh start 这一步出现这个报错 二 原因是serfile要在mysql创建用户 三 ALTER USER 'seafile'@'localhost' IDENTIFIED BY 'your_password' PASSWORD E 阅读全文
posted @ 2021-01-03 00:05 lgp20151222 阅读(1287) 评论(0) 推荐(0) 编辑