- 简介Shell、zsh、bash
zhaosuningsn
Shellzshbashshelllinuxbash
Shell是Linux和Unix的外壳,类似衣服,负责外界与Linux和Unix内核的交互联系。例如接收终端用户及各种应用程序的命令,把接收的命令翻译成内核能理解的语言,传递给内核,并把内核处理接收的命令的结果返回给外界,即Shell是外界和内核沟通的桥梁或大门。Linux和Unix提供了多种Shell,其中有种bash,当然还有其他好多种。Mac电脑中不但有bash,还有一个zsh,预装的,据说
- Shell、Bash、Zsh这都是啥啊
小白码上飞
bashlinux开发语言
Zsh和Bash都是我们常用的Shell,那先搞明白啥是shell吧。Shell作为一个单词,他是“壳”的意思,蛋壳坚果壳。之所以叫壳,是为了和计算机的“核”来区分,用它表示“为使用者提供的操作界面”。所以这个命名其实很形象,翻译成中文,直译过来叫“壳层”。个人认为这个叫法很奇怪,意译貌似也没有什么好的词汇来匹配。就还是叫shell吧。维基百科给的定义是:Incomputing,ashellisa
- ExpRe[25] bash外的其它shell:zsh和fish
tritone
ExpRebashlinuxubuntushell
文章目录zsh基础配置实用特性插件`autojump`语法高亮自动补全fish优点缺点时效性本篇撰写时间为2021.12.15,由于计算机技术日新月异,博客中所有内容都有时效和版本限制,具体做法不一定总行得通,链接可能改动失效,各种软件的用法可能有修改。但是其中透露的思想往往是值得学习的。本篇前置:ExpRe[10]Ubuntu[2]准备神秘软件、备份恢复软件https://www.cnblogs
- 简单说说关于shell中zsh和bash的选择
秋刀prince
MacOS小猿们的开发日常bash
希望文章能给到你启发和灵感~如果觉得文章对你有帮助的话,点赞+关注+收藏支持一下博主吧~阅读指南开篇说明一、基础环境说明1.1硬件环境1.2软件环境二、什么是shell、bash、zsh?2.1bash2.2zsh三、选择Bash还是Zsh?四、一些常见问题开篇说明本篇主要简单说明一下,shell中bash和zsh的区别和选择;我们经常会把这两个搞混,不知道什么时候用哪一个,以及怎么使用;一、基础
- 使用 macOS 为安卓刷机
粒子二面角
macOS下的解决方案mac安卓
简介相较于window端各种版本层出不穷的安卓刷机教程,在OSX上刷机的教程不仅资源较少,而且多数都年代久远。本帖整合了最新(2020-2),较简单的macOS刷机教程,希望可以帮助到各位。本帖所有操作都基于最新的macOS10.15.3。macOS端准备工作1.终端配置首先将macOS更新到最新的Catalina(10.15)版本,因为在该版本下才能较为简单的将默认终端设置为zsh,具体操作过程
- MAC配置chromedriver
疯狂小代码
macos
最近被Mac系统快搞疯了,环境变量,文件路径的的问题,记录一下~进入命令行工具,确定当前的SHELL环境:echo$SHELL根据自己的SHELL环境选择执行命令:如果显示/bin/bash,则vim~/.bash_profile如果显示/bin/zsh,则vim~/.zshrc注意:现在大多数Mac都是zsh了,好像是升级版什么的,我的是zsh,但是我用bash_profile去配置了环境变量,
- mac报错:zsh: command not found: npm
雾林小妖
Java项目应用2macosnpm
1、问题概述?在mac系统中使用npm命令的时候,macos报错提示:zsh:commandnotfound:npm一般出现发这种情况的原因时没有安装npm,而npm这命令时集成在nodejs中的,所以安装nodejs就可以了。2、解决办法本质就是需要安装nodejs,但是nodejs的安装又依赖brew命令,所以我们需要先安装brew。2.1、安装brew命令https://blog.csdn.
- zsh: command not found: ohpm - mac安装ohpm工具 - 鸿蒙开发
dream9393
harmonyosmacos华为
OHPM简介:OHPMCLI是鸿蒙生态三方库的包管理工具,支持OpenHarmony共享包的发布、安装和依赖管理。安装开发工具DevEcoStudio--自带了ohpm,所以无需单独下载ohpmohpm使用指导官网地址:文档中心注意:ohpm命令只能在DevEcoStudio开发工具里使用,不能在mac电脑自带的终端里使用。安装指南:查看是否已经安装,终端命令:ohpm-v如果报错zsh:comm
- 遇到的BUG及解决方法
饿了就干饭
NLP项目bug
问题描述问题解决PyCharm添加Anaconda中的虚拟环境,Python解释器出现Condaexecutableisnotfound链接配置环境出错.bashrc:16:commandnotfound:shopt链接解决“zsh:commandnotfound:模块“错误链接The“freeze_support()“linecanbeomittediftheprogramisnotgoingt
- 改变mac的默认终端&背景色&显示分支
尼古拉斯-托尔斯泰-赵四
macmacosgitmacterminal终端
什么是zshzsh是shell的一种,但是并不是我们系统默认的shell,unix衍生系统的默认shell都是bash。mac默认使用的是哪种shellzsh查看已安装的shell$cat/etc/shells/bin/bash/bin/csh/bin/ksh/bin/sh/bin/tcsh/bin/zsh将默认shell改成bash$chsh-s/bin/bash怎么配置显示git分支$vi~/
- linux terminal文件查找
xidianhuihui
maclinuxchrome运维
以下所有命令仅仅只做常见用法的介绍,不做详细的参数介绍如需详细介绍,可到https://man.linuxde.net查阅以下的显示结果均为使用oh-my-zsh的显示结果,如果是使用bash可能略有差异注意:zsh默认情况下不支持*通配符匹配,需要在~/.zshrc中添加setoptnonomatch即可。1.whichwhich命令用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找
- MAC M1通过AndroidStudio JRE来配置JDK的路径
xuanwenchao
java环境配置androidstudioandroid
安装MacM1芯片版本的AndroidStudio,版本如下:下载地址启动AndroidStudio同步成功后打开AndroidStudio的Preferences-Build,Execution,Deployment-BuildTools-Gradle可以看到GradleJDK的路径,将该路径在命令行下复制好我的MAC系统版本是Monterey12.5.1,因此应该将环境变量添在到zshrc文件
- 在Mac电脑安装Homebrew并且配置环境变量
木之泪
IOSmacosHomebrewhomebred配置环境Mac安装homebrewHomebrew安装不了
问题:如何在Mac电脑安装Homebrew?解决:国外的链接容易下载安装失败,国内的镜像速度快,成功率高,进入终端输入以下你所需的链接命令即可:国外链接:/bin/bash-c"$(curl-fsSLhttps://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"国内链接:/bin/zsh-c"$(curl-fsSLhttps
- 为Windows Terminal 配置zsh + Oh-My-Zsh
极北之南。
windows插件zsh
参考:为WindowsTerminal配置zsh+Oh-My-Zsh【核心】https://juejin.cn/post/7229507721795993661https://blog.cloudorz.com/post/configure-zsh-for-windows-terminal/https://zhuanlan.zhihu.com/p/455925403本文以GitBash终端为基础,
- mac终端代理配置指南
heromps
操作系统macos策略模式
终端代理配置指南在macOS中,你可以通过几种不同的方法来配置终端代理。这里介绍两种常见的设置方式:使用alias和shell函数。方法1:使用Alias配置代理打开终端配置文件默认情况下,macOS终端使用的是zsh。如果你的系统是较新的版本(macOSCatalina及以上),你应该使用~/.zshrc文件;对于旧版本系统,可能仍使用~/.bash_profile。打开终端应用程序,输入以下命
- mac zsh模式下安装kubectl命令自动补全工具
杨Jack
k8s
按照关键字“mackubectl命令自动补全”搜索,结果基本都是以bash模式写的,如下:因为我现在的mac默认使用的shell是zsh,所以按照上述方式并不能安装kubectl的命令自动补全工具。傻傻的尝试了很多遍,都不生效。查阅了官方手册,终于找到了答案,亲测有效!官方链接:https://kubernetes.io/zh/docs/tasks/tools/install-kubectl-ma
- mac 安装 mongoDB的若干坑 --原mac bash环境中和(item2 + oh-my-zsh 环境中)安装mongo
Kurtice
mac安装mongoDB的若干坑--原macbash环境中和(item2+oh-my-zsh环境中)安装mongo本文链接:https://blog.csdn.net/weixin_38080573/article/details/88817869imageMongoDBmac安装mongoDB有挺多种方式,操作的过程中有一些坑,记录下来,供参考。这里采用的是curl的方式来安装。1、安装先打开m
- mac电脑启动项目报错 wasm code commit Allocation failed - process out of memory
_揽
前端学习笔记macoswasmlinux
目录解决办法问题扩展问题1:nvm无法uninstall卸载当前版本的node1.停用当前使用的node版本2.继续执行卸载问题2:如果执行arch-x86_64zsh后丢失了nvm命令解决办法在运行某个开发程序的时候,安装依赖$npminstall报错:wasmcodecommitAllocationfailed-processoutofmemory解决方式$nvmuninstall14$arc
- Mac 可设置环境变量的位置、查看和添加PATH环境变量
我是哈斯
Mac启动加载文件****位置(****可设置****环境变量****)(1)首先要知道你使用的MacOSX是什么样的Shell,使用命令echo$SHELL如果输出的是:csh或者是tcsh,那么你用的就是CShell。如果输出的是:bash,sh,zsh,那么你的用的可能就是BourneShell的一个变种。MacOSX10.2之前默认的是CShell。MacOSX10.3之后默认的是Bour
- mac 终端 任何命令都运行不了了
Time is precious
环境变量macos
特殊情况记录一下mac配置是发生错误导致几乎所有命令都运行不了了下面解决方案这可能是由于你的PATH没有设置正确,或者.bash_profile或.zshrc文件中存在语法错误。你可以尝试以下方法来解决这个问题:打开一个新的终端窗口。通过输入/bin/ls这样的命令来运行基本的Unix命令。如果这个命令运行成功,那说明是PATH的问题。通过运行echo$PATH命令,并检查输出的结果。如果结果为空
- 手工安装oh-my-zsh
Luxin23
装上了最新的ubuntu,然后安装zsh时遇到一大堆坑。记录下在使用脚本自动安装的时候报fatal:unabletoaccess'https://github.com/robbyrussell/oh-my-zsh.git/':FailedtoreceiveSOCKS4我以为是我的git问题,我手工gitclone是没有问题的无奈只好手动安装sudoaptinstallzsh按照官网教程一顿操作如下
- Homebrew安装mysql 5.7
mysql
安装Homebrewhttps://brew.sh/brew-v#查看homebrew是否可用brewdoctor安装mysql5.7#搜索mysql版本brewsearchmysql#安装
[email protected]#配置环境变量,如下图红框1echo'exportPATH="/opt/homebrew/opt/
[email protected]/bin:$PATH"'>>~/.zshrc#使
- MAC 安装maven报错,提示:command not found:mvn
longjoe2019
macosmavenjava
安装maven配置环境变量后,输入mvn-v总是提示commandnotfound原因是安装了ZSH,不是bash,需要按如下配置环境变量:vim~/.zshrc打开.zshrc文件,在文件中添加设置环境变量的命令环境变量命令如下:exportM2_HOME=/Users/xxx/Documents/maven/apache-maven-3.5.0exportPATH=PATH:PATH:PATH
- brew安装maven后无法使用mvn命令
beTaller
mavenjavajvm
在使用了brewinstallmaven之后,想看看maven的信息,于是输入mvn-version,但是zsh提示TheJAVA_HOMEenvironmentvariableisnotdefinedcorrectly,thisenvironmentvariableisneededtorunthisprogram.于是想着去看看JAVA_HOME到底有没有被设置,输入echo${JAVA_HOM
- Linux 上安装 Flutter 以及启动项目遇到的问题
flutter
系统介绍:deepin20.9遇到的问题:问题1:打开一个终端输入flutter,出现未找到此命令执行source~/.zshrc才生效,打开另一个终端也要执行source~/.zshrc才生效解决:查看当前的shellecho$SHELL#在终端输入而我是在.zshrc文件配置的环境变量,导致的问题。因为我的shell是bash,所以要在.baserc文件设置变量,重新加载配置文件。source
- ubuntu18 环境安装
knowledgebao
工具类ubuntu
1.ubuntu18环境安装1.ubuntu18环境安装1.1.defaultlanguage1.2.sougoushurufa1.3.cmake-last1.4.audio-recorder1.5.sources.list==切换清华源1.6.ohmyzsh1.7.weixin1.8.bcompare1.9.wireshark1.10.其他问题1.1.defaultlanguageubuntu修
- linux zsh终端美化
slp_44777680
Linuxlinux运维服务器
目前的centos系统默认的shell还是bash,但是zsh被称为终极shell,国外有个程序员开发出了一个能够让你快速上手的zsh项目,叫做「ohmyzsh」,Github网址是:https://github.com/robbyrussell/oh-my-zsh有了这玩意zsh用起来直接就变成神器了。查看系统当前的shellecho$SHELL返回的结果是:/bin/bash查看bin下是否有
- 利用zsh+oh-my-zsh+powerlevel10k为Linux终端配置一个漂亮的shell
DaHedan
Ubuntulinuxubuntu
操作时间:2024/1/7操作系统:Ubuntu22.04.3配置环境1.所需工具(如果没有,请用下列命令安装)1.wgetsudoaptinstallwget2.gitsudoaptinstallgit3.vim(可以用其他编辑器)sudoaptinstallvim2.所需字体由于我配置了shell后才发现缺失字体,图中的shell会有所不同HackNerdFonts1.下载字体(1)能稳定连接
- zsh:command not found: mysql
DOB_8199
问题原因总结安装mysql后可以正常使用终端命令打开,但第二天就出现了这个问题打开终端,命令行输入:mysql,总是返回:zsh:commandnotfound:mysql网上的各种方法都试过了,比如ln-s系列的改路径,command+R的改权限,统统都不行。后来找到方法,轻松解决问题,在这里记录一下:aliasmysql=/usr/local/mysql/bin/mysql注意:这种方式只能临
- Mac开发指南
EEPI
macos
文章目录1前期准备1.1brew1.2tmux1前期准备1.1brew用于下载软件ubuntu用apt-getmac用brew/bin/zsh-c"$(curl-fsSLhttps://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"1.2tmux
- 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层,要保证针对主库进行写操作,对多个从库进行读操作。当然在一些请求中,为了避免主从复制的延迟导致的数据不一致性,部分的读操作也要到主库上。(这种需求一般通过业务垂直分开,比如下单业务的代码所部署的机器,读去应该也要从主库读取数