《Apache+MySQL+memcached+Perl開發高速開源網站》是2011年3月清華大學出版社出版的圖書,作者是加爾布雷斯。
基本介紹
- 作者:加爾布雷斯
- ISBN:9787302244066
- 頁數:809
- 定價:98.00元
- 出版社:清華大學出版社
- 出版時間:2011-3
- 裝幀:平裝
內容介紹,圖書目錄,
內容介紹
《Apache+MySQL+memcached+Perl開發高速開源網站》為流行的LAMP棧添加緩衝層是一種常見的解決方案,它不僅能夠顯著地減少後端資料庫上的負載,而且還能夠提高Web應用程式的性能。這個新的緩衝組件我們用LAMMPEP的第二個“M”表示,代表memcached——一種為Web應用程式提供快取的高性能、分散式記憶體對象快取系統。《Apache+MySQL+memcached+Perl開發高速開源網站》詳細介紹了使用Perl依據前端顯示邏輯與來自MySQL和memcached的後端數據獲取開發Web應用程式的過程,還介紹了配置Apache Web伺服器來運行這些mod perl應用程式的方法。
讀者會知道數據存儲在MySQL和memcached中,而Apache是駐留這種功能的伺服器,在學習安裝、設定和管理它時還會了解每一個系統。
《Apache+MysQL+memcached+Pex-l開發高速開源網站》介紹了將這些系統組合在一起構建成功的應用程式的方法,同時使用大量的示例來說明介紹的內容,還提出了一些現實問題,以及尋找問題解決方案的過程。
點擊連結進入英文版:
Developing Web Applications with Pearl, memcached, MySQL and Apache
圖書目錄
第1章LAMMP 1
1.1Linux 2
1.2Apache 3
1.3MySQL 4
1.4memcached 5
1.4.1Gear6 6
1.4.2Clickability 6
1.4.3GaiaOnline 7
1.4.4memcached的工作原理 7
1.5Perl 8
1.6其他技術 10
1.6.1Sphinx 10
1.6.2Gearman 10
1.7展望未來 11
1.8開源Web開發和資料庫的未來 12
1.9值得關注的項目 13
1.10本章小結 13
第2章MySQL 14
2.1CGI和PHP是如何神奇地改變Web的 14
2.2MySQL概述 15
2.3MySQL程式 18
2.3.1客戶端程式 19
2.3.2實用程式 24
2.3.3MySQL守護程式和啟動實用程式 26
2.4處理數據 28
2.4.1創建模式和表 28
2.4.2插入數據 34
2.4.3查詢數據 37
2.4.4更新數據 49
2.4.5刪除數據 52
2.4.6替換數據 55
2.4.7INSERT...ONDUPLICATEKEYUPDATE 57
2.4.8運算符 58
2.4.9函式 58
2.4.10使用幫助 70
2.4.11MySQL中的用戶自定義
變數 72
2.5MySQL特權 74
2.5.1MySQL訪問控制特權系統 74
2.5.2MySQL全局系統用戶 74
2.5.3MySQL系統模式授權表 75
2.5.4賬戶管理 79
2.6本章小結 83
第3章MySQL高級進階 85
3.1SQL的特性 85
3.1.1存儲過程與函式 86
3.1.2觸發器 94
3.1.3視圖 102
3.1.4用戶自定義函式 105
3.2存儲引擎 111
3.2.1通用存儲引擎 111
3.2.2存儲引擎的功能 113
3.3使用存儲引擎 113
3.3.1MyISAM存儲引擎 115
3.3.2InnoDB存儲引擎 118
3.3.3Archive存儲引擎 123
3.3.4Federated存儲引擎 124
3.3.5Tina/CSV存儲引擎 130
3.3.6Blackhole存儲引擎 132
3.4複製 132
3.4.1複製概述 133
3.4.2複製模式 134
3.4.3複製的命令選項 136
3.4.4複製的安裝與設定 138
3.4.5搜尋文本 147
3.4.6何時使用Sphinx 160
3.5本章小結 160
第4章Perl入門 162
4.1Perl的確切含義 162
4.2Perl簡介 164
4.3Perl數據類型 164
4.3.1標量變數 164
4.3.2數組變數 166
4.3.3散列變數 166
4.3.4檔案句柄 166
4.3.5typeglob變數 166
4.3.6子例程 167
4.4變數的用法 167
4.4.1引用 167
4.4.2標量的用法 172
4.4.3數組的用法與疊代 173
4.4.4散列的使用 177
4.4.5寫入檔案 183
4.4.6STDOUT與STDERR 183
4.4.7進程的檔案句柄 183
4.4.8子例程 185
4.4.9變數作用域 187
4.5程式包 191
4.5.1Perl模組 192
4.5.2編寫Perl模組 193
4.5.3@ISA數組 196
4.5.4模組的文檔化 196
4.5.5使模組可安裝 199
4.5.6測試 200
4.5.7添加MANIFEST檔案 203
4.5.8CPAN 204
4.6Regex正則表達式趣話 205
4.6.1把正則表達式存儲在
變數中 206
4.6.2正則表達式最佳化 206
4.6.3正則表達式編譯 207
4.6.4組合最佳化 207
4.7Perl6趣聞 207
4.8本章小結 208
第5章面向對象的Perl 209
5.1關於面向對象 209
5.2Perl語言中的面向對象 211
5.2.1編寫第一個Perl類 211
5.2.2創建一個程式包 212
5.2.3構造函式 212
5.2.4添加方法 214
5.2.5使用AUTOLOAD按需使用
方法 219
5.2.6其他方法 229
5.2.7使生活更加輕鬆:Moose 238
5.3本章小結 242
第6章MySQL和Perl 244
6.1PerlDBI 244
6.1.1DBI和DBD 245
6.1.2安裝 245
6.1.3DBIAPI 246
6.2連線 248
6.2.1$dsn參數 248
6.2.2$username和$password
參數 252
6.2.3$attributes參數值 252
6.2.4connect_cached方法 253
6.3語句句柄 253
6.3.1寫入數據 254
6.3.2讀取數據 256
6.3.3每次一行的提取方法 257
6.3.4提取方法 257
6.4綁定方法 260
6.4.1綁定輸入參數 260
6.4.2綁定輸出參數 261
6.5其他語句句柄方法 263
6.5.1rows方法 263
6.5.2dump_results方法 263
6.6語句句柄特性 264
6.7MySQL特有的語句句柄
特性 265
6.8多步驟工具方法 268
6.8.1Do方法 268
6.8.2selectall_arrayref方法 269
6.8.3selectall_hashref方法 271
6.8.4selectcol_arrayref方法 271
6.8.5selectrow_array方法 271
6.8.6selectrow_arrayref方法 272
6.8.7selectrow_hashref方法 272
6.9其他資料庫句柄方法 273
6.9.1last_insert_id方法 273
6.9.2ping方法 273
6.9.3clone方法 274
6.9.4事務性方法——begin_work、commit與rollback 274
6.10存儲過程 275
6.11錯誤處理 277
6.12ServerAdmin 279
6.13本章小結 281
第7章簡單的資料庫應用程式 283
7.1規劃應用程式的功能 283
7.1.1模式設計 283
7.1.2畫一個完整的線框 284
7.1.3聲明和初始化 285
7.1.4程式入口點 288
7.2創建表的子例程 290
7.2.1使用information_schema模式 291
7.2.2列出聯繫人 292
7.2.3編輯聯繫人 295
7.2.4插入聯繫人 299
7.2.5更新聯繫人 300
7.2.6刪除聯繫人 301
7.3測試update_contact、insert_contact以及delete_contact 302
7.3.1編輯聯繫人 303
7.3.2添加聯繫人 304
7.3.3刪除聯繫人 305
7.4查找聯繫人 307
7.5測試查找聯繫人的功能 308
7.6本章小結 311
第8章memcached 312
8.1memcached的概念 312
8.2使用memcached的方式 314
8.2.1Gearman的含義 316
8.2.2快取策略 316
8.3安裝memcached 317
8.3.1CentOS作業系統 317
8.3.2Ubuntu作業系統 318
8.3.3通過原始碼安裝
memcached 319
8.4啟動memcached 320
8.4.1啟動腳本 321
8.4.2基於Debian的啟動腳本 321
8.4.3基於Redhat的啟動腳本 322
8.4.4安裝Perl模組
8.5使用Cache::Memcached 323
8.5.1連線與實例化 323
8.5.2memcached的操作 324
8.5.3Cache::MemcachedAPI 324
8.6memcached的簡單示例 327
8.6.1在memcached中存儲標量 328
8.6.2複雜的數據類型 329
8.6.3添加與替換 330
8.7一個更加實用的示例 331
8.7.1用戶應用程式 331
8.7.2數據設計 331
8.7.3UserApp程式包 333
8.7.4實例化 334
8.7.5資料庫連線器方法 334
8.7.6數據檢索方法 334
8.7.7簡單存取器方法 338
8.7.8數據修改方法 339
8.7.9使用UserApp 342
8.7.10memcached連線器方法 345
8.7.11快取實現計畫 345
8.7.12在何處添加快取 346
8.7.13快取鍵模式 346
8.7.14預先快取 347
8.7.15預先快取城市 347
8.7.16預先快取州 348
8.7.17使用實例化調用預先快取的方法 349
8.7.18修改存取器方法來使用快取 349
8.7.19用戶數據快取——Set方法的修改 351
8.7.20用戶數據快取——Get方法的修改 352
8.7.21現在的UserApp具有快取功能 353
8.8本章小結 358
第9章libmemcached 359
9.1libmemcached的含義 359
9.1.1libmemcached的功能 360
9.1.2libmemcached的實用工具程式簡介 360
9.1.3安裝libmemcached 361
9.2libmemcached的實用工具程式 361
9.2.1memcat 361
9.2.2memflush 362
9.2.3memcp 362
9.2.4memstat 362
9.2.5memrm 363
9.2.6memslap 363
9.2.7memerror 364
9.3libmemcached的Perl驅動程式 364
9.3.1安裝 365
9.3.2Memcached::libmemcached和使用它的libmemcachedAPI 365
9.3.3連線函式 366
9.3.4libmemcached的行為函式 366
9.3.5設定值的函式 369
9.3.6數據檢索(get)函式 371
9.3.7增量、減量和刪除 372
9.3.8信息和實用程式函式 372
9.3.9面向對象的接口 373
9.3.10面向過程的Memcached::libmemcached程式示例 374
9.3.11面向對象的Memcached::libmemcached程式示例 375
9.4Cache::memcached::libmemcached 376
9.4.1性能比較 376
9.4.2編寫自己的比較腳本 377
9.5本章小結 381
第10章MemcachedFunctionsforMySQL 383
10.1MemcachedFunctionsforMySQL概述 383
10.2MemcachedFunctionsforMySQL的工作原理 384
10.3安裝MemcachedFunctionsforMySQL 384
10.3.1前提條件 385
10.3.2配置原始碼 385
10.3.3創建原始碼 386
10.3.4安裝UDF 386
10.3.5檢查安裝 387
10.4使用MemcachedFunctionsforMySQL 388
10.4.1創建一個到memcached伺服器的連線 388
10.4.2設定值 389
10.4.3提取、遞增和遞減函式 395
10.4.4行為函式 397
10.4.5統計函式 400
10.4.6版本函式 402
10.5使用memcachedUDF函式 402
10.5.1單一資料庫句柄示例 403
10.5.2使用觸發器(以及UDF)的樂趣 409
10.5.3使用簡單的選擇語句進行通讀快取 413
10.5.4更新 415
10.6本章小結 416
第11章Apache 418
11.1理解Apache:概述 418
11.2理解Apache模組API 421
11.2.1Apache2.2自Apache1.3以來的變化 421
11.2.2Apache2.2請求階段 422
11.2.3新模組和修改的模組 424
11.3安裝Apache 426
11.3.1在Windows作業系統中安裝Apache 426
11.3.2在運行中的UNIX系統上安裝Apache和mod_perl 428
11.3.3在AppleOSX(10.5)作業系統上安裝Apache 430
11.3.4在UNIX作業系統上安裝Apache源 430
11.4從原始碼安裝mod_perl 434
11.5從原始碼安裝libapreq2 435
11.6Apache配置 436
11.6.1配置節容器指令 437
11.6.2基本指令 440
11.6.3伺服器調整指令 443
11.6.4日誌指令 446
11.6.5錯誤指令 447
11.6.6訪問控制、身份驗證和授權 449
11.6.7.htaccess檔案指令 452
11.6.8索引指令 453
11.6.9CGI指令 456
11.6.10VirtualHost指令 458
11.6.11處理程式和過濾器指令 459
11.6.12客戶端處理指令 460
11.6.13SSL指令 461
11.6.14點擊流分析 464
11.6.15重寫URL 466
11.6.16條件模式 469
11.6.17Apache倒置代理 476
11.6.18啟用mod_proxy模組 478
11.6.19mod_proxy指令 478
11.6.20Apache伺服器控制 480
11.7Apache配置方案 481
11.7.1原始碼安裝 481
11.7.2Ubuntu/Debian 481
11.7.3Centos/Redhat作業系統變種 483
11.7.4SUSE作業系統 484
11.7.5Windows 486
11.8常用的Apache任務 489
11.8.1配置基於名稱的虛擬主機 489
11.8.2設定HTTP基本身份驗證 491
11.8.3設定摘要式身份驗證 492
11.8.4配置安全的伺服器 493
11.8.5設定帶有合法安全證書的安全伺服器 495
11.8.6使用兩個虛擬主機設定倒置代理 496
11.9本章小結 497
第12章聯繫人列表應用程式 499
12.1同時使用MySQL和memcached 499
12.2CGI程式 500
12.2.1CGIApache安裝 500
12.2.2基本的CGI程式 500
12.2.3用戶界面 502
12.2.4資料庫存儲要求 509
12.3程式流程 510
12.3.1重要的先說 510
12.3.2程式實現 511
12.4WebApp類方法 524
12.4.1new()方法實例化 526
12.4.2連線MySQL 527
12.4.3連線memcached 528
12.4.4getUsers()方法 529
12.4.5getUser()方法 532
12.4.6saveUser()方法 533
12.5資料庫方法 537
12.5.1insertUser()方法 537
12.5.2updateUser()方法 538
12.5.3deleteUsers()方法 540
12.5.4userExists()方法 542
12.6快取方法 543
12.6.1saveUserToCache()方法 544
12.6.2cacheUsers()方法 545
12.6.3getUsersFromCache()方法 547
12.6.4userExistsInCache()方法 548
12.6.5deleteUserFromCache()方法 549
12.6.6setMemcUIDList()方法 550
12.6.7updateMemcUIDList()方法 551
12.6.8deleteMemcUIDList()方法 553
12.6.9getMemcUIDList()方法 554
12.7其他方法 555
12.7.1getStates()方法 555
12.7.2getState()方法 556
12.7.3encodeUserData()方法 557
12.8測試 558
12.9本章小結 559
第13章mod_perl處理程式 560
13.1mod_perl2.0的新特性 560
13.2配置mod_perl 561
13.3mod_perl配置指令 564
13.3.1<Perl>節 564
13.3.2PerlModule 565
13.3.3PerlLoadModule 565
13.3.4SetHandlerperl-script 565
13.3.5SetHandlermodperl 566
13.3.6PerlSetEnv 566
13.3.7PerlPassEnv 566
13.3.8PerlSetVar 566
13.3.9PerlAddVar 567
13.3.10PerlPostConfigRequire 567
13.3.11PerlRequire 567
13.3.12PerlOptions 567
13.3.13PerlSwitches 568
13.3.14POD 569
13.4mod_perl處理程式指令 569
13.4.1處理程式範圍 569
13.4.2處理程式類型 570
13.4.3處理程式類別 570
13.5Apache生命周期概述 571
13.5.1伺服器生命周期階段處理程式 572
13.5.2連線周期階段處理程式 572
13.5.3過濾器處理程式 573
13.6PerlApache2模組 579
13.6.1Apache2常量和請求記錄Perl模組 580
13.6.2Apache2連線和過濾器記錄模組 583
13.6.3Apache2伺服器記錄模組 584
13.6.4Apache2配置模組 585
13.6.5Apache2資源/性能、狀態和其他模組 588
13.7本章小結 591
第14章使用mod_perl處理程式 592
14.1PerlResponseHandler示例 592
14.1.1設定初始處理程式 593
14.1.2使用伺服器對象和表單分析記錄訊息 593
14.1.3設定日誌級別和列印HTTP頭 594
14.2連線mod_perl處理程式 598
14.3PerlPreConnectionHandler示例 598
14.4其他HTTP請求周期階段處理程式 603
14.4.1PerlAccessHandler示例 603
14.4.2PerlAuthenHandler示例 605
14.4.3PerlAuthzHandler示例 609
14.4.4PerlLogHandler示例 612
14.4.5Perl過濾器處理程式示例 617
14.5本章小結 620
第15章更多mod_perl應用程式 622
15.1使用mod_perl處理程式還是ModPerl::Registry 622
15.1.1使用ModPerl::RegistryLoader 623
15.1.2將ModPerl::Registry腳本轉換為mod_perl處理程式 623
15.1.3將mod_perl處理程式轉換為ModPerl::Registry腳本 629
15.2處理Cookie 631
15.2.1CookieTestHandler 631
15.2.2用於測試Cookie和頭的工具 637
15.3資料庫泛型方法 639
15.3.1dbGetRef()方法 639
15.3.2dbInsert()方法 641
15.3.3dbUpdate()方法 642
15.3.4dbDelete()方法 643
15.3.5whereClause()方法 644
15.3.6buildUpdate()方法 646
15.3.7buildInsert()方法 647
15.3.8WebApp的其他變更 648
15.4會話管理 650
15.4.1實現mod_perl處理程式LoginHandler 651
15.4.2WebApp類簡介 655
15.4.3存儲會話數據 658
15.5檔案上載mod_perl處理程式 662
15.5.1是否在資料庫中存儲檔案 662
15.5.2資料庫表 663
15.5.3mod_perl處理程式的實現方式 663
15.5.4需要添加到WebApp的方法 669
15.5.5使用mod_perl上載處理程式 671
15.6模板化 672
15.7HTML::Template 680
15.7.1標記 680
15.7.2使用HTML::Template的mod_perl處理程式示例 682
15.7.3HTML::Template模板 684
15.8HTML::Mason(Mason) 685
15.8.1Mason語法 685
15.8.2內聯的Perl節 685
15.8.3Mason對象 687
15.8.4Mason組件 687
15.8.5初始化和清除 689
15.8.6Mason中的用戶清單頁面 689
15.9本章小結 691
第16章Perl和Ajax 693
16.1Ajax的定義 693
16.2mod_perl應用程式和Ajax 694
16.2.1基本的Ajax示例 694
16.2.2使用JSONPerl模組的
更多示例 699
16.3本章小結 723
第17章搜尋引擎應用程式 724
17.1使用Gearman組合搜尋引擎應用程式 724
17.1.1Gearman 724
17.1.2安裝和運行Gearman 725
17.1.3使用GearmanMySQLUDF 728
17.1.4Perl和Gearman 730
17.2搜尋引擎應用程式 731
17.2.1搜尋引擎應用程式的資料庫表 734
17.2.2資料庫觸發器 735
17.2.3Sphinx設定 736
17.2.4Gearmanworker 740
17.2.5運行worker 748
17.3mod_perl處理程式Web應用程式 750
17.3.1搜尋應用程式 750
17.3.2使用搜尋應用程式 760
17.3.3URL佇列應用程式 761
17.3.4URLHandler—AJAX應用程式 762
17.3.5URLQueueHandlermod_perl處理程式 769
17.3.6URLQueueHandlerhandler()子例程 770
17.3.7URLQueue界面 772
17.4本章小結 774
附錄A安裝MySQL 775
附錄B配置MySQL 792