- VuePress 侧边栏配置与 useSidebar 实用指南
软考鸭
vitepressvitepress博客
在VuePress中,侧边栏(Sidebar)是一个重要的组成部分,用于组织文档结构,提供给用户方便的导航体验。本文将详细介绍如何配置侧边栏,并介绍如何使用useSidebar组合式函数来操作侧边栏的状态。单一侧边栏的配置最简单的侧边栏配置方式是通过一个数组来定义导航结构。每个第一级的项目定义了一个“部分”(section),它应该包含一个文本标题(text)以及实际的导航链接(items)。例如
- npm报错信息集合——基础积累
叶浩成520
node报错npmi报错npm前端node.js
npm报错:1.npmi卡在idealTree:SmtWeb:sillidealTreebuildDeps没进度由于前几天我使用vuepress后,导致node版本切换到了20.11.1后忘记切换回来,导致今天在npmivue2版本的项目时,出现这个报错信息。解决办法,首先要通过nvm切换到node版本16以下,比如我这边是14.21.3然后npmi操作即可2.requesttohttps://r
- Node:解决Error: error:0308010C:digital envelope routines::unsupported的解决方法
码上言
分享vue
问题描述在使用vuepress搭建博客的时候,运行项目发现报错了,检查了node的版本是18+,之前用的是16或14的版本,现在报:Error:error:0308010C:digitalenveloperoutines::unsupported错误。查找了一些资料,大致明白了报错的原因:主要是因为node17版本发布了OpenSSL3.0对算法和秘钥大小增加了更为严格的限制,node17之前版本
- mac OS系统:操作vue文件需要权限
阿莹yes
前端vue.js
出现需要权限的提示原因是因为Mac本身的保护机制,需要取得管理员权限。提示无法写入文件"/Users/****/Desktop/blog-xjy/docs/.vuepress/config.js"(NoPermissions(FileSystemError):Error:EACCES:permissiondenied,open'/Users/****/Desktop/blog-xjy/docs/.
- blog-engine-06-pelican 静态网站生成 支持 markdown 和 reST 语法
老马啸西风
java
拓展阅读blog-engine-01-常见博客引擎jekyll/hugo/Hexo/Pelican/Gatsby/VuePress/Nuxt.js/Middleman对比blog-engine-02-通过博客引擎jekyll构建githubpages博客实战笔记blog-engine-02-博客引擎jekyll-jekyll博客引擎介绍blog-engine-02-博客引擎jekyll-jekyl
- VuePress 启动服务 0.0.0.0:8080/
Williert
错误vue
最近在搭建博客,根据官方教程,应该不会有什么大问题的,但是就是出现了问题。在什么都配置好后,跑服务器,结果什么都跑不起来,而且进度条卡在40%,后面抛出了错误this[kHandle]=new_Hash(algorithm,xofLen);后面一查,发现是node的版本问题(我最近也是重装系统,我晕,搞了我好久)解决方法:SETNODE_OPTIONS=--openssl-legacy-provi
- mac vuepress搭建博客
Miruna
前端学习macoswebpackjavascriptvue.js前端
文章目录一、安装vuepress二、初始化项目三、页面内容配置遇到的问题:四、设置封面页五、配置导航栏nav六、配置侧边栏slider七、配置插件1.UI插件2.支持PWA八、github部署1.创建github仓库2.配置仓库名称3.在项目根目录中,创建一个如下的脚本文件deploy.sh4.运行deploy.sh脚本5.settingGithubPages九、Copy自动加版权信息安装配置自定
- 读 VuePress(三)使用 markdown-it 解析 markdown 代码
晴树SEU
https://www.jianshu.com/p/a95c04a68d14前言在此系列文章的第一篇,我们介绍了Vuepress如何让Markdown支持Vue组件的,但没有提到非Vue组件的其他部分如何被解析。今天,我们就来看看Vuepress是如何利用markdown-it来解析markdown代码的。markdown-it简介markdown-it是一个辅助解析markdown的库,可以完成
- 深入浅出 VuePress(一):如何做到在 Markdown 中使用 Vue 语法
weixin_33836223
markdownjavascriptwebpackViewUI
前言在vuepress刚出时,我就觉得这是个很值得追更的开源项目。果不其然,里面众多的前端编程技巧让我受益良多。于是在周末这种日子里,人家追剧我追码。今天,我就和大家分享下vuepress是如何做到在Markdown中使用Vue语法的。原理众所周知,Markdown是一种标记语言,类似于HTML,它也有对应的语法和词法。而Vue说白了也是一种语法,关键在于,Markdown和Vue代码都可以被解释
- 使用vitepress构建组件库文档
m0_67401920
前端html小程序前端vue.js
使用vitepress构建组件库文档前期调研Vitepress官方文档:https://vitepress.vuejs.org/Vitepress是在Vite之上构建的Vue驱动的静态站点生成器。Vitepress被称为“Vuepress的小弟弟”,它比同类产品具有一些优势。建立在Vite而非Webpack上,因此启动时间,热重装等更快使用Vue3来减少JS的有效负载轻量级Vitepress能够实
- VuePress + Travis CI + Github Pages 全自动上线文档
codexu_461229187
ci/cdgithub前端vue
整体思路1.Github创建项目,本地创建切换到docs分支,通过VuePress构建文档项目(写一些文档),上传至Github。2.TravisCI自动clone后安装依赖、编译、上传至Githubmaster分支。3.通过GitHubPages功能将master分支上的内容展示在web上。相关资料:我的文档看下效果:https://codexu.github.io/我的文档远吗:https:/
- 通过GitHub Action发布vuepress到github Page
leileitang_blog
GitHubAction的概念Githubaction可以帮助我们完成持续集成(CI)和持续部署(CD)。你可以自定义工作流程,而且你还可以引用githubaction市场里面其他人提交的action。可以先熟悉下以下概念:Workflow:工作流可以让你在GitHub上完成构建,测试,打包,发布或部署任意项目。工作流由一个或者多个job组成。workflowfile文件放在.github/wor
- 使用vue-press搭建一个像element一样的组件文档
疯一样的MEI男子
前端工程化vue.jsjavascript前端
系列文章目录VuePress2.0在2021年中旬发布,由webpack改为使用vite进行构建。在vuePress1.0时代,很好的解决了vuePress使用webpack打包构建缓慢的问题。但现在使用vuePress是更好的选择!!!文章目录系列文章目录前言一、为什么选择VuePress而非VitePress一、安装VuePress二、项目结构三、基础文件三、配置文件四、进阶操作1、自动化生成
- Vuepress+Vercel 搭建个人站点
coderlyu
Vuepress+Vercel搭建个人站点效果地址源码地址文章简介Vuepresshttps://vuepress.vuejs.org/zh/Vue、Vue-Router、Webpack驱动的单页应用极简静态网站生成器诞生初衷是为了支持Vue及其子项目的文档需求VuePress常被用来生成说明文档通俗的讲,就是可以将.md文件转变成单个的html页面。利用它的这个功能,也被人们拿来生成个人技术站点
- vuepress搭建个人博客以及部署
niech_cn
个人开发网站搭建前端express个人开发
vuepress,Vue驱动的静态网站生成器,以Markdown为中心的项目结构,以最少的配置帮助你专注于写作。vuepress官网vuepress存在很多主题,也可以自定义设计主题,上传npm使用这里采用vuepress-theme-hope主题模板进行制作vuepress-theme-hope创建项目命令yarn/npm/pnpm都可以yarncreatevuepress-theme-hope
- Linux 增加 SWAP 空间
程序猿进阶
Linux阿里云linux运维服务器后端java面试职场和发展
一、需求通过阿里云启动项目时,使用Vuepressbuild编译静态页面时内存需要800MB,导致内存不够,因此考虑使用swap方式,置换一些内存资源存放swap磁盘。[root@xxxmyblog]#npmrundocs:dev>
[email protected]:dev>vuepressdevdocswaitExtractingsitemetadata...tipApplytheme@vuepr
- 开源wiki系统推荐wiki.js, github上16500+ star,是带数据库的
慎思知行
工具效率javascript开发语言ecmascriptwikijs
有很多好用的wiki开源系统,比如vuepress、docusaurus、mkdocs、docsify。但是这些系统更新内容,需要本地编辑markdown文件,然后再推送发布。今天推荐的wiki.js则是带数据库的哦,也就可以实现动态数据交互咯。官网地址:Wiki.js项目文档:Wiki.js|Wiki.js开源代码库:GitHub-requarks/wiki:Wiki.js|Amodernand
- 使用VuePress搭建个人博客
SongXinXin
原文链接:使用VuePress搭建个人博客|GrowingNotes(goodsxx.cn)
- 学习记录: VuePress的基本使用
旺财麻麻
VuePress文档地址https://vuepress.vuejs.org/项目初始化mkdirvuepress-democdvuepress-demonpminit-y安装vuepress为本地依赖yarnaddvuepress-D创建docs目录在markdown文件中随便写点东西WeChat90b563326f915428c9f33e0072cbe31c.png修改package.json
- 前端学习路线图和一些经验
zhuyuyaya
前端学习前端学习路线
关于前端目前个人建议的一个路线,也是自己之前前端学习时候的一个大致路线,给想要学习前端的小白一个参考,以前自己刚开始接触前端的时候就是不知道该按照什么路线学习eg-前端是做什么的?就是开发网站,移动端,小程序之类的页面调调接口完成页面的渲染个人比较习惯用VsCode来开发前端页面这个VuePress特别提出,就是用来搭建自己的博客网站的一个工具这是官网大家可以去看看:VuePress官网
- 前端学习路线
城南顾北
前端前端学习
前端学习路线大致的路线图:(个人看法)1.笔记管理使用Typora/vscode等工具将笔记存储在本地;破解版:http://www.itmind.net/13398.html使用github/gitee笔记存放到云端;使用githubpage外加vuepress等工具将笔记在线发布;2.git和githubgit教程:https://www.bilibili.com/video/BV1TA411
- 10分钟快速搭建个人博客、文档网站!
骑着牛的奇兵
前端框架前端vue
本文来分享8个现代化前端工具,帮你快速生成个人博客、文档网站!VitePressVitePress是一款静态站点生成器,专为构建快速、以内容为中心的网站而设计。简而言之,VitePress获取用Markdown编写的源内容,为其应用主题,并生成可以轻松部署在任何地方的静态HTML页面。VitePress是Vuepress的更现代化、高效和灵活的替代品,适用于构建快速、易于定制的文档站点。ViteP
- vuePress学习
亮学长
学习
vuePress官网Vue驱动的静态网站生成器简洁至上以Markdown为中心的项目结构,以最少的配置帮助你专注于写作。Vue驱动享受Vue+webpack的开发体验,可以在Markdown中使用Vue组件,又可以使用Vue来开发自定义主题。高性能VuePress会为每个页面预渲染生成静态的HTML,同时,每个页面被加载的时候,将作为SPA运行。#安装yarnglobaladdvuepress#或
- 在Vue3项目中添加Vuepress作为内嵌文档
正宗咸豆花
vue.js前端javascript
在Vue项目中添加Vuepress作为内嵌文档vuepress2vuepress作为一个静态网站库,可以有效的开发网站的文档部分。我们可以在已有的vue项目中添加vuepress作为文档页面。在你的vue项目的根目录中创建docs文件夹mkdirdocscddocs初始化项目gitinitnpminit-y安装Vuepresspnpminstall-Dvuepress@next在package.j
- VuePress部署到GitHub Pages
程序员-小许
githubvueprss
一、gitpush自动部署1、创建用于工作流的文件在项目根目录下创建一个用于GitHubActions的工作流.yml文件name:docson:#每当push到main分支时触发部署push:branches:[main]#手动触发部署workflow_dispatch:jobs:docs:runs-on:ubuntu-lateststeps:-uses:actions/checkout@v4w
- 三分钟搭建一个博客网站
摸魚散人
javavue
三分钟搭建一个博客网站基于vuepress-theme-hope和githubpages样品-我的博客准备运行环境安装nodejs下载地址安装pnpm参考资料创建项目模板pnpmcreatevuepress-theme-hopemy-docs创建过程PowerShell7.4.0PSC:\Users\daiwencheng\Documents\BaiduSyncdisk\ob\ob\blogs>p
- vuepress2 打包后刷新页面侧边栏丢失问题
goms
vue.js
问题:打包后刷新页面时侧边栏丢失问题原因:node版本问题文档中写着依赖环境Node.jsv18.16.0+我当时的版本是16.19.0我应该算是遇到了两个问题【刷新后侧边栏消失】【刷新后页面内容加载错误】我看了控制台,侧边栏不出现的原因,应该是样式那块处理坏掉了,因为我设置了首页,首页的的class是home,普通页面的的class是page。刷新后普通页面的class还是home,这应该就是侧
- 个人博客主题 vuepress-hope
jingxindeyi
工具推荐vuepress个人博客
文章目录1.简介2.配置2.1个人博客,社媒链接配置非常推荐vuepress-hope1.简介下面的我的博客文章的截图通过md写博客并且可以同步到github-page上2.配置2.1个人博客,社媒链接配置配置文件.vuepress/theme.tsblog:{medias:{BiliBili:"https://bilibili.com",Tumblr:"https://blog.csdn.net
- TS
rainbowdiary
ts
这里写目录标题TS是什么?what为什么?why怎么用?howjs项目如何引入tsreact项目如何使用ts开发vue项目如何引入ts开发使用VuePress搭建在线文档网站平时用到的类型接口enum类型断言操作符:as面试题TS是什么?whatJS高级为什么?why提高开发效率怎么用?how一、下载npminstall-gtypescripttsc-V二、如何编译成js方法1:手动编译tsche
- VuePress-theme-hope 搭建个人博客 2【快速上手】 —— 安装、部署 防止踩坑篇
爱吃果蔬的猫
vue.js前端框架
续VuePress、VuePress-theme-hope搭建个人博客1【快速上手】项目常用命令vuepressdev[dir]会启动一个开发服务器,以便让你在本地开发你的VuePress站点。vuepressbuild[dir]会将你的VuePress站点构建成静态文件,以便你进行后续部署。使用模板如果使用VuePressThemeHope模板,可以在package.json中发现下列三个命令:
- 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层,要保证针对主库进行写操作,对多个从库进行读操作。当然在一些请求中,为了避免主从复制的延迟导致的数据不一致性,部分的读操作也要到主库上。(这种需求一般通过业务垂直分开,比如下单业务的代码所部署的机器,读去应该也要从主库读取数