现在很多人喜欢用md5或md5+salt加密密码存储在数据库中,从技术的角度来说,MD5真的安全,因为MD5是不可逆的,没办法解密,除了撞库这样的方式。关于撞库简单来说就是通过建立大型数据库,将常用的各种句子密码等加密成为密文,并存储在数据库中;然后拿着密文到数据库网站查询,就有可能查到密码。 但在PHP中有更好的密码存储方式:Password Hashing,主要用到了4个函数: //查看哈希值的相关信息 array password_get_info (string $hash) //创建hash密码 stri…

2022年12月30日 0条评论 2464点热度 0人点赞 路灯 阅读全文

Redis的数据是全部存储在内存中的,如果机器突然宕机,那么数据就会全部丢失,因此需要有持久化机制来保证数据不会因为宕机而丢失。Redis 为我们提供了两种持久化方案,一种是基于快照的 RDB,另外一种是基于日志的 AOF。 1. RDB RDB(Redis Database) 通过快照的形式将数据保存到磁盘中。所谓快照,可以理解为在某一时间点将数据集拍照并保存下来。Redis 通过这种方式可以在指定的时间间隔或者执行特定命令时将当前系统中的数据保存备份,以二进制的形式写入磁盘中,默认文件名为dump.rdb。 R…

2022年12月30日 0条评论 1947点热度 0人点赞 路灯 阅读全文

找出占用CPU内存过高的进程 目的:服务器CPU占用高,找出最高的进程分析。 CPU占用率分析 ps -eo user,pid,pcpu,pmem,args --sort=-pcpu |head -n 10 内存占用率分析 ps -eo user,pid,pcpu,pmem,args --sort=-pmem |head -n 10 监控脚本 #!/bin/bash echo "-------------------CUP占用前10排序--------------------------------&qu…

2022年12月29日 0条评论 2192点热度 0人点赞 路灯 阅读全文

在实际开发中,为了提高开发的效率,我们会把常用到的功能封装成方法,这样后期开发需要,拿来即用。 这里分享33个在实际开发中经常需要用到的功能(已封装成方法),分享给到大家。 1、加载js ||css || style const loadRes = function(name, type, fn) { // 加载js || css || style let ref if (type === 'js') { // 外部js ref = document.createElement('sc…

2022年12月29日 0条评论 2106点热度 0人点赞 路灯 阅读全文

1、数组合并 常规写法 利用concat方法来合并数组 const apples = ["红苹果", "绿苹果"]; const fruits = ["西瓜", "草莓", "葡萄"].concat(apples); console.log(fruits); // ['西瓜', '草莓', '葡萄', '红苹果', '绿苹果&#…

2022年12月29日 0条评论 2146点热度 0人点赞 路灯 阅读全文

前言 使用win11自带的SSH工具或在Linux上登录Linux,不需要每次都输入密码。重新整理和操作并记录下来,所有的操作都可在win11的CMD命令行和Linux命令行中完成。 生成公钥文件 ssh-keygen -t rsa 上传公钥文件(win11) 找到自己的公钥路径 (C:\Users\用户名\.ssh) scp C:\Users\用户名\.ssh\id_rsa.pub root@192.168.0.10:~/.ssh 重命名公钥文件 登录linux,此时仍需要密码登陆 ssh root@192.16…

2022年12月29日 0条评论 2200点热度 0人点赞 路灯 阅读全文

什么是Base64? Base64编码是用于将二进制转换成对应的文本的技术。本章节就来了解它的编码规则。参考​​RFC-4648​​ Base64编码表: Base64编码表用了64个字符:A-Z、a-z、0-9、+ 、/,刚好是2的6次方,这也是Base64的由来,Base64每个字符用6个比特位来表示。最后还有一个=用作特殊用途,稍后会介绍,所以Base64编码表共有65个字符。 编码规则 首先将二进制数据按每6个比特位为一组编译成一个Base64的编码表中对应的一个字符。解码就是将Base64的字符依次还原回…

2022年12月29日 0条评论 2131点热度 0人点赞 路灯 阅读全文

server { listen 80; listen [::]:80; server_name b1.mdeve.com mdeve.com www.mdeve.com; rewrite ^(.*)$ https://mdeve.com$1 permanent; } server { listen 443 ssl; listen [::]:443 ssl; server_name mdeve.com www.mdeve.com; charset utf-8; xxxxxxxx }

2022年12月28日 1条评论 3008点热度 0人点赞 路灯 阅读全文

1. MySQL 可以为多个字段创建索引,一个索引可以包括 16 个字段。对于多列索引,过滤条件要使用索引,必须按照索引建立的顺序,依次满足,一旦跳过某个字段,索引后面的字段都无法被使用。如果查询条件中没有使用这些字段中第 1 个字段时,多列(或联合)索引不会被使用。 2. 计算、函数、类型转换(自动或手动)导致索引失效 3. 范围条件右边的列索引失效 应用开发中范围查询,例如:金额查询,日期查询往往都是范围查询。应将查询条件放置 WHERE 语句最后。(创建的联合索引中,务必把范围涉及到的字段写在最后) 4. 不…

2022年12月28日 0条评论 2223点热度 0人点赞 路灯 阅读全文

前言 对于互联网公司来说,随着用户量和数据量的不断增加,慢查询是无法避免的问题。一般情况下如果出现慢查询,意味着接口响应慢、接口超时等问题。如果是高并发的场景,可能会出现数据库连接被占满的情况,直接导致服务不可用。 慢查询的确会导致很多问题,我们要如何优化慢查询呢? 主要解决办法有: 监控sql执行情况,发邮件、短信报警,便于快速识别慢查询sql 打开数据库慢查询日志功能 简化业务逻辑 代码重构、优化 异步处理 sql优化 索引优化 其他的办法先不说,后面有机会再单独介绍。今天我重点说说索引优化,因为它是解决慢查询…

2022年12月28日 0条评论 2116点热度 0人点赞 路灯 阅读全文
18910111216