springBoot 安装创建1、创建一个新项目2、选择spring initalizr , 可以看到默认就是去官网的快速构建工具那里实现3、填写项目信息4、选择初始化的组件(初学勾选 Web 即可)5、填写项目路径6、等待项目构建成功目录结构src 主程序编写入口target 包文件pom.xml 框架配置文件打包: maven--》package--》java -jar ./打包后的jar文件跑起程序在主程序的同级目录下,新建一个controller包,一定要在同级目录下,否
javaWeb JDBC说明JDBC规范定义接口,具体的实现由各大数据库厂商来实现程序员如果要开发访问数据库的程序,只需要会调用JDBC接口中的方法即可,不用关注类是如何实现的。使用同一套Java代码,进行少量的修改就可以访问其他JDBC支持的数据库核心apiDriverManager类 管理和注册数据库驱动,得到数据库连接对象Connection接口 一个连接对象,可用于创建Statement和PreparedStatement对象Stateme
java基础学习笔记 异常try{ // 程序体}catch(){ // 抛出异常}finally{ // 不管成功还是失败都执行}简单的不写了String对象新建:String s1 = new String(“111”);System.out.println("s1:" + s1);字符串比较== 比较基本数据类型:比较的是具体的值== 比较引用数据类型:比较的是对象地址值equals方法的作用:比较两个字符串内容是否相同、区分大小写字符串遍历l
Elasticsearch学习笔记 并发版本控制在并发量大的情况下,同时修改某一条数据会出现并发冲突解决方法可以加锁:乐观锁,以及悲观锁1、先查询数据 127.0.0.1:9200/example/_doc/1 //获取当前的_seq_no以及_primary_term参数2、执行修改操作 127.0.0.1:9200/example/_doc/1?if_seq_no=4&if_primary_term=1 //这里携带版本参数即可实现乐观锁冲突的情况:{ "error": {
php使用ElasticSearch 解释ESElasticsearch 是一个基于 Lucene 的搜索引擎。它提供了具有 HTTP Web 界面和无架构 JSON 文档的分布式,多租户能力的全文搜索引擎。Elasticsearch 是用 Java 开发的,根据 Apache 许可条款作为开源发布。映射关系- 其就是对创建索引的时候给字段建立类型,随后要插入的字段必须遵循以定义好的字段类型进行插入- keyword类型不能被分词,text可以被分词倒排索引ES是一个倒排索引进行检索的倒排索引指的是:通过关键字,查询主键id
HTTP与Web安全总结 网络七层协议OSI物理层定义物理设备标准进行比特流传输数据链路层数据检查纠错,保证正确传输帧数据数据检查纠错,保证正确传输帧数据网络层数据的路由寻址,可以是IP,ICMP等传输层提供端对端的接口,TCP,UDP会话层会话的建立与结束,数据传输同步表示层数据格式的转化应用层与用户应用程序的接口,比如实现Http,ftp,smtp,dns,telnet等HTTP简介超文本传输协议,基于TCP/IP通信协议来传递数据特点
千篇一律的MySql总结 MySql主键和唯一索引主键一定会创建唯一索引,但唯一索引不一定是主键主键不允许为空,唯一索引列允许为空一个表只能有一个主键,但可以有多个唯一索引(联合主键只能看成一个主键,因为是多个主键字段表示唯一行)主键可以被其他表引用为外键,唯一索引不行主键是一种约束,唯一索引是一种索引,是表的冗余数据结构,用来快速查找,两者有本质区别索引类型hash索引优点:采用哈希表,对key值分散的等值查询速度较快缺点:不支持范围查询,不支持多列索引的最左匹配规则,不支持索引排序,在大量重复的键值情况
laravel自定义分页方法 laravel自定义分页方法laravel模型中的 paginate方法可以实现分页,不过想扩展的话可以看下一下部分使用系统类,Illuminate\Pagination\LengthAwarePaginator实现构造方法的参数既可以实现分页其实paginate方法也就是实现这个系统的这个类而已实例use Illuminate\Pagination\LengthAwarePaginator;use Illuminate\Http\Request; public func
tp极光推送 JPush API PHP Client这是 JPush REST API 的 PHP 版本封装开发包,是由极光推送官方提供的,一般支持最新的 API 功能。对应的 REST API 文档: https://docs.jiguang.cn/jpush/server/push/server_overview/支持的 PHP 版本: 5.3.3 ~ 5.6.x, 7.x若需要兼容 PHP 5.3.3 以下版本,可以使用 v3 分支的代码。因为运行 Composer 需要 PHP 5.3.2+ 以
nginx日常 nginxlaravel 配置文件server { listen 80; server_name www.xuyuqian.host; root /var/www/A_laravel/dashuaige/A_laravel/public; index index.html index.htm index.php; charset utf-8; access_log /var/log/nginx/host.access.log m
laravel安装 GatewayWorker安装和应用 laravel安装 GatewayWorker安装和应用安装下载地址:https://www.workerman.net/download/GatewayWorker.zip安装到项目跟目录下应用打开安装目录,找到start_for_win.bat文件,双击打开即可编写前端文件文件位置随意<!doctype html><html lang="en"><head> <meta charset="UTF-8">
laravel自定义验证类 laravel自定义验证类准备条件laravel版本5.5x~对laravel有一点熟悉开始封装 获取控制器且成员方法的公共函数前提交件:新建一个公共类,里面写公共方法/** * 获取当前控制器与方法 */function getCurrentAction(){ $route = \Route::currentRouteAction(); list($class, $action) = explode('@', $route); return ['c
redis_key设计 redis_key设计1、string类型key设计原则:key的唯一性见名知意 ;例如(user:1:add_time)不会重叠2、hash哈希用法:秒杀商品,购物车 聚合信息key设计原则:例如购物车:car:user:1002 [sku_id1=>1, sku_id2=>3] sku+数量3、list列表用法:关注、推荐、、订阅、支付通知、消息模板通知key设计原则:lpush user:123 009栈、队列、阻塞队列先进后出:栈
laravel下的excle使用 laravel下的excle使用安装1、composer.json文件下require属性添加 "maatwebsite/excel": "^3.1"2、composr update3、配置文件app.php下providers数组中添加 :Maatwebsite\Excel\ExcelServiceProvider::class, aliases数组添加:'Excel' => Maatwebsite\Excel\Facades\Excel::class,使用导出使用新建(
Redis持久化及安全 缓存击穿网络流量查询 key=luke的值,此时Redis的值恰巧直接过期了,如果有50000个用户并发来查询key=luke,全 到Mysql里去查, Mysql会挂掉;解决方案:1、设置热点数据永不过期2、接口限流与熔断、降级。做好被恶意刷接口,同时要降级准备,当接口中某些服务不可用的时候,进行熔断,失败快速返回机制3、设置布隆过滤器,用于快速判断某个元素是否存在,不存在直接返回4、加互斥锁缓存穿透当某些数据不存在与缓存和数据库中,但一直被查询,当用户量大的时候数据库容易崩了解决方案:
php数组常用函数 1、array_change_key_case():把数组中所有键更改为小写或大写。array_change_key_case(array,case);参数 描述array 必需。规定要使用的数组。case 可选。可能的值:CASE_LOWER - 默认值。将数组的键转换为小写字母。CASE_UPPER - 将数组的键转换为大写字母2、array_chunk():把一个数组分割为新的数组块。array_chunk(array,size,preserve_key);参数 描述..
redis类型小笔记 Redis数据类型大图先上:Redis不仅仅是缓存:1、先从Redis缓存里查询数据 如果没有再到Mysql、Pgsql数据库里查询2、db磁盘I/O瓶颈问题优势:1〉速度快2〉键值对的数据结构服务器3〉丰富的功能:4〉简单稳定5〉持久化6〉主从复制8〉高可用和分布式转移9〉客户端语言多应用场景:1,缓存数据库:2,排行榜3,计数器应用4,社交网络5,消息队列(守护进程)6, 其它场景等String类型案例: echo “”; &
配置https/ssl证书 网站加密私钥是不会在网络上传输的,传输的是公钥,私钥存放在服务器,https有一个前置请求,他会把服务器中把公钥取回来,(根据私钥跟随机数R加密之后生成公钥)游览器根据公钥进行加密并进行传输,在服务利用公钥解密获取结果配置https阿里云购买ssl证书,及绑定域名证书签发之后,安装证书到网站下载服务器对应的类型的证书在nginx服务器下面,新建一个cert文件夹,把下载好的证数放进cert文件夹中,其中文件名要按照自己的格式配置nginx配置文件,ngi
Linux基础命令使用及安装Nginx Linux基础命令使用及安装Nginx基础常用命令基础部分ls 查看当前目录及文件参数:-la 传看当前目录的各个信息 [url]路径pwd 查看当前位置cd 进入哪一个目录参数 [url]mkdir 创建一个目录[-p]多级目录创建[url]路径(创建多个目录的情况下要写多个url)touch 创建文件[url]可以多个也可以单个cp (复制文件) [选中url] [粘贴得url]cp (复制目录) -
git常用命令及应用 git应用git init 创建本地版本库git status 查看本地版本库状态 暂存区: 显示绿色 本地库: 显示英文 失败:红色git add . 提交到缓存区git commit -m ‘第一次提交’ 提交到本地库git clone -b master 远程版本连接 本地分支将本地版本库推送到远程版本库(本地版本库状态必须是clean)git push 远程版本库连接 本地的分支(项目文件夹):远程分支git remote add 别名 远程版本