arrow

玩转Redis-干掉钉子户-没有设置过期时间的key

天大地大妈咪最大 提交于 2020-12-06 18:39:04
   《玩转Redis》系列文章 by zxiaofan 主要讲述Redis的基础及中高级应用。本文是《玩转Redis》系列第【15】篇, 最新系列文章 请前往 公众号“zxiaofan” (点我点我) 查看,或 百度搜索“玩转Redis zxiaofan”(点我点我) 即可。 本文关键字: 玩转Redis、导出没有设置过期时间的key、删除没有设置过期时间的key ; 往期精选 : 《玩转Redis-生产环境如何导入、导出及删除大量数据》 大纲 如何查询Redis中没有设置过期时间的key数量 导出Redis中没有设置过期时间的key 安全删除Redis中没有设置过期时间的key   前段时间公司有新业务需要使用Redis,于是查看了生产一Redis集群的使用情况,用于评估是否能直接接入新业务。此Redis集群购买的阿里云集群社区版,8节点32G;   不看不知道,一看吓一跳。Redis实例共计 450W key,其中 230W 设置了过期时间,也就是说足足有 220W key没有设置过期时间。 What !!! 接近 50% 的数据没有过期时间,完全不符合常理,严重浪费。    不把这些钉子户揪出来,“誓不为猿”。   文末已放 github 联接。 1、如何查询Redis中未设置过期时间的key数量 1.1、使用阿里云【云数据库Redis版管理控制台】查看  

Eslint规则说明

独自空忆成欢 提交于 2020-11-21 06:30:17
" no-alert " : 0 , // 禁止使用alert confirm prompt " no-array-constructor " : 2 , // 禁止使用数组构造器 " no-bitwise " : 0 , // 禁止使用按位运算符 " no-caller " : 1 , // 禁止使用arguments.caller或arguments.callee " no-catch-shadow " : 2 , // 禁止catch子句参数与外部作用域变量同名 " no-class-assign " : 2 , // 禁止给类赋值 " no-cond-assign " : 2 , // 禁止在条件表达式中使用赋值语句 " no-console " : 2 , // 禁止使用console " no-const-assign " : 2 , // 禁止修改const声明的变量 " no-constant-condition " : 2 , // 禁止在条件中使用常量表达式 if(true) if(1) " no-continue " : 0 , // 禁止使用continue " no-control-regex " : 2 , // 禁止在正则表达式中使用控制字符 " no-debugger " : 2 , // 禁止使用debugger " no-delete-var "

XSS过滤JAVA过滤器filter 防止常见SQL注入

允我心安 提交于 2020-11-16 03:27:07
https://www.cnblogs.com/hero123/p/9091625.html Java项目中XSS过滤器的使用方法。 简单介绍: XSS : 跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的特殊目的。 sql注入 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。具体来说,它是利用现有应用程序,将(恶意)的SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。 实现方式,共三步: 第一步 :配置web.xml <filter> <filter-name>xssFilter</filter-name> <filter-class>com.wfcm.xss.XssFilter</filter-class> </filter> <filter-mapping> <filter-name>xssFilter</filter-name>

ssh 跳板机部署

痴心易碎 提交于 2020-11-16 01:57:10
1、首先创建存放日志的文件夹并开放读写权限 mkdir /var/log/jump/ chmod -R 777 /var/log/jump/ 2、将原有ssh程序修改为另外一个名字,然后创建一个执行脚本,脚本中调用原来的ssh程序,只是在调用的时候添加了之前说的tee命令 mv /usr/bin/ssh /usr/bin/ori vi /usr/bin/ssh 新建ssh文件内容如下: 1 #! /bin/ sh 2 3 mkdir -p /var/log/jump/$( whoami ) 4 5 echo $ 1 | grep @ &>/dev/ null && IP=$( echo $ 1 | awk -F ' @ ' ' {print $2} ' ) || IP=$ 1 6 7 LOGNAME=${IP}_$( date + " %F_%T " ) 8 9 ori $ 1 | tee -a /var/log/jump/$( whoami )/${LOGNAME}.log 脚本中首先将访问IP提取出来,然后根据IP和当前时间戳决定日志文件名称,最后调用原有ssh程序(添加tee命令功能) 3、添加执行权限 chmod a+x /usr/bin/ssh ps: /usr/bin/ssh 必须重命名为一个三个字符的名字,要不然会影响scp使用

eslint整改代码遇到的问题和解决方案

纵然是瞬间 提交于 2020-11-15 11:12:21
近期公司前端进行代码规范,整理了一套eslint校验规则,如下所示: rules : { 'no-var' : 'error' , // 禁止使用var 'prefer-const' : 'error' , // 建议使用const 'no-const-assign' : 'error' , // 禁止修改使用const(no-const-assign)声明的变量 'object-shorthand' : 'error' , // 方法属性值简写 'quote-props' : [ 'error' , 'as-needed' ] , // 只对那些无效的标示使用引号 '' 'no-array-constructor' : 'error' , // 数组要求字面量赋值 'no-new-object' : 'error' , // 对象要求字面值创建对象 'array-callback-return' : 'error' , // 在数组方法的回调中强制执行 quotes : [ 'error' , 'single' ] , // string 统一用单引号 '' 'prefer-template' : 'error' , // 建议使用模板字符串 'no-eval' : 'error' , // 禁止使用eval 'no-useless-escape' : 'error' , //

创建简单可视化的JavaScript交互式框图教程

蓝咒 提交于 2020-11-13 10:21:19
dhtmlxDiagram 是一个图表库,只需几行代码就能生成任何你需要的图表。借助自动布局和实时图编辑器,以整齐的层次结构可视化复杂数据。JavaScript dhtmlxDiagram允许您向Web应用程序中添加漂亮的交互式图表,图表和图形。借助这种轻巧而快速的组件,您的数据将以清晰直观的方式表示。 点击下载dhtmlxDiagram试用版 在寻找合适的工具来可视化系统和概念时,请不要忘记JavaScript框图提供的简单有效的决策。这种图表类型有助于快速说明相关系统或主题的主要部分。您可以下载带有此图类型和其他图类型的图表库,以进行30天试用。 框图通常用于在工作初期对系统,过程或概念进行简要描述。它们广泛应用于工程科学,电子学,计算机等应用科学领域,用于创建项目草稿,系统,程序和软件应用程序的一般说明。为了避免分散对核心元素的注意力并提供整个系统的概述,从框图中省略了细节。将来,此类图可能会详细阐述或分为几个图,以帮助进行进一步的设计过程。 此外,您可能会发现依靠JavaScript框图作为草绘想法,项目步骤或某些要点的一种方法很有用。 绘图框图 框图的所有元素在可视化中都起着同等的作用。它们由相似的矩形表示,通常被视为“黑匣子”。 了解这些元素本身与框图的创建过程无关,而更重要的是它们的互连。框图中可能没有层次结构,并且它们的元素可能以闭合回路组织。

C# WinForm快捷键设置技巧

六月ゝ 毕业季﹏ 提交于 2020-11-12 10:38:37
C# WinForm快捷键设置技巧 1、Alt+*(按钮快捷键) 按钮快捷键也为最常用快捷键,其设置也故为简单。在大家给button、label、menuStrip等其他控件的Text属性指定名称时,在其后面加上‘&'然后在加上一个指定字母即可。如:确定(&D),(Alt+D)调用。 如指定多个字母,则第一个为快捷键。如:确定(&OK),(Alt+O)调用;文件(&Fill),(Alt+F)调用。 2、Ctrl+*及其他组合键 把 Form 的 KeyPreview 属性设为 True 使用Modifiers可设置组合键,键盘数字区按键的Keys枚举以D打头,而小键盘上的数字以NumPad打头。按下Ctrl与Shift组合键的方法与其类似,将Ctrl和Alt的枚举转换为int型相加后与Modifiers对比,这样即可判断是否按下了该组合键。 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 private void frmMain_KeyDown( object sender, KeyEventArgs e) { //比如你的窗体名是frmMain,确定按钮btnOK,保存按钮btnSave //单键 switch (e.KeyCode) { case Keys.F1: btnOK_Click( this ,

tmux 终端复用软件

拥有回忆 提交于 2020-11-11 13:41:42
tmux 中的几个名词 在开始使用 tmux 之前我们需要先了解关于 tmux 的几个名词: session, window , pane 在这里我们就把他们分别叫做会话,窗口,窗格 。 通常我们在终端中操作一个任务的时候,一旦终端关闭,任务也就结束了,被强制关闭了,在 tmux 中 使用 session 就可以解决这个问题,我们可以把当前操作的任务隐藏起来,在视觉上让它消失,任务继续执行着,当我们想返回任务做一些操作的时候,它可以很方便的回来,我们通常把上面的操作就做 session 操作,我们可以把 session 给隐藏起来,我们也可以把 session 给真的关掉。 在 tmux 中有一个窗口的概念,我们可以这样要去理解窗口:当前呈现在我们面前的这一个工作区域就是一个窗口(当前的终端界面),窗口可以被不断切割,切割成一个个小块,这一个个小块我们叫做窗格(pane),这就是窗口和窗格的概念,我们把它想象成一块大蛋糕可以切成很多小块蛋糕,窗口可以被分割成很多小的窗格。 总结 : 一个 session 通常指一个任务里面可以有很多窗口,一个窗口又可以有很多的窗格。 tmux 的前缀键 tmux 中的很多操作都是通过快捷键来实现的,通过快捷键我们可以更加高效的完成任务。 如果想使用 tmux 中的快捷键,我们必须使用 tmux 的前缀按键 ctrl + b , 在

ug nx7.5安装方法(图文详解)

南楼画角 提交于 2020-11-02 05:08:41
UG7.5 ,也称NX7.5,自卑西门子收购,软件名字已经改为SIEMENS NX了,ug7.5是一套集成了CAD、CAE 和CAM解决方案,能为设计师们提供最功能齐全的设计环境,能够大大提高产品开发设计中的生产效率,进而降低成本并改进决策,通过在建模、模拟、自动化与测试关联性方面整合一流的几何工具和强大的分析技术,实现了模拟与设计的同步、更迅速的设计分析迭代、更出色的产品优化和更快捷的交付速度,NX 7.5以全新工具提升生产效率,包括推出两套新的加工解决方案(为用户提供了特定的编程任务环境),显著提高零件制造效率,博主提供ug7.5破解版下载,支持32和64系统,附有破解文件,以下是详细的安装破解步骤。 下载地址 : UG7.5安装包 一、安装准备 1、安装前请写在ug其他版本,包括许可证,点击控制面板-uglicsence-将其卸载即可。 2、安装路径不要出现中文字眼,包括你的计算机名 3、NX7.5.lic是许可证文件,请勿改动! 4、文件较大,小编将其上传至百度网盘,请提前下载 百度网盘 。 二、安装许可证文件 1、下载并解压数据包,没有解压软件请下载 好压 。将Crack win32破解文件下的ugs4.lic拷贝到c盘根目录 2、用记事本打开ugs4.lic,用你的计算机名替换this name,然后保存,计算机名右键-计算机-属性即可查看(注意:计算机名也不能带有中文

About Thermal Models

心已入冬 提交于 2020-10-27 18:27:24
Among SPICE models, there are what are called thermal models and thermal dynamic models, which are used to perform simulations relating to heat. We first describe thermal models. We hope the reader will acquire a conceptual image of the general nature of thermal models. What is Thermal Model? A thermal model is a model of an electrical circuit that corresponds to transient thermal resistances, for use in calculations of the thermal circuit associated with the electrical circuit. Thermal resistances are represented by R, and thermal capacities by C. The interchange of thermal circuits and