<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                #### **問題:PHP抽象類與接口的區別** a.接口是通過?interface?關鍵字來定義的,?抽象類是通過abstract關鍵字來定義的。 b.對接口的使用方式是通過關鍵字implements來實現的,而對于抽象類的操作是使用類繼承的關鍵字extends實現的,使用時要特別注意。 c.接口沒有數據成員,但是抽象類有數據成員,抽象類可以實現數據的封裝。 d.接口沒有構造函數,抽象類可以有構造函數。 e.接口中的方法都是public類型,而抽象類中的方法可以使用private、protected或public來修飾。 f.一個類可以同時實現多個接口,但是只能實現一個抽象類。 相同點:抽象方法與接口的函數體內不能寫任何東西,連兩個大括號都不能寫!!!如:function getName();這樣就行了 #### **問題:mysql分區,分表,集群等相關設計方案** https://www.jb51.net/article/51803.htm https://rdc.hundsun.com/portal/article/945.html 實現需求: 分區:訪問量不大,但是表數據很多的表,可以采取分區的方式 分表:大訪問量,并且表數據比較多的表,可以采取分表和分區結合的方式(merge分表方式相對較簡單,但要具體情況分析) 分庫:分區和分表不夠用的情況下,加入分庫 實現原理: 分區:數據庫優化優先考慮,相對比較簡單,數據分成不同的份數。 分表:總表可以看成是一個外殼,包住不同的分表,使用merge分表方式比較簡單直觀。 分庫:使用中間件來做判斷使用哪個數據庫。 MySQL支持的分區方式有四種: Range分區:連續區間的列值。(較多) List分區:離散值集合中的某個值。(一般) Hash分區:表達式的返回值來進行選擇的分區。(較多) Key分區:Key分區只支持計算一列或多列。(一般) 備注: 數據庫剝離(數據庫本身的)計算功能不代表不要數據的計算功能,因為沒有數據的計算功能數據庫也就沒價值了,那么我們要將數據庫的計算功能進行遷移,遷移到程序里面,一般大型系統程序和數據庫都是分開部署到不同服務器上,因此程序里處理數據計算就不會影響到數據庫所在服務器的性能,就可以讓安裝數據庫的服務器專心服務于存儲。 #### **問題:mysql優化方式** 1.數據庫緩存,減少訪問數據庫 2.分區,分表,分庫等操作 3.程序和數據庫部署在不同的服務器上,減少數據庫本身的計算,計算功能主要用程序去實現 4.讀寫分離 參考: 讀寫分離:https://blog.csdn.net/cyan_grey/article/details/79528842 #### **問題:memcache,redis,mongodb各自的優缺點和使用場景** 【Memcached 】 Memcached 是一個高性能的分布式內存對象緩存系統,用于動態Web應用以減輕數據庫負載。它通過在內存中緩存數據和對象來減少讀取數據庫的次數,從而提供動態、數據庫驅動網站的速度。Memcached基于一個存儲鍵/值對的hashmap。 端口(11211) 優點: ?一.部分容災 假設只用一臺memcache,如果這臺memcache服務器掛掉了,那么請求將不斷的沖擊數據庫,這樣有可能搞死數據庫,從而引發”雪崩“。如果使用多臺memcache服務器,由于memcache使用一致性哈希算法,萬一其中一臺掛掉了,部分請求還是可以在memcache中命中,為修復系統贏得一些時間。 ?二.容量問題 一臺memcache服務器的容量畢竟有限,可以使用多臺memcache服務器,增加緩存容量。 ?三.均衡請求 使用多臺memcache服務器,可以均衡請求,避免所有請求都沖進一臺memcache服務器,導致服務器掛掉。 四.利用memcache分布式特性 使用一臺memcache服務器,并沒有利用memcache的數據分布式特性。 缺點: 1.不能持久化存儲 2.存儲數據有限制:1M 【大于1M,認為就行分割】(內存碎片) 3.存儲數據只能key-value 4.集群數據沒有復制和同步機制 【崩潰不會影響程序,會從數據庫中取數據】 5.內存回收不能及時? LRU(算法):未使用內存》過期內存》最近最少使用內存 ? 這是惰性刪除 應用場景: 1.分布式應該, 2.數據庫前段緩存, 3.服務器間數據共享。 【Redis】 redis 端口(6379) (1)是內存型數據庫,數據保存在內存中,通過tcp直接存取,優勢是讀寫性能高。 (2)redis是內存型KV數據庫(鍵值存儲數據庫,其數據按照鍵值對的形勢進行組織、索引、存儲),不支持二級索引,支持list,set等多種數據格式。適合存儲全局變量,適合讀多寫少的業務場景。很適合做緩存。 優點: 1.Redis支持五種數據類型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。 2.數據可以持久化保持(AOF、快照),寫入硬盤。 3.支持災難恢復,主從復制。主機會自動將數據同步到從機,可以進行讀寫分離。 4.讀寫性能優異。 缺點: 1.redis不支持自動容錯和恢復功能,主從當機都會導致前端讀寫失敗,需手動前端Ip或者機器重新啟動 2.主機宕機,主從數據復制過程中,數據未完全復制到從機。會出現數據不一致。 3.redis較難支持在線擴容,當集群數據達到上限在線擴容變得復雜。 應用場景: 1.配合關系型數據庫做高速緩存 2.緩存高頻次數據,降低數據庫io 3.分布式架構,做session共享 例子:比如微信token每兩小時刷新一次,就比較適合用redis存儲,讀也比較方便; 在線游戲排行榜;計時達到一定時間后顯示相關廣告;按照用戶投票和時間排序,更新新聞; 統計在某段特點時間里有多少特定用戶訪問了某個特定資源,統計哪些特定用戶訪問了某篇的文章; 【Mongodb】 mongodb 端口(27017) (1)是文檔型的非關系型數據庫,使用bson結構。其優勢在于查詢功能比較強大,能存儲海量數據,缺點是比較消耗內存。 (2)一般可以用來存放評論等半結構化數據,支持二級索引。 適合存儲json類型數據,不經常變化。 優點: 文檔結構的存儲方式,能夠更便捷的獲取數據 內置GridFS,支持大容量的存儲 內置Sharding,分片簡單 海量數據下,性能優越 支持自動故障恢復(復制集) 缺點: 不支持事務操作 占用空間過大 MongoDB沒有如MySQL那樣成熟的維護工具 無法進行關聯表查詢,不適用于關系多的數據 復雜聚合操作通過mapreduce創建,速度慢 模式自由,??自由靈活的文件存儲格式帶來的數據錯誤 應用場景: ![](https://img.kancloud.cn/43/90/4390fedea6d51903cf20656ec0005a5f_661x296.png) 參考: https://blog.csdn.net/weiyi_xingdong/article/details/79992032 #### **web開發中各類緩存設計,站點優化方案** 1.本地緩存, 1.1.生成靜態頁面 1.2.數據緩存,將公用的數據保存在json里面,有改動時,再對json數據進行修改 2.分布式緩存 memcache,redis,mongodb的選擇使用 3.客戶端緩存 瀏覽器本地緩存,cookie,localStorage,sessionStorage cookie:http?header?里的一個字段,最大存儲量4KB,會隨著http?request發送到后端 localStorage:跟cookie類似,最大存儲量5M,數據會永久存儲,除非代碼或手動刪除 sessionStorage:跟cookie類似,最大存儲量5M,數據只存在于當前會話,瀏覽器關閉則清空 參考: https://www.cnblogs.com/siqi/p/5096317.html #### **設計高可用的大型分布式系統架構,包括數據庫,以及服務器和數據庫的備份方案** 主要靠聯機熱備份的增量備份,定期安排聯機冷備份的全量備份 聯機熱備份:在選定數據庫節點進行熱備份時,停止同步,完成備份后再開啟同步 聯機冷備份:在選定數據庫節點進行冷備份時,停止同步,完成備份后再開啟同步 #### **問題:PHP魔術方法有哪些,代表什么意思,一般什么場景下使用** https://blog.csdn.net/meimeidi/article/details/53670472 https://blog.csdn.net/weixin_45555414/article/details/100011307 https://segmentfault.com/a/1190000007250604 視頻:https://www.imooc.com/video/3652 #### **問題:PHP設計模式有哪些,代表什么意思,一般什么場景下使用** https://blog.csdn.net/jeremy_ke/article/details/89000003 https://www.php.cn/php-weizijiaocheng-389651.html 大型項目的框架設計和數據庫集群方案 服務器配置參考:https://www2.zhihu.com/question/27641736 #### **問題:SQL語句怎樣將不同記錄合并在一起** case ... when ... then ... else ... end 例子: case type when 1 then 1 else 0 end #### **問題:服務器掛了之后怎么補救** 采用負載均衡集群方案解決,將大量的并發請求分擔到多個處理節點。由于單個處理節點的故障不影響整個服務,負載均衡集群同時也實現了高可用性。 https://blog.csdn.net/weixin_41440282/article/details/81141609 #### **問題:數據庫掛了之后怎么補救** 數據庫集群正常運作時采用聯機熱備份的增量備份,同時定期進行聯機冷備份的全量備份 聯機熱備份:在選定數據庫節點進行熱備份時(寫入即備份?),停止同步,完成備份后再開啟同步 聯機冷備份:在選定數據庫節點進行冷備份時,停止同步,完成備份后再開啟同步 #### **PHP的生命周期** SAPI運行PHP都經過下面幾個階段: 1、模塊初始化階段(module init) 2、請求初始化階段(request init) 3、php腳本執行階段 4、請求結束階段(request shutdown) 5、模塊關閉階段(module shutdown) 參考: https://www.cnblogs.com/applelife/p/10511837.html https://www.daixiaorui.com/read/274.html https://www.cnblogs.com/fubuki/p/9695379.html #### **Web安全性** 1.對數據進行處理,防止跨站腳本漏洞XSS 2.如果是網頁端,使用session機制的CSRF驗證 3.API數據需要簽名驗證 4.不要濫用session和cookie 對數據進行預處理 #### **new self() 和 new static() 的區別** https://blog.csdn.net/qq_38287952/article/details/82669217 #### **Innodb的儲存結構** https://www.cnblogs.com/souyoulang/p/11113652.html https://blog.csdn.net/bohu83/article/details/81086474 #### **如何搭建負載均衡,redis** #### **SSL證書過程中做了什么** #### **解決高并發公用資源的問題,如5個商品,10個用戶同時下單購買** #### **用戶訪問頁面,出現502的原因,如果是由于php-fpm的線程不夠所引起的,怎么解決** #### **innodb的結構** http://blog.itpub.net/24003562/viewspace-706629/ 【算法篇】 #### **新建數組進行上升排序**
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看