由Redis的hGetAll函数所引发的一次服务宕机事件

昨晚通宵生产压测,终于算是将生产服务宕机的原因定位到了,心累。这篇博客,算作一个复盘和记录吧。。。 先来看看Redis的缓存淘汰算法思维导图: 说明:当实际占用的内存超过Redis配置的maxmemory时,Redis就会根据用户选择淘汰策略清除被选中的key。 业务场景:用户通过微信入口来访问一个页面; 测试场景:通过多线程模拟定量的并发来访问页面服务; 涉及架构:springsession+Redis集群,容器部署; 问题描述:固定并发数压测10分钟,压测开始后半小时,Redis连接数激增
分类: 其他 发布时间: 12-21 22:27 阅读次数: 0

[搜狐科技]由浅入深理解Raft协议

由浅入深理解Raft协议 2017-10-16 12:12操作系统/设计 0 - Raft协议和Paxos的因缘 读过Raft论文《In Search of an Understandable Consensus Algorithm》的同学都知道,Raft是因为Paxos而产生的。Paxos协议是出了名的难懂,而且不够详细,紧紧依据Paxos这篇论文开发出可用的系统是非常困难的。Raft的作者也说是被Paxos苦虐了无数个回合后,才设计出了Raft协议。作者的目标是设计一个足够详细并且简单易懂
分类: 其他 发布时间: 12-21 22:27 阅读次数: 0

博客展示

成员简介:团队成员简介与对应的个人博客地址 https://www.cnblogs.com/banboom/ 朱世杰:组长 前段界面设计者,后端程序设计者,数据库设计者 博客地址:https://www.cnblogs.com/banboom/ 曹晔宁:组员 后端程序设计者,数据库设计者,博客撰写,leangoo界面操作 博客地址:https://www.cnblogs.com/banboom/ 预期用户量 预期的用户:停车场所有者及管理员 预期功能描述:帮助停车场管理员管理车场及车辆 预期用
分类: 其他 发布时间: 12-21 22:27 阅读次数: 0

PBRT笔记(7)——反射模型

基础术语 表面反射可以分为4大类: diffuse 漫反射 glossy specular 镜面反射高光 perfect specular 完美反射高光 retro-reflective distributions 后反射分布 几何坐标系以及工具函数 pbrt中的反射是在反射坐标系中进行计算的。坐标系由着色点处法向量与两个切向量组成,也就是 正交基向量(s,t,n),分别于x,y,z相对齐。以\(( \theta ,\phi)\)球体坐标系来表达方向。 从图8.3中可以了解到以下内容,代码在r
分类: 其他 发布时间: 12-21 22:27 阅读次数: 0

执行插件超过2分钟超时错误,如何办?

摘要: 本人微信公众号:微软动态CRM专家罗勇 ,回复288或者20181221可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me 。 我们都知道,默认情况下Dynamics 365执行的插件有2分钟的限制,若达到2分钟还没有执行完毕,会触发异常,类似如下: System.TimeoutException: Couldn’t complete execution of the custom activity *** plug-
分类: 其他 发布时间: 12-21 22:27 阅读次数: 0

macOS下MySQL 8.0 安装与配置教程

原文:macOS下MySQL 8.0 安装与配置教程 一、前言 1、本教程主要内容 适用Homebrew安装MySQL MySQL 8.0 基础适用于配置 MySQL shell管理常用语法示例(用户、权限等) MySQL字符编码配置 MySQL远程访问配置 2、本教程环境信息与适用范围 环境信息 软件/环境 版本/说明 macOS macOS High Sierra MySQL MySQL 8.0.12 适用范围 软件 版本 macOS macOS MySQL 8.0.x 二、MySQL安装
分类: 其他 发布时间: 12-21 22:27 阅读次数: 0

win10系统的快捷键

1.win10特有的快捷键:任务视图和虚拟桌面相关 (1)Win + Tab:查看任务视图 (2)Win + Ctrl + D:在任务视图中新建虚拟桌面 (3)Win + Ctrl + F4:关闭当前的虚拟桌面 (4)Win + Ctrl +左方向键   Win + Ctrl +右方向键   在虚拟桌面之间相互切换 2.win10特有的快捷键:Cortana和应用程序界面对齐显示 (1)Win + C:唤醒Cortana(小娜)语音助手 (2)Win + 左方向键或Win + 左方向键:可以把
分类: 其他 发布时间: 12-21 22:27 阅读次数: 0

数据结构开发(21):树中属性操作与层次遍历

0.目录 1.树中属性操作的实现 2.树形结构的层次遍历 3.小结 1.树中属性操作的实现 树中结点的数目: 定义功能:count(node) 在 node 为根结点的树中统计结点数目 树结点数目的计算示例: count(A) = count(B) + count(C) + count(D) + 1 在GTree.h中实现统计结点数目: protected: int count(GTreeNode<T>* node) const { int ret = 0;
分类: 其他 发布时间: 12-21 22:27 阅读次数: 0

zabbix自定义监控,自定义图表。

zabbix server: hostname=Zabbix server ip:192.168.100.7 zabbix agent: hostname=host3 ip:192.168.100.3 目前状态如下,使用的全是zabbix自带的监控插件,在某些情况下,我们自己的一些应用,或者系统上的一些值无法被zabbix监控,这时,需要自定义一些监控项,监控项可以直接使用shell命令,bash脚本,开发语言来生成,最终结果是需要返回一个值,交给zabbix进行监控,然后进行一系列操作,下面
分类: 其他 发布时间: 12-21 22:27 阅读次数: 0

SSH Null value was assigned

int和long在数据库中不能为null,可改为封装类:integer
分类: 其他 发布时间: 12-21 22:27 阅读次数: 0

datetime根据年月日分组(mysql)

select * from test group by day(time); time为datetime格式字段 [email protected]
分类: 其他 发布时间: 12-21 22:27 阅读次数: 0

div自适应宽度

.item_sel{ min-width: 141px; width: auto; _width:141px; white-space:nowrap; }
分类: 其他 发布时间: 12-21 22:27 阅读次数: 0

java.sql.SQLException: Column '**' not found.

最近发现一个很不明所以的错误:java.sql.SQLException: Column '**' not found. 起因是: List list = this.getHibernateTemplate().executeFind( new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException, SQLException {System.out.println
分类: 其他 发布时间: 12-21 22:26 阅读次数: 0

mysql只比较月日的情况

数据库只要比较月和日,年份并不在比较的要求之内的时候发现好多方法都不能解决这个问题。因为mysql自带的时间比较都是从年开始比较。因此我也只能通过mysql自带的MONTH和DAY 方法来获取到需要的月份和年份,在通过case_when的方式来实现。 SELECT * from t_Table where CASE WHEN startMonth < MONTH(myDate) then 1=1 //恒真 WHEN startMonth = MONTH(myDate) then DAY(myD
分类: 其他 发布时间: 12-21 22:26 阅读次数: 0

js获取radio选中值

$('input:radio[name="xxx"]:checked').val();
分类: 其他 发布时间: 12-21 22:26 阅读次数: 0

在document的click事件中如何获取元素的参数值

html: <li rid="24" type="1" class="ulitemlicontent"> <div class="ulitemcontent"> <div>dd(我自己)</div> <div class="ulitembtngroup"> <span class="glyphicon glyphicon-chevron-right ulitembtnsp"></span> <ul class="ulitembtngroupul"> <li class="edittimeli"
分类: 其他 发布时间: 12-21 22:26 阅读次数: 0

JSON Object排序

public static JSONArray sortJsonArray(JSONArray array){ JSONArray sortedJsonArray = new JSONArray(); List<JSONObject> jsonValues = new ArrayList<JSONObject>(); for (int i = 0; i < array.size(); i++) { jsonValues.add(array.getJSONObject(i)); } Collec
分类: 其他 发布时间: 12-21 22:25 阅读次数: 0

Java 字符串转成运算公式

转载自:https://www.cnblogs.com/cocoat/p/6956610.html GroovyShell 实现 public static void main(String args[]) { Binding binding = new Binding(); binding.setVariable("F",2.5); binding.setVariable("T",30); binding.setVaria
分类: 其他 发布时间: 12-21 22:25 阅读次数: 0

SolidWorks模型导入Matlab仿真——(二)提高仿真速度,简化模型结构,纠正坐标系

用Matlab仿真sw导出来的模型本身是一件很爽的事情,但在你爽之前经常会出现一些问题会让你很不爽: 导出来自动生成的simulink模型零件过多,模型结构混乱难以整理 simulink仿真速度慢 模型初始位置(home position)不对 这里给出几个能够解决上述情况的建议。 问题一和问题二:用sw导成xml文件前先“洗”一下模型,简化装配体结构。具体步骤如下 把整个装配体按照你的仿真思路拆分成子装配体,构思好简化的装配结构重新装配 把各个子装配体另存为part(注意另存时选择所有零部件
分类: 其他 发布时间: 12-21 22:25 阅读次数: 0

Simscape入门(二)—— 给关节加驱动信号报错

1.把simulink-PS converter模块里面的Input Handling参数分别改成 Filter input,derivatives calculated Second-order filtering 时间常数随意 2.模型配置参数(Modeling configuration parameter)那块把solver改成ode23s
分类: 其他 发布时间: 12-21 22:24 阅读次数: 0