APP接口市知識

app如何進行通信:
客戶端->發送http請求地址(稱爲接口地址)->服務器。->返回數據(數據格式有json和xml兩種方式)->客戶端;
app(通信)接口定義:
接口地址:(http://app.com/api.php?format=xml);
接口文件:(api.php處理一些業務邏輯);

<?php
//獲取首頁數據等一些業務邏輯;

接口數據:(爲了給客戶端開發工程師);
///當我們點擊客戶端的時候,地址是不可見的;
地址封裝在app請求中的。

1,app基礎
xml:擴展標記語言;
可以用來標記數據,定義數據類型,是一種允許用戶對自己的標記語言進行定義的源語言。xml格式統一,跨平臺。

xml是樹狀結構
根節點只能有一個,必須有結束標籤。
//////xml數據有靈活的地方。
json一種請量級的交換數據格式;比較好;
、、通信數據格式xml/json區別

<?xml version='1.0' encoding="utf-8"?> dsss //所以說從可讀性方面說->xml勝出。 2生成數據方面 -> php用json_encode($arr);生成json數據。 php怎麼生成xml數據呢:把xml中的各個節點拼裝成字符串。 app接口做哪些事呢: 獲取數據:從數據庫中換緩存中獲取數據,然後通過接口數據返回客戶端。 提交數據:通過接口提交數據給服務器,然後服務器入庫處理,或者其他處理。 、、、、、 封裝通信接口數據方法: php生成json的方法 json_encode($arr);他只能接受utf-8編碼的數據; iconv('UTF-8','GBK',$data);用於改變編碼; 把原本的utf-8的$data的編碼變成了GBK

、、、、
通信數據標準格式
code 狀態碼(200,400等);
message 提示信息(郵箱格式不正確;數據返回成功等);
data 返回數據
、、、
如果想要xml不返回html格式的數據可以加一個頭信息
header(“content-type:text/xml”);
就可以吧xml的節點標籤什麼的暴露出來。
xml的節點不能爲數字。
、、解決方案
//<0>4</0>…4;
核心技術:
緩存技術;定時任務;app接口領域用到很多。
緩存技術:1靜態緩存,2memcache緩存
。。靜態
php操作緩存:
1生成緩存,2獲取緩存,3刪除緩存。
memcache,redis:
學習目標:掌握如何設置緩存操作,2掌握獲取緩存操作。2如何刪除。
memcache和redis都是用來管理數據的。
他們的數都是放在內存裏的,
redis可以定期將數據被分到磁盤(持久化);
memcache只是簡單的key/value緩存。
redis不僅僅支持簡單的k/v類型的數據,還支持list,set,hash等形式。
、、、
如何操作數據:
mysql
終端用來操作mysql。mysql默認端口號默認是3306;

<?//php程序處理?>

redis memcache也需要有一個終端。和一個服務器。
php如何操作memcache:
也需要開啓php擴展,也需要一個終端。
定時任務:
學習要點:
掌握如何設置定時任務常用命令;
掌握如何定時運行php程序。
定時任務服務提供crontab命令來設置服務。
crontab -l查看命令;
cronta-r
刪除
crontab用的很多,比如說要備份數據,在零時幾點的時候。
單列模式鏈接數據庫:
1,掌握單列模式設計
2php如何鏈接數據庫
、、
首頁接口發開
方案一:讀取數據庫方式開發首頁接口
學習要點:
1掌握如何獲取數據
2掌握如何將獲取的數據生成通信數據
1分析部分app首惡
1安裝start bluestacks安卓模擬器
2慕課網
、、、
流程
http請求->服務器->查詢數據->首頁;
、、讀取緩存方式開發首頁接口
1學習要點
掌握靜態緩存如何設置緩存失效時間
如何設置緩存


app接口實例:
定時讀取緩存方式開發首頁接口
1學習要點:
1.掌握如何編寫定時腳本程序
2理解服務器如何提前準備數據
、、app版本升級以及app演示
;;;

學習要點:
1版本升級分析2如何設計版本升級數據表;
//web升級:把最新代碼放到服務器上就可以了。
app更新:需要用戶操作的。
必須開發這樣的一個接口;
版本升級開發:
掌握如何封裝check方法;
首頁接口開發:
/app錯誤日誌接口
1面臨的錯誤問題
1app強退
2,數據加載失敗
3,app潛在問題;
、、、錯誤日誌需要記錄哪些內容:
error_lig:app_id,did,version_id,version_mini.err_log;

、、、、、、、、、、
xml定義:擴展標記語言,可以用來標記數據,定義數據類型,是一種允許用戶對自己的標記語言進行定義的源語言。
xml中的節點可以自定義。html標籤不可以自定義;
xml格式統一,跨平臺和語言。
非常適合通信和傳輸。

<?xml version='1.0' encoding="utf-8"?> singwa
beijing
json :一種輕量級的數據交換格式,具有良好的可讀和便於便攜。 {"title":"singwa","form":"\u555\e33\33","descriptione":"jlkjkl"}; 通信數據格式xml和json的區別: 可讀性:xml數據可讀性好些,因爲數據格式非常清晰。有節點; 傳輸數據方面:json勝出 app接口做哪些事: 獲取數據:從數據庫中或緩存中獲取數據,然後通過接口數據返回個客戶端。 提交數據:通過接口提交數據給服務器,然後服務器入庫處理。 、、php生成xml數據 1)組裝字符串 2)使用系統類; 也能生成xml格式的數據 、、靜態緩存:保存在磁盤上的靜態文件,用php生成數據放入靜態文件中。

memcache,redis都是用來管理數據的
他們的數據都是存放在內存裏的
redis可以定期將數據被分到磁盤(持久化)
memcache只是簡單的key/value緩存形式
redis不僅僅支持簡單的k/v類型的數據,同時支持list,set,hash等類型。
、、、
如何操作msql:
1,終端->用來操作mysql數據庫。

、、xshell是linux終端。
開啓redis,cd /etc/redis
redis-server 6379.conf;
開啓終端:到xshell。到redis的安裝目錄
redis-cli;這就開啓了redis終端了。
6379是redis的默認端口號
linux執行php文件:可以直接php **.php
$redis = new Redis();
redis&gt;connect(127.0.0.1,6379);vardump(redis -&gt; connect(&#x27;127.0.0.1,&#x27;6379&#x27;); var_dump(redis -> get('singw1));
wq!
php getCache.php;則這個值就會打印出來。
、、、設置緩存失效時間:
$redis -> setex(‘singwa2’,15,‘sss’);
表示15秒後singwa2就會失效;
、、、
定時任務:
crontab -e 設置定時任務。crontab -l查看。
、、、app接口實例:
方案一:1,獲取數據,2傳輸數據。
http->服務器->查詢數據->返回數據;
、、、、、
讀取緩存方式開發首頁接口
1學習要點
1掌握靜態緩存如何設置緩存失效時間
2如何設置緩存。
http->服務器->是否存在緩存。->是返回數據->否在數據庫中獲取數據->生成緩存。

、、把緩存失效時間,和value值一起存起來。然後用文件時間和緩存時間作對比啊。
、、定時讀取緩存方式開發首頁接口
1學習要點
掌握如何編寫定時腳本程序
2理解服務器如何提前準備數據
11實際項目中場景
http請求-》服務器-》讀取緩存
crontab ->生成數據。
。。。。
因爲linux做定時任務,吧數據存在緩存。所以我們可以直接調用緩存數據。而不用查詢數據庫。

、、、app接口實例:
版本升級分析,數據表設計。
、、、、、、、、、、、、、
當你打開一個app。
開啓app檢測是否更新,是更新,否去app首頁。
、、、客戶端和服務器通信是用http協議來講解的;

app錯誤藉口日誌:
、、可以理解爲客戶端拋送的錯誤信息,然後通過請求網址返回給服務器數據庫。
如果錯誤信息插入數據庫成功,返回錯誤信息插入成功。
app點擊的時候,觸發初始化接口。發送一個請求。
然後決定是否更新什麼的。或者發送錯誤日誌等等。
、、app通過初始化發送錯誤信息。
還有客戶端突然崩潰了,也可以把數據插入。
這樣可以做更好的優化。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章