昨天我在开发后台管理系统的时候,想开发一个缓存清理功能,2个接口,一个接口获取缓存信息,一个接口清空缓存,用的也是 Caffeine 做缓存。
一开始写的时候没想到要加入监控数据,但是在 debug 的时候发现有个 com.github.benmanes.caffeine.cache.Cache.stats()
方法可以获取缓存监控信息,然后就高高兴兴的加入进去了,接口功能都写好后,发现我得到的监控统计数据都是0,然后就 debug 看看为什么为0。
昨天我在开发后台管理系统的时候,想开发一个缓存清理功能,2个接口,一个接口获取缓存信息,一个接口清空缓存,用的也是 Caffeine 做缓存。
一开始写的时候没想到要加入监控数据,但是在 debug 的时候发现有个 com.github.benmanes.caffeine.cache.Cache.stats()
方法可以获取缓存监控信息,然后就高高兴兴的加入进去了,接口功能都写好后,发现我得到的监控统计数据都是0,然后就 debug 看看为什么为0。
很久之前的代码了,当时在一些小地方用到,也没有用到具体的项目中,零零散散的放着,不知道该归类到什么地方,现在直接写到文章里面,给自己做一个留档。
有 TypeScript 和 Java 两个版本,Java 版本其实也是参考了 JavaScript 版本转换过来的。
代码基本上都是抄的,但是太久了,已经不知道抄的是谁的了,当时也没有具体的注释代码来源,现在也懒得去溯源了。Java 版本至少是2017年或更以前的时候抄出来的。
查看更多 >>据说此插件可激活 Atlassian 系列软件。
假设:
JIRA_HOME
为 /opt/atlassian/jira-home
JIRA_INSTALL
为 /opt/atlassian/jira-software
JIRA_ATLASSIAN
为 /opt/atlassian/atlassian-agent.jar
关键词:OpenStack KVM Ubuntu LVM 扩容磁盘;虚拟机 Ubuntu LVM 扩容磁盘;Ubuntu LVM 扩容磁盘;扩容 LVM 分区空间;扩容 LVM 分区;扩容 LVM 卷;
查看更多 >>条件:空闲空间紧跟在 LVM 分区后面,并且没有其他分区。
关键词:制作 OpenStack 虚拟机镜像;使用 QEMU 制作虚拟机镜像;制作 KVM 虚拟机镜像;
最近在使用 OpenStack KVM 虚拟化时,想要创建一个 Ubuntu Server 虚拟机,发现无法直接用 ISO 镜像安装新的虚拟机,后来查阅资料发现需要先制作虚拟机镜像,然后才能创建虚拟机。
此功能已实现,经测试运行正常
MyBatisPlus
本身有了一个 DataPermissionInterceptor
数据权限插件,但是这个插件默认上是没有任何查询条件拼接的,需要自己去实现一个 MultiDataPermissionHandler
接口来创建所需要的条件表达式。
通过这个功能我们可以实现一个数据范围的功能,也就是根据用户的角色、权限不同,来限制用户查询不同的数据范围。
查看更多 >>最近抢了几场演唱会的票都没有抢到,果然票务就是最大的黄牛。想着要是票务能采用公平公正的抽签方式就好了,这样多少还能有点机会。
突然想到了金币云商用的一种比较公平公正的抽签算法,那就根据算法说明,用代码来实现它试着跑一下看看。
查看更多 >>抽签算法如下:
1、抽签计算方法步骤:
注:A:基数;B:翻转数;X:报名次数;Y:种子号,即起始中签号;Z:阶数;
(1)A=(抽签日的上一个工作日的深圳证券交易所深证成指“今收”指数×100)×(抽签日的上一个工作日的深圳证券交易所中小100指数“今收”指数×100)×10000;
注:可登录深圳证券交易所网站历史指数行情查询,详见下文附录。A为整数,不能有小数位。
(2)B=将基数A对应的数字倒序排列(如首位是0,则直接抹去);
(3)Y=B/X后所得的余数加1;
(4)Z=X/中签数量取整数(去掉小数点后的整数);
(5)最终全部中签的报名号,如下:
第一个中签号=Y;
第二个中签号=Y+Z;
第三个中签号=Y+Z*2;
第N个中签号=Y+Z*(N-1);
如果第N个中签号码>总报名次数,那么第N个中签号码=Y+Z*(N-1)-总报名次数。
2、举例说明
如某个预订活动,38674次报名,要抽中1500个中签的报名号:
(1)每个会员通过报名的先后顺序会得到1到38674的号码作为自己的抽签报名号,每个会员的报名号不同。
(2)按照抽签活动公布的抽签日的上一个工作日的深证证券交易所股票指数收盘行情中,深证板指、中小100收盘指数为抽签计算变量。
例如:2019年4月29日深圳证券交易所收盘行情:
深圳板指:9622.49 中小100:6013.23
(3)根据上述计算步骤
基数A为“5786224554270000”;
基准数反转数B为“724554226875”;
获得种子数/起始中签号Y为“8144”;
阶数:Z=38674/1500(取整数),即为25;
第1个中签号=8144;
第2个中签号=8144+25*1;
第3个中签号=8144+25*2;
以此类推,第1222个中签号=8144+25*(1222-1)
第1223个中签号=8144+25*(1223-1)=38694>38674,所以,第1223个中
签号=8144+25*(1223-1)-38674=20
以此类推,第1500个中签号=8144+25*(1500-1)-38674=6945
这个问题很久之前遇到过了,这次遇到另外一个有点类似的问题,那就是 SpringCloudGateway 请求限制 256KB 问题,在这里也记录一下 WebClient 请求限制 256KB 问题的处理方式。
在 How to Resolve Spring Webflux DataBufferLimitException 这篇文章中有提到解决方案,在这里复制一下以做记录。
在创建 WebClient
时设置 exchangeStrategies
参数,示例代码如下:
近日,在把文件上传接口放在 SpringCloudGateway 后发现偶尔上传文件失败问题,经过初步排查前端上传文件超过256KB就会出错,经过简单日志排查,发现是我们的网关问题,错误日志大致如下:
1 | org.springframework.core.io.buffer.DataBufferLimitException: Exceeded limit on max bytes to buffer : 262144 |
tag:
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: false raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true