主頁 > 資料庫 > Docker基礎修煉3--Docker容器及常用命令

Docker基礎修煉3--Docker容器及常用命令

2020-09-12 00:34:33 資料庫

前文講解了Docker鏡像的原理和常用命令,本文繼續通過官方的Apache鏡像演示Docker容器相關的常用操作及命令,

我之前的Linux入門系列文章中“linux入門系列18--web服務之apache服務1”,演示了在CentOS7下安裝和使用Apache服務,本次我們仍然采用官方的Apache鏡像來進行演示,通過這個案例,大家自行對比這兩種方式的不同,從而更加深刻理解Docke能干什么,以及Docker帶來的好處,

接下來我們就來演示下容器如何創建、如何停止、如何洗掉等操作,

一、Docker容器簡介

容器是Docker中的另外一個核心概念,容器是鏡像的一個運行實體,

Docker鏡像是靜態的,只有從Docker鏡像創建容器并運行起來,容器內的程式會運行,從而完成特定的功能,

我們要完成業務功能的程式就是在容器中運行,鏡像本身是靜態的只讀檔案,而容器帶有運行時所需的可寫檔案層,同時容器內的應用行程處于運行狀態,

通過下邊的演示,將會理解的更加深刻,

二、Docker容器常用命令

2.1 apache鏡像準備

我們后續的演示是基于Docker Hub上官方提供的apache鏡像進行,

鏡像名稱為httpd,該鏡像并不包含php的環境只能運行靜態的HTML頁面,因此如果你是想運行php的動態網站則需要選擇PHP鏡像,而本文只是為了演示容器的相關操作,因此采用靜態頁面即可,

[root@docker ~]# docker pull httpd:2.4
2.4: Pulling from library/httpd
68ced04f60ab: Pull complete 
35d35f1e0dc9: Pull complete 
8a918bf0ae55: Pull complete 
d7b9f2dbc195: Pull complete 
d56c468bde81: Pull complete 
Digest: sha256:946c54069130dbf136903fe658fe7d113bd8db8004de31282e20b262a3e106fb
Status: Downloaded newer image for httpd:2.4
docker.io/library/httpd:2.4
[root@docker ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
httpd               2.4                 c5a012f9cf45        2 days ago          165MB

下載完成后我們可以看到httpd鏡像大小為165M,里邊究竟包含了什么內容呢?文章最后我們再來仔細分析一下,

2.2 創建容器并后臺運行

鏡像下載完成后,就需要通過docker run命令創建容器,

語法:

docker run [選項] 鏡像名稱 [命令] [引數]

選項很多,可以執行通過幫助命令進行查看,以下列出最常用的幾個選項

選項 作用
--name 指定容器的名稱
-d 容器后臺運行,不在控制臺列印訊息
-i 即--interactive,互動式運行
-t 分配偽終端
-p 指定宿主機與容器埠的映射,宿主機埠:容器內埠
-P 指定宿主機與容器埠映射,宿主機埠隨機指定

其中-it引數和-d引數一般不同時使用,并且代表了兩種啟動容器的不同方式:互動式啟動容器守護式啟動容器

所謂互動式啟動就是在容器啟動后直接進入容器,并會自動分配一個偽終端,可以在容器內執行各種命令;而守護式啟動容器則是容器啟動后無需進入容器,容器在后臺運行,默默的提供服務,

至于如何選擇使用哪一種方式就看是否需要進入容器,如果要進入就選擇互動式,如果只是希望容器后臺運行提供服務那就選擇守護式

接下來通過-d引數,以守護行程方式創建基于httpd鏡像的容器并后臺運行

[root@docker ~]# docker run -d --name mywebsit -p 8888:80 httpd:2.4
783b46f5cddcc3ea919329a99f83a783da98bce4abce05ccc9b3f27fda859b09
[root@docker ~]# docker ps
CONTAINER ID  IMAGE    COMMAND  CREATED   STATUS   PORTS   NAMES
783b46f5cddc  httpd:2.4   "httpd-foreground"  6 seconds ago   Up 4 seconds        0.0.0.0:8888->80/tcp   mywebsit
[root@docker ~]

只需要做這一步操作,基于Apache的web環境就搭建好了,此時在CentOS7上就可以通過瀏覽器訪問剛才搭建的基于apahce的網站了,

在這里插入圖片描述

如果配置了防火墻,也可以在宿主機進行訪問,

在這里插入圖片描述

接下來就可以修改容器內網站目錄里的資料,替換為自己的web頁面即可,輕輕松松就搭建了一個apache的web靜態網站,這是不是很方便呢?甚至都無須配置任何環境,遷移也非常方便,比如想換到另外一臺主機運行該網站,也只需要下載該鏡像,然后run起來即可,

這就是docker的強大之處,還有很多更強大的功能,后續慢慢演示,

在這里插入圖片描述

說明一下我本地的環境,大家一定要理清楚物理機、虛擬機、容器之間的關系,我本地物理機系統是win10,在其上裝了VMware虛擬機,在虛擬機中創建了一個Centos7的實體,然后在其中安裝Docker,并運行mywebsite容器,因為我本地沒有裝Centos7,所以在虛擬機中虛擬一個來進行演示,當然你也可以直接在windows上裝docker或直接在本地的centos上安裝docker,

外部訪問是訪問在run容器是指定映射到的Centos7的宿主機埠8888,而非mywebsite容器的80埠,

特別注意:此處之所以采用-d在后臺以守護行程的方式運行容器,原因就是當一個容器沒有前臺行程執行的時候,創建容器后立馬就會停止,所以你可以用互動式的方式創建一個容器試試,docker run -it --name mywebsit1 -p 8888:80 httpd:2.4 ,創建后你用docker ps命令查看根本看不到容器,用docker ps -a命令查看,你就會發現容器創建后,短暫啟動后立馬就停止了,就是這個原因,

2.3 查看容器命令

查看本地有哪些正在運行的容器,或者是曾經創建過的容器可以通過docker ps命令

語法

docker ps [選項]

常用引數

引數 作用
-a --all,查看所有容器,默認情況下只顯示正在運行的容器
-l --latest,查看最近創建的容器
-n 顯示最后創建的n個容器
--no-trunc 不截斷顯示

案例:

(1)查看正在運行的容器

[root@docker ~]# docker ps
CONTAINER ID    IMAGE     COMMAND     CREATED  STATUS   PORTS    NAMES
783b46f5cddc        httpd:2.4           "httpd-foreground"   4 hours ago         Up 4 hours          0.0.0.0:8888->80/tcp   mywebsit
[root@docker ~]# 

可以看到只有剛才創建的mywebsit容器在運行,

2.4 在容器外部查看容器資訊

2.4.1 查看容器日志命令

語法

docker logs [選項] 容器名或id

常用引數

引數 作用
-f 動態跟蹤列印日志資訊,一旦有新日志會繼續列印
-t 在每行日志前面列印出時間
--tail 指定顯示的行數

案例

(1)查看mywebsit的日志,只顯示2行

[root@docker ~]# docker logs -t --tail 2 mywebsit
2020-02-29T03:09:57.654372509Z 192.168.78.1 - - [29/Feb/2020:03:09:57 +0000] "-" 408 -
2020-02-29T03:09:57.854284777Z 192.168.78.1 - - [29/Feb/2020:03:09:57 +0000] "-" 408 -
[root@docker ~]# 
2.4.2 查看容器內行程命令

語法

docker top

案例

(1)查看mywebsit內部的行程

[root@docker ~]# docker top mywebsit
UID      PID     PPID    C     STIME     TTY       TIME      CMD
root     3673    3655    0     10:29     pts/0     00:00:01  httpd -DFOREGROUND
bin      3708    3673    0     10:29     pts/0     00:00:00  httpd -DFOREGROUND
...省略部分輸出

此命令類似于Linux下的top命令,

2.4.3 查看容器內部細節

語法

docker inspect 容器名稱或id

案例

(1)查看mywebsit容器內部資訊

[root@docker ~]# docker inspect mywebsit
...省略輸出

由于輸出內容太多就不粘貼了,

執行命令后將得到一個詳細描述容器資訊的JSON字串物件,該物件中包含了容器的詳細資訊,包含容器埠映射、掛載資訊、卷資訊、網路ip等資訊,

2.5 退出容器命令

如果進入了容器,退出方式有如下兩種:

exit命令

按快捷鍵:ctrl+p+q

2.6 進入容器內部與之互動

進入正在運行的容器并以命令列互動

2.6.1 docker exec命令

采用docker exec命令可以進入容器或不進入容器直接執行命令

語法

docker exec [選項] 容器名或id 命令 [引數...]

選項與docker run命令類似,也有-itd等引數,

用此命令進入容器后,用exit命令或快捷鍵退出容器后,容器不會停止,

案例

(1)不進入容器直接執行命令

[root@docker ~]# docker exec -it mywebsit pwd
/usr/local/apache2
[root@docker ~]# 

該命令的含義查看mywebsit容器內的當前目錄,可以看到命令執行結束后我們沒沒有進入到容器內部,

pwd是linux的命令,但此處為何能執行呢?原因是httpd鏡像是由debian基鏡像繼承而來,大家知道debian也是linux的一個發行版本,因此該容器就有debian的功能,簡單說就是你可以認為mywebsit容器就是跑在docker上的一個小linux系統,

(2)進入容器執行命令

[root@docker ~]# docker exec -it mywebsit /bin/bash
root@783b46f5cddc:/usr/local/apache2# pwd
/usr/local/apache2
root@783b46f5cddc:/usr/local/apache2# exit
exit
[root@docker ~]# 

這個程序的作用給前面的案例是一樣的,只不過這里是進入到容器內部,然后列印當前目錄,然后在退出容器,回傳到centos7宿主機,

通過這兩個案例的對比,應該很清楚他們的區別了吧,

2.6.2 docker attach命令

語法

docker attach [選項] 容器名或id

用此命令重新進入容器,進入容器后如果用exit命令退出,則容器會停止,

2.7 容器與宿主機之間資料拷貝

docker cp命令可以實作宿主機與主機之間的資料拷貝,即使是容器停止的情況下也可以執行拷貝操作,

語法

docker cp 容器id:容器內路徑 宿主機路徑

案例

(1)修改容器內的首頁內容

首先:httpd鏡像網站的目錄為:/usr/local/apache2/htdocs/index.html

其次:由于httpd鏡像基于debian制作,內部并沒有包含vi/vim等工具,

再次:正好可以用docker cp演示宿主機與容器之間檔案的相互拷貝,

因此我們將網頁檔案拷貝到宿主機然后修改后在拷貝回容器網站目錄下,已達到修改首頁的目的,(在后續的講解中也可以通過資料卷的方式將網站目錄映射到宿主機上實作共享和修改)

[root@docker ~]# docker cp mywebsit:/usr/local/apache2/htdocs/index.html /
[root@docker ~]# ll /index.html 
-rw-r--r-- 1 root root 45 Jun 12  2007 /index.html
[root@docker ~]# echo "my websit is updating">/index.html
[root@docker ~]# cat /index.html 
my websit is updating
[root@docker ~]# docker cp /index.html mywebsit:/usr/local/apache2/htdocs/index.html
[root@docker ~]# 

再次在瀏覽器中查看網頁,就會發現已經被修改過了,

2.8 停止容器命令

停止容器可以通過stop和kill兩個命令

kill是強制停止容器,stop會稍微過一小會停止容器,二者都可以指定容器停止前等待的時間,

docker stop|kill 容器id或容器名

案例

(1)停止容器

[root@docker ~]# docker ps
CONTAINER ID   IMAGE   COMMAND   CREATED   STATUS  PORTS   NAMES
783b46f5cddc   httpd:2.4    "httpd-foreground"   6 hours ago  Up 21 minutes  0.0.0.0:8888->80/tcp   mywebsit
[root@docker ~]# docker stop mywebsit 
mywebsit
[root@docker ~]# docker ps
CONTAINER ID  IMAGE   COMMAND   CREATED   STATUS   PORTS  NAMES
[root@docker ~]# 

2.9 啟動容器命令

可以通過start或restart啟動或重啟容器

語法

docker start|restart 容器id或容器名

案例

(1)啟動停止的容器

[root@docker ~]# docker ps -a
CONTAINER ID  IMAGE  COMMAND   CREATED    STATUS   PORTS    NAMES
783b46f5cddc        httpd:2.4           "httpd-foreground"   6 hours ago         Exited (0) 2 minutes ago                       mywebsit
[root@docker ~]# docker start mywebsit 
mywebsit
[root@docker ~]# docker ps
CONTAINER ID    IMAGE   COMMAND   CREATED    STATUS   PORTS   NAMES
783b46f5cddc        httpd:2.4           "httpd-foreground"   6 hours ago         Up 1 second         0.0.0.0:8888->80/tcp   mywebsit
[root@docker ~]#  

可以看到剛停止的mywebsit容器為exited狀態,重啟后又重新運行起來,

2.10 洗掉容器命令

語法

docker rm [選項] 容器名或id

常用選項

選項 作用
-f --forece,強制洗掉,當容器在運行時只能強制洗掉
-v --vomumes,洗掉資料卷

案例

(1)洗掉正在運行容器

[root@docker ~]# docker rm mywebsit
Error response from daemon: You cannot remove a running container 783b46f5cddcc3ea919329a99f83a783da98bce4abce05ccc9b3f27fda859b09. Stop the container before attempting removal or force remove
[root@docker ~]# docker rm -f mywebsit
mywebsit
[root@docker ~]# docker ps
CONTAINER ID   IMAGE   COMMAND   CREATED  STATUS   PORTS  NAMES
[root@docker ~]# 

可以看到當容器運行時不能洗掉,需要添加-f引數強制洗掉,

(2)強制洗掉所有容器

慎用,僅供演示,他會洗掉所有的容器,包括正在運行的和已經停止的,

[root@docker ~]# docker rm -f $(docker ps -aq) 
3d228a470c53
[root@docker ~]# docker ps 
CONTAINER ID   IMAGE    COMMAND    CREATED    STATUS   PORTS   NAMES
[root@docker ~]#

上邊這個洗掉陳述句也可以寫為:docker ps -a -q | xargs docker rm

三、容器內部窺探

以上基于httpd鏡像創建了容器進行各種容器操作的演示,接下來我們在通過centos鏡像,研究下鏡像內部的結構和原理

[root@docker ~]# docker images
REPOSITORY    TAG       IMAGE ID        CREATED           SIZE
centos        latest    470671670cac    6 weeks ago       237MB

如果你本地還沒有centos進行,先用docker pull命令下載到本地,接下來我們用它來創建一個名為mycentos的容器,然后進入容器查看結構

[root@docker ~]# docker run -it --name mycentos centos
[root@bda9ff3abfd9 /]# ls
bin  etc   lib    lost+found  mnt  proc  run   srv  tmp  var
dev  home  lib64  media       opt  root  sbin  sys  usr
[root@bda9ff3abfd9 /]# pwd
/
[root@bda9ff3abfd9 /]# cat /etc/redhat-release 
CentOS Linux release 8.1.1911 (Core) 
[root@bda9ff3abfd9 /]# 

進入容器后,我們可以看到,其實它就是運行著的一個centos系統,里邊可以執行各種centos命令,也可以查看到內核版本,

如果你想象力在擴展一下,那很容易想到,鏡像其實就是把各種作業系統環境以及我們運行所需要的軟體包打包在一起,然后上傳到倉庫中,需要的時候直接pull下來,在運行run命令創建容器即可,這也正是我們前二篇文章反復提到的內容,如果現在在回傳去看之前的文章,應該會有更深刻的理解,

本文演示完容器相關操作命令后,docker三要素就還差倉庫了,下一篇講解倉庫相關理論和操作,敬請期待,

轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/8622.html

標籤:大數據

上一篇:從北斗衛星時鐘(北斗校時器)發展縱論世界衛星導航新格局

下一篇:3000字長文教你大資料該怎么學!

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • GPU虛擬機創建時間深度優化

    **?桔妹導讀:**GPU虛擬機實體創建速度慢是公有云面臨的普遍問題,由于通常情況下創建虛擬機屬于低頻操作而未引起業界的重視,實際生產中還是存在對GPU實體創建時間有苛刻要求的業務場景。本文將介紹滴滴云在解決該問題時的思路、方法、并展示最終的優化成果。 從公有云服務商那里購買過虛擬主機的資深用戶,一 ......

    uj5u.com 2020-09-10 06:09:13 more
  • 可編程網卡芯片在滴滴云網路的應用實踐

    **?桔妹導讀:**隨著云規模不斷擴大以及業務層面對延遲、帶寬的要求越來越高,采用DPDK 加速網路報文處理的方式在橫向縱向擴展都出現了局限性。可編程芯片成為業界熱點。本文主要講述了可編程網卡芯片在滴滴云網路中的應用實踐,遇到的問題、帶來的收益以及開源社區貢獻。 #1. 資料中心面臨的問題 隨著滴滴 ......

    uj5u.com 2020-09-10 06:10:21 more
  • 滴滴資料通道服務演進之路

    **?桔妹導讀:**滴滴資料通道引擎承載著全公司的資料同步,為下游實時和離線場景提供了必不可少的源資料。隨著任務量的不斷增加,資料通道的整體架構也隨之發生改變。本文介紹了滴滴資料通道的發展歷程,遇到的問題以及今后的規劃。 #1. 背景 資料,對于任何一家互聯網公司來說都是非常重要的資產,公司的大資料 ......

    uj5u.com 2020-09-10 06:11:05 more
  • 滴滴AI Labs斬獲國際機器翻譯大賽中譯英方向世界第三

    **桔妹導讀:**深耕人工智能領域,致力于探索AI讓出行更美好的滴滴AI Labs再次斬獲國際大獎,這次獲獎的專案是什么呢?一起來看看詳細報道吧! 近日,由國際計算語言學協會ACL(The Association for Computational Linguistics)舉辦的世界最具影響力的機器 ......

    uj5u.com 2020-09-10 06:11:29 more
  • MPP (Massively Parallel Processing)大規模并行處理

    1、什么是mpp? MPP (Massively Parallel Processing),即大規模并行處理,在資料庫非共享集群中,每個節點都有獨立的磁盤存盤系統和記憶體系統,業務資料根據資料庫模型和應用特點劃分到各個節點上,每臺資料節點通過專用網路或者商業通用網路互相連接,彼此協同計算,作為整體提供 ......

    uj5u.com 2020-09-10 06:11:41 more
  • 滴滴資料倉庫指標體系建設實踐

    **桔妹導讀:**指標體系是什么?如何使用OSM模型和AARRR模型搭建指標體系?如何統一流程、規范化、工具化管理指標體系?本文會對建設的方法論結合滴滴資料指標體系建設實踐進行解答分析。 #1. 什么是指標體系 ##1.1 指標體系定義 指標體系是將零散單點的具有相互聯系的指標,系統化的組織起來,通 ......

    uj5u.com 2020-09-10 06:12:52 more
  • 單表千萬行資料庫 LIKE 搜索優化手記

    我們經常在資料庫中使用 LIKE 運算子來完成對資料的模糊搜索,LIKE 運算子用于在 WHERE 子句中搜索列中的指定模式。 如果需要查找客戶表中所有姓氏是“張”的資料,可以使用下面的 SQL 陳述句: SELECT * FROM Customer WHERE Name LIKE '張%' 如果需要 ......

    uj5u.com 2020-09-10 06:13:25 more
  • 滴滴Ceph分布式存盤系統優化之鎖優化

    **桔妹導讀:**Ceph是國際知名的開源分布式存盤系統,在工業界和學術界都有著重要的影響。Ceph的架構和演算法設計發表在國際系統領域頂級會議OSDI、SOSP、SC等上。Ceph社區得到Red Hat、SUSE、Intel等大公司的大力支持。Ceph是國際云計算領域應用最廣泛的開源分布式存盤系統, ......

    uj5u.com 2020-09-10 06:14:51 more
  • es~通過ElasticsearchTemplate進行聚合~嵌套聚合

    之前寫過《es~通過ElasticsearchTemplate進行聚合操作》的文章,這一次主要寫一個嵌套的聚合,例如先對sex集合,再對desc聚合,最后再對age求和,共三層嵌套。 Aggregations的部分特性類似于SQL語言中的group by,avg,sum等函式,Aggregation ......

    uj5u.com 2020-09-10 06:14:59 more
  • 爬蟲日志監控 -- Elastc Stack(ELK)部署

    傻瓜式部署,只需替換IP與用戶 導讀: 現ELK四大組件分別為:Elasticsearch(核心)、logstash(處理)、filebeat(采集)、kibana(可視化) 下載均在https://www.elastic.co/cn/downloads/下tar包,各組件版本最好一致,配合fdm會 ......

    uj5u.com 2020-09-10 06:15:05 more
最新发布
  • day02-2-商鋪查詢快取

    功能02-商鋪查詢快取 3.商鋪詳情快取查詢 3.1什么是快取? 快取就是資料交換的緩沖區(稱作Cache),是存盤資料的臨時地方,一般讀寫性能較高。 快取的作用: 降低后端負載 提高讀寫效率,降低回應時間 快取的成本: 資料一致性成本 代碼維護成本 運維成本 3.2需求說明 如下,當我們點擊商店詳 ......

    uj5u.com 2023-04-20 08:33:24 more
  • MySQL中binlog備份腳本分享

    關于MySQL的二進制日志(binlog),我們都知道二進制日志(binlog)非常重要,尤其當你需要point to point災難恢復的時侯,所以我們要對其進行備份。關于二進制日志(binlog)的備份,可以基于flush logs方式先切換binlog,然后拷貝&壓縮到到遠程服務器或本地服務器 ......

    uj5u.com 2023-04-20 08:28:06 more
  • day02-短信登錄

    功能實作02 2.功能01-短信登錄 2.1基于Session實作登錄 2.1.1思路分析 2.1.2代碼實作 2.1.2.1發送短信驗證碼 發送短信驗證碼: 發送驗證碼的介面為:http://127.0.0.1:8080/api/user/code?phone=xxxxx<手機號> 請求方式:PO ......

    uj5u.com 2023-04-20 08:27:27 more
  • 快取與資料庫雙寫一致性幾種策略分析

    本文將對幾種快取與資料庫保證資料一致性的使用方式進行分析。為保證高并發性能,以下分析場景不考慮執行的原子性及加鎖等強一致性要求的場景,僅追求最終一致性。 ......

    uj5u.com 2023-04-20 08:26:48 more
  • sql陳述句優化

    問題查找及措施 問題查找 需要找到具體的代碼,對其進行一對一優化,而非一直把關注點放在服務器和sql平臺 降低簡化每個事務中處理的問題,盡量不要讓一個事務拖太長的時間 例如檔案上傳時,應將檔案上傳這一步放在事務外面 微軟建議 4.啟動sql定時執行計劃 怎么啟動sqlserver代理服務-百度經驗 ......

    uj5u.com 2023-04-20 08:26:35 more
  • 云時代,MySQL到ClickHouse資料同步產品對比推薦

    ClickHouse 在執行分析查詢時的速度優勢很好的彌補了MySQL的不足,但是對于很多開發者和DBA來說,如何將MySQL穩定、高效、簡單的同步到 ClickHouse 卻很困難。本文對比了 NineData、MaterializeMySQL(ClickHouse自帶)、Bifrost 三款產品... ......

    uj5u.com 2023-04-20 08:26:29 more
  • sql陳述句優化

    問題查找及措施 問題查找 需要找到具體的代碼,對其進行一對一優化,而非一直把關注點放在服務器和sql平臺 降低簡化每個事務中處理的問題,盡量不要讓一個事務拖太長的時間 例如檔案上傳時,應將檔案上傳這一步放在事務外面 微軟建議 4.啟動sql定時執行計劃 怎么啟動sqlserver代理服務-百度經驗 ......

    uj5u.com 2023-04-20 08:25:13 more
  • Redis 報”OutOfDirectMemoryError“(堆外記憶體溢位)

    Redis 報錯“OutOfDirectMemoryError(堆外記憶體溢位) ”問題如下: 一、報錯資訊: 使用 Redis 的業務介面 ,產生 OutOfDirectMemoryError(堆外記憶體溢位),如圖: 格式化后的報錯資訊: { "timestamp": "2023-04-17 22: ......

    uj5u.com 2023-04-20 08:24:54 more
  • day02-2-商鋪查詢快取

    功能02-商鋪查詢快取 3.商鋪詳情快取查詢 3.1什么是快取? 快取就是資料交換的緩沖區(稱作Cache),是存盤資料的臨時地方,一般讀寫性能較高。 快取的作用: 降低后端負載 提高讀寫效率,降低回應時間 快取的成本: 資料一致性成本 代碼維護成本 運維成本 3.2需求說明 如下,當我們點擊商店詳 ......

    uj5u.com 2023-04-20 08:24:03 more
  • day02-短信登錄

    功能實作02 2.功能01-短信登錄 2.1基于Session實作登錄 2.1.1思路分析 2.1.2代碼實作 2.1.2.1發送短信驗證碼 發送短信驗證碼: 發送驗證碼的介面為:http://127.0.0.1:8080/api/user/code?phone=xxxxx<手機號> 請求方式:PO ......

    uj5u.com 2023-04-20 08:23:11 more