超好用的 Docker 可视化管理工具
今天给大家介绍一个超好用的一款 Docker 容器可视化工具。叫 Portainer,中文名叫集装箱起重机。听名字就知道是个狠角色。把 Docker 吊起来打 首先来看下页面 非常的大气简洁,有一些功能很实用,像什么重启,停止,删除点个按钮就可以实现。 1. 安装镜像 我们先创建 portainer 的目录,这里我选择 /usr/local/docker 下 创建 portainer 文件夹 下载最新版的 portainer 1docker pull portainer/portainer 2. 安装汉化包因为 portainer 默认英文,我们需要下载汉化包,进入 portainer 的目录 (这一步很重要,不然汉化包挂载不到容器内部) 12cd portainerwget https://labx.me/dl/4nat/public.zip --2022-05-01 23:09:00-- https://labx.me/dl/4nat/public.zip 解压汉化包 (这里如果报错,是因为没有下载 unzip 解压软件) 12# 解压unzip...
研究 guava 布隆过滤器
介绍 布隆过滤器采用一个很长的二进制数组,通过一系列的 Hash 函数来确定该数据是否存在 使用场景 redis 防止缓存击穿的解决方案 数据去重 过滤垃圾信息 简单原理 布隆过滤器本质上是一个二进制数组,元素的值不是 1 就是 0. 当我们存一个商品 id 为 10 的商品,假设我们经过三次哈希,存的数组下标为 1,3,7,就将这三个下标的元素改为 1. 这样每次访问 redis 之前,先访问布隆过滤器。查询 id 为 10 的商品的时候,经过布隆过滤器的哈希算法,获取到该商品对应的下标是 1,3,7。那么,如果这三个数组的下标对应的元素都为 1 则表示存在该商品,放行这次请求。如果有一个为 0,则不存在该商品。 布隆过滤器判断存在不一定真的存在,但是,判断不存在则一定不存在。 针对布隆过滤器的一些误判,我们可以增加二进制数组位数或者增加 Hash 次数来解决。 使用布隆过滤器并测试引入谷歌 guava 依赖 12345<dependency> ...
SpringBoot 通过 Ajax 异步上传图片
由于之前使用的是 SSM 框架,使用的是自己的 Tomcat, 换上 SpringBoot 之后 Tomcat 就成内置的了,继续用以前的方法上传都上传在了随机位置,研究了一下图片上传和预览 记录一下需要用到 2 个工具类 (工具类也是从网上下载的), 文末会附上工具类 首先我们要知道 ajax 上传需要的三个重要属性cache: 默认值 true 代表缓存 当设置为 false 的时候,再次发送请求,读的是浏览器的数据而不是之前缓存在浏览器中的数据 可以保证每次都是新的数据processData: 是否序列化数据,默认值是 true 代表将数据序列化,这里我们上传文件设置为 falsecontentType: 默认值 application/x-www-form-urlencoded 是设置我们发送给服务器的数据格式,而常用的 dataType 则是设置我们收到服务器数据的格式先来看一下前台页面,一个简单的上传图片按钮和一个下载按钮 js 中是对应的函数 12345678910111213141516171819202122<html lang="en"...