- docker部署mysql5.7
a cool fish(无名)
docker容器运维
1.拉取MySQL5.7镜像打开终端或命令行,执行以下命令来拉取MySQL5.7的Docker镜像:dockerpullmysql:5.72.运行MySQL容器使用以下命令来运行MySQL容器,并将其端口映射到主机的端口上,以便外部用户可以访问:dockerrun--namemysql57-eMYSQL_ROOT_PASSWORD=my-secret-pw-p3306:3306-dmysql:5.
- 报错:playwright._impl._api_types.Error It looks like you are using Playwright Sync API insi
m0_74824123
python前端服务器
问题描述在正常使用playwright串行接口时报错:playwright._impl._api_types.Error:ItlookslikeyouareusingPlaywrightSyncAPIinsidetheasyncioloop.PleaseusetheAsyncAPIinstead.我个人是在自己写一个用playwright实现的webagent项目(webarena)相关时,使用脚
- halcon三维点云数据处理(十三)reduce_object_model_3d_by_view
mm_exploration
Halcon3dhalcon图像处理点云处理
目录一、reduce_object_model_3d_by_view函数二、reduce_object_model_3d_by_view函数调用过程首先说明一下这部分代码在find_box_3d这个例程中,非常好用的一个坐标系生成函数。一、reduce_object_model_3d_by_view函数通过将3D对象模型投影到虚拟视图并删除给定区域外的所有点来删除3D对象模型中的点。reduce_
- vant tabbar底部导航的使用
vivk2017
jsvantUItabbarvantUI
新建home.js{{item.title}}exportdefault{name:"home",data(){return{active:0,
- 【JavaScript】异常处理详解
Peter-Lu
#JavaScriptjavascript前端ecmascript
文章目录一、JavaScript异常处理概述1.什么是异常?2.为什么需要异常处理?二、JavaScript中的异常类型1.系统异常示例2.自定义异常示例三、异常处理的基本语法1.try...catch详解2.finally详解四、throw关键字1.手动抛出异常2.自定义异常类型五、异常处理的最佳实践1.避免过度捕获异常2.提供有意义的错误信息3.使用finally释放资源4.避免在finall
- docker部署mysql 5.7(开发环境)
运维开发那些事
dockermysqldockermysql
由于最近开发一个devops项目,需要用到mysql,所以为了方便,这里使用docker进行部署。所以记录一下!思路:1、创建相应目录2、创建配置文间3、运行容器4、进入容器内部修改root登录权限5、测试连接(如果是云服务器,需要在防火墙开通相应端口)1、创建相应目录mkdir-p/opt/mysql/{data,logs,conf}chmod777/opt/mysql/logs-R2、创建配置
- 3.Halcon3D点云滤波-降采样/去除离群点/直通滤波/平滑计算/凸包计算
黄晓魚
halcon3dPCL点云处理深度神经网络3d
对点云进行滤波的主要意义和目的有以下几点:去除噪声和异常值:由于设备本身的误差或环境因素的影响,采集到的点云数据中可能会包含一些噪声和异常值。这些噪声和异常值会影响后续的点云处理和分析,因此需要通过滤波处理加以去除。提高数据质量:滤波处理可以有效地提高点云数据的质量和精度,使得点云数据更加准确和可靠。这对于后续的点云处理和分析具有重要的意义。局部计算与调整:点云滤波主要通过局部计算的方式,获得一个
- 7. React Hooks
草木红
#Reactreact.js前端前端框架
官方文档:https://zh-hans.react.dev/reference/react/hooks官方文档:https://zh-hans.legacy.reactjs.org/docs/hooks-intro.htmlRouter6的一个中文文档:https://baimingxuan.github.io/react-router6-doc/react:版本18.2.0node:版本18.
- 扩展Playwright自动等待方法
凌空摘星
python测试工具
扩展Playwright自动等待方法问题尝试使用Playwright自带的机制解决扩展Playwright基本思路实现方法代码解析总结问题Playwright本身自带了非常不错的自动等待机制,在page.click(selector)page.fill(selector,value)之类的元素操作会自动等待元素可见且可操作。但是在项目上进行应用的时候,还是会出现这样那样的问题,比如:页面跳转后的页
- 神经网络常见激活函数 9-CELU函数
亲持红叶
神经网络常见激活函数深度学习机器学习人工智能数学建模神经网络python
文章目录CELU函数+导函数函数和导函数图像优缺点pytorch中的CELU函数tensorflow中的CELU函数CELU连续可微指数线性单元:CELU(ContinuouslyDifferentiableExponentialLinearUnit),是一种连续可导的激活函数,结合了ELU和ReLU的特点,旨在解决ELU在某些情况下的梯度问题。函数+导函数CELU函数CELU(x)={xx≥0α
- 20vue3实战-----使用echarts搭建各种图表
太阳与星辰
前端vue3实战代码规范echarts前端vue3实战后台管理typescript
20vue3实战-----使用echarts搭建各种图表1.实现目标2.实现步骤2.1封装组件2.2使用组件1.实现目标如上,页面上有各种各样类型的图标。这时候需要用到echarts库作为辅助。2.实现步骤首先安装echarts库的步骤就不用多说。2.1封装组件page-echarts/index.ts:importBaseEchartfrom'./src/base-echart.vue'impo
- 将 DeepSeek 接入 WPS,办公效率飞起
deepseek01
AI工具wps
一、效果预览接入DeepSeek后,WPS将新增一个“DeepSeek”选项卡。选中文本后,点击“调用DeepSeek”按钮,即可实现AI对话、写作、排版、绘画、校对、翻译、数据分析、公式执行等多种功能。二、申请APIKey访问官网:前往DeepSeek官网https://api-docs.deepseek.com/zh-cn/,点击“申请APIKey”。注册账号:注册并登录DeepSeek账号,
- android studio优化编译速度
chenhuakang
安卓优化androidstudioandroidgradle
优化步骤1.优化gradle配置:在项目根目录创建一个gradle.properties文件#开启gradle并行编译,开启daemon,调整jvm内存大小org.gradle.daemon=trueorg.gradle.configureondemand=trueorg.gradle.parallel=trueorg.gradle.jvmargs=-Xmx4096m-XX:MaxPermSize
- Java高级特性(基础知识点总结)
杰—
java
文章目录第三章:java高级API1️⃣什么是集合面试题:集合分为2个顶级接口:分别为Collection和Map面试题面试题2:面试题3Map接口:HashMap的数据结构面试题:面试题面试题包装类:JavaApi输入流和输出流会使用File类操作文件或目录File类的构造方法IO流的分类4大顶级抽象父类字符集基础知识:字节输出流写数据的步骤流的关闭与刷新第三章:java高级API1️⃣什么是集
- Unity编辑器扩展C#遍历文件夹以及子目录下的所有图片
charlsdm
C#Unityunity编辑器c#
下边是我自己写的编辑器扩展关于遍历文件夹下边以及子目录下的所有图片,仅提供参考[MenuItem("编辑器扩展关于图集/C#遍历文件夹以及子目录下的所有图片")]staticvoidRefreshAllPicture(){string[]DebugAllImage=newstring[]{};DebugAllImage=KnowAllPicture(
- monkeyrunner连接真机问题
b654010138
monkeyrunnermonkeyrunner
01:10:15E/hierarchyviewer:Unabletogetviewserverversionfromdevice015EF45B0E01A00801:10:15E/hierarchyviewer:Unabletogetviewserverprotocolversionfromdevice015EF45B0E01A00801:10:17E/hierarchyviewer:Unable
- 2024.1.2版本Android Studio gradle下载超时问题处理
粤M温同学
Androidandroidstudioandroid
一、问题背景在项目的根build.gradle里面配置了以下地址后,依旧下载gradle包失败,平常如果出现第三方库或者gradle下载失败,配置以下地址,一般可以下载成功maven{url'https://maven.aliyun.com/repository/public'}maven{url'https://maven.aliyun.com/nexus/content/groups/publ
- 15 大 AWS 服务
在云上(oncloudai)
aws云计算
在不断发展的云计算世界中,AmazonWebServices(AWS)已成为一股主导力量,提供许多服务以满足各种应用程序开发、部署和管理方面的需求。本文将探讨15项AWS服务。这些服务对于构建可扩展、可靠且高效的系统至关重要。1.AmazonEC2(弹性计算云)AmazonEC2是AWS的主干,在云中提供可调整大小的计算容量。它允许您启动虚拟服务器、配置安全和网络以及管理存储。使用Terrafor
- Paimon实战 -- paimon原理解析
阿华田512
Paimon学习必读系列paimon数据湖paimon介绍flink写入
一.简介ApachePaimon原名FlinkTableStore,2022年1月在ApacheFlink社区从零开始研发,Flink社区希望能够将Flink的Streaming实时计算能力和Lakehouse新架构优势进一步结合,促进数据在数据湖上真正实时流动起来,并为用户提供实时离线一体化的开发体验。二.基本概念1、快照(Snapshot)快照捕获表在某个时间点的状态。用户可以通过最新的快照访
- React(6)
一路向前的月光
react.jsjavascript前端
useEffect的基础使用useEffect是一个ReactHook函数,用于在React组件中创建不是由事件引起而是由渲染本身引起的操作,比如发送AJAX请求,更改DOM等等import{useEffect,useState}from"react";//是用于组件创建不是由时间引起而是渲染本身引起的操作比如发送请求//页面加载完成获取数据constURL='http://geek.itheim
- DBeaver连接Oracle报错:ORA-12514
S1901
Orcleoracle
Listenerrefusedtheconnectionwiththefollowingerror:ORA-12514,TNS:listenerdoesnotcurrentlyknowofservicerequestedinconnectdescriptor————————————————1.报错信息2.配置正确结语————————————————如果是第一次连接Oracle数据库的新手,可以参考
- 详解javascript的bind方法
北京王老师
jsvuejavajavascriptpython
JS的bind()方法创建一个新的函数,在bind()被调用时,这个新函数的this被指定为bind()的第一个参数,而其余参数将作为新函数的参数,供调用时使用。通过bind可解决两个问题:1)以隐蔽和优雅的方式解决依赖注入的问题,可以将函数执行需要的上下文环境对象通过bind方法传递给函数,在函数内部直接使用this来引用。2)解决多层调用时this对象无法传递给内部函数的问题,实际是第一个问题
- Linux如何压缩或解压文件到指定目录
S1901
CentOS7Linuxshell编程Linuxtar命令解压压缩文件操作
解压文件到指定目录命令格式:tar-zxvf【压缩包文件名.tar.gz】-C【路径】/例如:tar-zxvfaaa.tar.gz-C/tmp/压缩文件到指定目录命令格式:tar-zcvf【目录】/【压缩包文件名.tar.gz】【源文件】例如:tar-zcvf/tmp/test.tar.gzjapan/注意:一次压缩多个文件时,直接在源文件后用空格格开即可。
- Halcon 维测量: 点云数据处理与断线拟合
QfcaLinux
点云
在三维视觉领域,点云数据处理是一项重要的任务。本文将介绍如何使用Halcon来进行点云图转深度图、点云滤波以及断线拟合等维测量操作。我们将通过详细的代码示例来说明每个步骤的实现方法。点云图转深度图:点云图转深度图是将一个由三维点坐标组成的点云数据转换为二维深度图的过程。这对于后续的形状分析和特征提取等任务非常有用。下面是使用Halcon实现点云图转深度图的代码示例:create_scene3d_f
- 【Docker】从瀑布开发到敏捷开发
阿猿收手吧!
#Docker敏捷流程开发语言
引言软件开发方法论是指导团队如何规划、执行和管理软件项目的框架。随着软件行业的不断发展,开发方法论也在不断演进。从传统的瀑布开发到现代的敏捷开发,软件开发方法论经历了深刻的变革。本文将详细探讨瀑布开发和敏捷开发的定义、特点、优缺点以及适用场景,帮助读者更好地理解这两种开发方法,并为实际项目中的方法论选择提供参考。1.瀑布开发(WaterfallDevelopment)1.1什么是瀑布开发?瀑布开发
- vant4组件库van-tabbar底部栏使用
LiliRush
前端
在van-tabbar-item标签属性to值为要跳转的路由,增加图标使用命名插槽#icon,当点击是获取插槽active的值,当点击这个选择时获取active是true,相反不点击时是false,根据active更改组件cp-icon传值从而更改当前的图标。ps:cp-icon图标组件在使用svg插件
- 一:nextcloud27+nginx +ssl傻瓜式安装教程
LB33333
nextcloudnginxsslnginxssl运维开源软件笔记经验分享linux
installnextcloudubuntu22.04nginx在Ubuntu22.04上安装Nextcloud并使用Nginx作为Web服务器的步骤如下:环境说明操作系统:ubuntu2204PHP版本:8.2nextcloud:27安装和配置PHP使用以下命令安装PHP和必要的组件(多余的组件将在优化nextcloud中用到,所以一并给它装上):sudoaptupdate&&sudoaptup
- Dav_笔记13:SQL Access Advisor 之 2 使用SQL Access Advisor-2
Dav_2099
Oracle优化系列笔记sqljava
使用SQLAccessAdvisor-2本节讨论有关SQLAccessAdvisor的一般信息和使用所需的步骤,包括:■使用建议书使用建议书本节讨论使用建议的以下方面:■建议和行动■推荐选项■评估模式■在建议分析期间查看中间结果■生成建议书■查看建议■停止推荐流程■标记建议■修改建议■生成SQL脚本■脚本包括分区建议时的特殊注意事项■何时不再需要建议书建议和行动SQLAccessAdvisor提出
- Dav_笔记12:Automatic SQL Tuning 之 3 SQL-Tuning
Dav_2099
Oracle优化系列笔记sql数据库oracle
使用SQLTuningAdvisor进行无限调优您可以手动调用SQLTuningAdvisor以按需调整一个或多个SQL语句。要调整多个语句,必须创建SQL调优集(STS)。SQL调优集是一个数据库对象,它存储SQL语句及其执行上下文。您可以使用命令行API或企业管理器创建SQL调优集。请参见“Dav_笔记12:AutomaticSQLTuning之4管理SQL调优集”。输入源SQLTuningA
- Dav_笔记8-Managing Optimizer Statistics之管理统计
Dav_2099
笔记oracle数据库
管理统计本节包括以下主题:■PendingStatistics待定统计■ManagingExtendedStatistics管理扩展统计■RestoringPreviousVersionsofStatistics还原以前版本的统计信息■ExportingandImportingStatistics导出和导入统计信息■RestoringStatisticsVersusImportingorExpor
- SQL的各种连接查询
xieke90
UNION ALLUNION外连接内连接JOIN
一、内连接
概念:内连接就是使用比较运算符根据每个表共有的列的值匹配两个表中的行。
内连接(join 或者inner join )
SQL语法:
select * fron
- java编程思想--复用类
百合不是茶
java继承代理组合final类
复用类看着标题都不知道是什么,再加上java编程思想翻译的比价难懂,所以知道现在才看这本软件界的奇书
一:组合语法:就是将对象的引用放到新类中即可
代码:
package com.wj.reuse;
/**
*
* @author Administrator 组
- [开源与生态系统]国产CPU的生态系统
comsci
cpu
计算机要从娃娃抓起...而孩子最喜欢玩游戏....
要让国产CPU在国内市场形成自己的生态系统和产业链,国家和企业就不能够忘记游戏这个非常关键的环节....
投入一些资金和资源,人力和政策,让游
- JVM内存区域划分Eden Space、Survivor Space、Tenured Gen,Perm Gen解释
商人shang
jvm内存
jvm区域总体分两类,heap区和非heap区。heap区又分:Eden Space(伊甸园)、Survivor Space(幸存者区)、Tenured Gen(老年代-养老区)。 非heap区又分:Code Cache(代码缓存区)、Perm Gen(永久代)、Jvm Stack(java虚拟机栈)、Local Method Statck(本地方法栈)。
HotSpot虚拟机GC算法采用分代收
- 页面上调用 QQ
oloz
qq
<A href="tencent://message/?uin=707321921&Site=有事Q我&Menu=yes">
<img style="border:0px;" src=http://wpa.qq.com/pa?p=1:707321921:1></a>
- 一些问题
文强chu
问题
1.eclipse 导出 doc 出现“The Javadoc command does not exist.” javadoc command 选择 jdk/bin/javadoc.exe 2.tomcate 配置 web 项目 .....
SQL:3.mysql * 必须得放前面 否则 select&nbs
- 生活没有安全感
小桔子
生活孤独安全感
圈子好小,身边朋友没几个,交心的更是少之又少。在深圳,除了男朋友,没几个亲密的人。不知不觉男朋友成了唯一的依靠,毫不夸张的说,业余生活的全部。现在感情好,也很幸福的。但是说不准难免人心会变嘛,不发生什么大家都乐融融,发生什么很难处理。我想说如果不幸被分手(无论原因如何),生活难免变化很大,在深圳,我没交心的朋友。明
- php 基础语法
aichenglong
php 基本语法
1 .1 php变量必须以$开头
<?php
$a=” b”;
echo
?>
1 .2 php基本数据库类型 Integer float/double Boolean string
1 .3 复合数据类型 数组array和对象 object
1 .4 特殊数据类型 null 资源类型(resource) $co
- mybatis tools 配置详解
AILIKES
mybatis
MyBatis Generator中文文档
MyBatis Generator中文文档地址:
http://generator.sturgeon.mopaas.com/
该中文文档由于尽可能和原文内容一致,所以有些地方如果不熟悉,看中文版的文档的也会有一定的障碍,所以本章根据该中文文档以及实际应用,使用通俗的语言来讲解详细的配置。
本文使用Markdown进行编辑,但是博客显示效
- 继承与多态的探讨
百合不是茶
JAVA面向对象 继承 对象
继承 extends 多态
继承是面向对象最经常使用的特征之一:继承语法是通过继承发、基类的域和方法 //继承就是从现有的类中生成一个新的类,这个新类拥有现有类的所有extends是使用继承的关键字:
在A类中定义属性和方法;
class A{
//定义属性
int age;
//定义方法
public void go
- JS的undefined与null的实例
bijian1013
JavaScriptJavaScript
<form name="theform" id="theform">
</form>
<script language="javascript">
var a
alert(typeof(b)); //这里提示undefined
if(theform.datas
- TDD实践(一)
bijian1013
java敏捷TDD
一.TDD概述
TDD:测试驱动开发,它的基本思想就是在开发功能代码之前,先编写测试代码。也就是说在明确要开发某个功能后,首先思考如何对这个功能进行测试,并完成测试代码的编写,然后编写相关的代码满足这些测试用例。然后循环进行添加其他功能,直到完全部功能的开发。
- [Maven学习笔记十]Maven Profile与资源文件过滤器
bit1129
maven
什么是Maven Profile
Maven Profile的含义是针对编译打包环境和编译打包目的配置定制,可以在不同的环境上选择相应的配置,例如DB信息,可以根据是为开发环境编译打包,还是为生产环境编译打包,动态的选择正确的DB配置信息
Profile的激活机制
1.Profile可以手工激活,比如在Intellij Idea的Maven Project视图中可以选择一个P
- 【Hive八】Hive用户自定义生成表函数(UDTF)
bit1129
hive
1. 什么是UDTF
UDTF,是User Defined Table-Generating Functions,一眼看上去,貌似是用户自定义生成表函数,这个生成表不应该理解为生成了一个HQL Table, 貌似更应该理解为生成了类似关系表的二维行数据集
2. 如何实现UDTF
继承org.apache.hadoop.hive.ql.udf.generic
- tfs restful api 加auth 2.0认计
ronin47
目前思考如何给tfs的ngx-tfs api增加安全性。有如下两点:
一是基于客户端的ip设置。这个比较容易实现。
二是基于OAuth2.0认证,这个需要lua,实现起来相对于一来说,有些难度。
现在重点介绍第二种方法实现思路。
前言:我们使用Nginx的Lua中间件建立了OAuth2认证和授权层。如果你也有此打算,阅读下面的文档,实现自动化并获得收益。SeatGe
- jdk环境变量配置
byalias
javajdk
进行java开发,首先要安装jdk,安装了jdk后还要进行环境变量配置:
1、下载jdk(http://java.sun.com/javase/downloads/index.jsp),我下载的版本是:jdk-7u79-windows-x64.exe
2、安装jdk-7u79-windows-x64.exe
3、配置环境变量:右击"计算机"-->&quo
- 《代码大全》表驱动法-Table Driven Approach-2
bylijinnan
java
package com.ljn.base;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.uti
- SQL 数值四舍五入 小数点后保留2位
chicony
四舍五入
1.round() 函数是四舍五入用,第一个参数是我们要被操作的数据,第二个参数是设置我们四舍五入之后小数点后显示几位。
2.numeric 函数的2个参数,第一个表示数据长度,第二个参数表示小数点后位数。
例如:
select cast(round(12.5,2) as numeric(5,2))
- c++运算符重载
CrazyMizzz
C++
一、加+,减-,乘*,除/ 的运算符重载
Rational operator*(const Rational &x) const{
return Rational(x.a * this->a);
}
在这里只写乘法的,加减除的写法类似
二、<<输出,>>输入的运算符重载
&nb
- hive DDL语法汇总
daizj
hive修改列DDL修改表
hive DDL语法汇总
1、对表重命名
hive> ALTER TABLE table_name RENAME TO new_table_name;
2、修改表备注
hive> ALTER TABLE table_name SET TBLPROPERTIES ('comment' = new_comm
- jbox使用说明
dcj3sjt126com
Web
参考网址:http://www.kudystudio.com/jbox/jbox-demo.html jBox v2.3 beta [
点击下载]
技术交流QQGroup:172543951 100521167
[2011-11-11] jBox v2.3 正式版
- [调整&修复] IE6下有iframe或页面有active、applet控件
- UISegmentedControl 开发笔记
dcj3sjt126com
// typedef NS_ENUM(NSInteger, UISegmentedControlStyle) {
// UISegmentedControlStylePlain, // large plain
&
- Slick生成表映射文件
ekian
scala
Scala添加SLICK进行数据库操作,需在sbt文件上添加slick-codegen包
"com.typesafe.slick" %% "slick-codegen" % slickVersion
因为我是连接SQL Server数据库,还需添加slick-extensions,jtds包
"com.typesa
- ES-TEST
gengzg
test
package com.MarkNum;
import java.io.IOException;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.annotation
- 为何外键不再推荐使用
hugh.wang
mysqlDB
表的关联,是一种逻辑关系,并不需要进行物理上的“硬关联”,而且你所期望的关联,其实只是其数据上存在一定的联系而已,而这种联系实际上是在设计之初就定义好的固有逻辑。
在业务代码中实现的时候,只要按照设计之初的这种固有关联逻辑来处理数据即可,并不需要在数据库层面进行“硬关联”,因为在数据库层面通过使用外键的方式进行“硬关联”,会带来很多额外的资源消耗来进行一致性和完整性校验,即使很多时候我们并不
- 领域驱动设计
julyflame
VODAO设计模式DTOpo
概念:
VO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。
DTO(Data Transfer Object):数据传输对象,这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载,但在这里,我泛指用于展示层与服务层之间的数据传输对
- 单例设计模式
hm4123660
javaSingleton单例设计模式懒汉式饿汉式
单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。
&nb
- logback
zhb8015
loglogback
一、logback的介绍
Logback是由log4j创始人设计的又一个开源日志组件。logback当前分成三个模块:logback-core,logback- classic和logback-access。logback-core是其它两个模块的基础模块。logback-classic是log4j的一个 改良版本。此外logback-class
- 整合Kafka到Spark Streaming——代码示例和挑战
Stark_Summer
sparkstormzookeeperPARALLELISMprocessing
作者Michael G. Noll是瑞士的一位工程师和研究员,效力于Verisign,是Verisign实验室的大规模数据分析基础设施(基础Hadoop)的技术主管。本文,Michael详细的演示了如何将Kafka整合到Spark Streaming中。 期间, Michael还提到了将Kafka整合到 Spark Streaming中的一些现状,非常值得阅读,虽然有一些信息在Spark 1.2版
- spring-master-slave-commondao
王新春
DAOspringdataSourceslavemaster
互联网的web项目,都有个特点:请求的并发量高,其中请求最耗时的db操作,又是系统优化的重中之重。
为此,往往搭建 db的 一主多从库的 数据库架构。作为web的DAO层,要保证针对主库进行写操作,对多个从库进行读操作。当然在一些请求中,为了避免主从复制的延迟导致的数据不一致性,部分的读操作也要到主库上。(这种需求一般通过业务垂直分开,比如下单业务的代码所部署的机器,读去应该也要从主库读取数