Inhaltsverzeichnis
APP 接口开发及读取静态缓存,app读取静态缓存
Heim php教程 php手册 APP 接口开发及读取静态缓存,app读取静态缓存

APP 接口开发及读取静态缓存,app读取静态缓存

Jun 13, 2016 am 08:53 AM
数据缓存

APP 接口开发及读取静态缓存,app读取静态缓存

<span> 1</span> <?<span>php
</span><span> 2</span> <span>/*</span><span>*
</span><span> 3</span> <span> * Description: App 接口
</span><span> 4</span> <span> * Create date:2015-10-19 13:36
</span><span> 5</span> <span> * Author: zhaoyingnan
</span><span> 6</span> <span> *</span><span>*/</span>
<span> 7</span> <span>class</span><span> Response
</span><span> 8</span> <span>{
</span><span> 9</span>     <span>/*</span><span>*
</span><span>10</span> <span>     * 综合方式
</span><span>11</span> <span>     * @author  zhaoyingnan 2015-10-19 11:24
</span><span>12</span> <span>     * @param   int         $iCode  状态码
</span><span>13</span> <span>     * @param   string      $sMsg   提示信息                                                                                                                                                 
</span><span>14</span> <span>     * @param   mix         $mixData    data
</span><span>15</span> <span>     * @param   string      $sType  接口返回类型
</span><span>16</span> <span>     * @return  string
</span><span>17</span> <span>     *</span><span>*/</span>
<span>18</span>     <span>static</span> <span>function</span> show(<span>$iCode</span>, <span>$sMsg</span> = '', <span>$mixData</span> = '', <span>$sType</span> = 'json'<span>)
</span><span>19</span> <span>    {   
</span><span>20</span>         <span>if</span>(!<span>is_numeric</span>(<span>$iCode</span><span>))
</span><span>21</span>             <span>return</span> ''<span>; 
</span><span>22</span>         <span>$arData</span> =   <span>array</span><span>(
</span><span>23</span>             'code'      =>  <span>$iCode</span>,
<span>24</span>             'message'   =>  <span>$sMsg</span>,
<span>25</span>             'data'      =>  <span>$mixData</span>
<span>26</span> <span>        );  
</span><span>27</span>         <span>switch</span>(<span>$sType</span><span>)
</span><span>28</span> <span>        {   
</span><span>29</span>         <span>case</span> 'array':
<span>30</span>             <span>echo</span> '<pre class="brush:php;toolbar:false">'<span>;
</span><span>31</span>             <span>print_r</span>(<span>$arData</span><span>);
</span><span>32</span>             <span>echo</span> '
Nach dem Login kopieren
'; 33 break; 34 case 'xml': 35 self::xml($arData); 36 break; 37 default: 38 self::json($arData); 39 } 40 } 41 42 /** 43 * json 44 * @author zhaoyingnan 2015-10-19 10:21 45 * @param array $arData 46 * @return string 47 **/ 48 private function json($arData= array()) 49 { 50 exit(json_encode($arData)); 51 } 52 53 /** 54 * xml 55 * @author zhaoyingnan 2015-10-19 10:21 56 * @param array $arData 57 * @return string 58 **/ 59 private function xml($arData = array()) 60 { 61 header('Content-Type:text/xml'); 62 $sXml = ''; 63 $sXml .= "\n"; 64 $sXml .= "\n"; 65 $sXml .= self::xmlEncode($arData); 66 $sXml .= "\n"; 67 exit($sXml); 68 } 69 70 /** 71 * xml encode 72 * @author zhaoyingnan 2015-10-19 11:10 73 * @param array $arData 74 * @return string 75 **/ 76 private function xmlEncode($arData = array()) 77 { 78 if(!$arData) 79 return ''; 80 $sXml = $sAttr= ''; 81 foreach($arData as $mKey => $mVal) 82 { 83 if(is_numeric($mKey)) 84 { 85 $sAttr = " id='{$mKey}'"; 86 $mKey = 'item'; 87 } 88 $sXml .= is_array($mVal) ? self::xmlEncode($mVal) : "<{$mKey}{$sAttr}>{$mVal}$mKey}>"; 89 } 90 return $sXml; 91 } 92 } 93 ?>
<span> 1</span> <?<span>php                                                                                                                                                                                        
</span><span> 2</span> <span>/*</span><span>*
</span><span> 3</span> <span> * Description: 静态缓存
</span><span> 4</span> <span> * Create date:2015-10-19 13:36
</span><span> 5</span> <span> * Author: zhaoyingnan
</span><span> 6</span> <span> *</span><span>*/</span>
<span> 7</span> <span>class</span> <span>file</span>
<span> 8</span> <span>{
</span><span> 9</span>     <span>private</span> <span>$sExt</span>   =   '.txt'<span>;
</span><span>10</span> 
<span>11</span>     <span>/*</span><span>* 
</span><span>12</span> <span>     * 生成/删除/获取 缓存
</span><span>13</span> <span>     * @author  zhaoyingnan 2015-10-19 11:33
</span><span>14</span> <span>     * @param   string      $sKey       文件名
</span><span>15</span> <span>     * @param   mix         $mixValue   被缓存的数据(为''时表示获取缓存,为NUll时为删除缓存文件,否则为生成缓存)
</span><span>16</span> <span>     * @param   string      $sPath      文件保存的路径
</span><span>17</span> <span>     * @param   int         $iCacheTime 缓存时间(秒),0为永不过期    
</span><span>18</span> <span>     * @return  boolean
</span><span>19</span> <span>     *</span><span>*/</span>
<span>20</span>     <span>public</span> <span>function</span> cacheData(<span>$sKey</span>, <span>$mixValue</span> = '', <span>$sPath</span> = '/alidata/www/lianxi/file/', <span>$iCacheTime</span> = 0<span>)
</span><span>21</span> <span>    {   
</span><span>22</span>         <span>$sPath</span>  =   <span>rtrim</span>(<span>$sPath</span>, '/').'/'<span>;
</span><span>23</span>         <span>$sFileName</span>  =   <span>$sPath</span>.<span>$sKey</span>.<span>$this</span>-><span>sExt;
</span><span>24</span>         <span>//</span><span>生成缓存文件</span>
<span>25</span>         <span>if</span>(<span>$mixValue</span><span>)
</span><span>26</span> <span>        {   
</span><span>27</span>             <span>if</span>(!<span>is_dir</span>(<span>$sPath</span><span>))
</span><span>28</span>                 <span>mkdir</span>(<span>$sPath</span>, 0777<span>);
</span><span>29</span>             <span>$iCacheTime</span> =   <span>sprintf</span>('%011d', <span>$iCacheTime</span><span>);
</span><span>30</span>             <span>return</span> <span>file_put_contents</span>(<span>$sFileName</span>, <span>$iCacheTime</span>.json_encode(<span>$mixValue</span><span>));
</span><span>31</span> <span>        }   
</span><span>32</span> 
<span>33</span>         <span>if</span>(<span>is_file</span>(<span>$sFileName</span>) && !<span>$mixValue</span><span>)
</span><span>34</span> <span>        {   
</span><span>35</span>             <span>if</span>(<span>is_null</span>(<span>$mixValue</span><span>))
</span><span>36</span> <span>            {   
</span><span>37</span>                 <span>//</span><span>删除缓存</span>
<span>38</span>                 <span>return</span> <span>unlink</span>(<span>$sFileName</span><span>);
</span><span>39</span> <span>            }   
</span><span>40</span>                 
<span>41</span>             <span>//</span><span>获取缓存</span>
<span>42</span>             <span>$sContent</span>   =   <span>file_get_contents</span>(<span>$sFileName</span><span>);
</span><span>43</span>             <span>$iTime</span> = <span>intval</span>(<span>substr</span>(<span>$sContent</span>, 0, 11<span>));
</span><span>44</span>             <span>$sContent</span>   =   <span>substr</span>(<span>$sContent</span>, 11<span>);
</span><span>45</span>             <span>if</span>(<span>$iTime</span> != 0 && <span>$iTime</span> + <span>filemtime</span>(<span>$sFileName</span>) < <span>time</span><span>())
</span><span>46</span> <span>            {   
</span><span>47</span>                 <span>//</span><span>过期了,删除</span>
<span>48</span>                 <span>unlink</span>(<span>$sFileName</span><span>);
</span><span>49</span>                 <span>return</span> <span>FALSE</span><span>;
</span><span>50</span> <span>            }   
</span><span>51</span>             <span>return</span> <span>$sContent</span><span>;
</span><span>52</span> <span>        }
</span><span>53</span>         <span>else</span>
<span>54</span> <span>        {
</span><span>55</span>             <span>return</span> <span>FALSE</span><span>;
</span><span>56</span> <span>        }
</span><span>57</span> <span>    }
</span><span>58</span> <span>}
</span><span>59</span> ?>
Nach dem Login kopieren
<span> 1</span> <?<span>php                                                                                                                                                                                        
</span><span> 2</span> <span>include</span> 'response.php'<span>;
</span><span> 3</span> <span>include</span> 'file.php'<span>;
</span><span> 4</span> <span>$_GET</span>['format'] =   <span>isset</span>(<span>$_GET</span>['format']) && <span>in_array</span>(<span>$_GET</span>['format'], <span>array</span>('xml', 'json', 'array')) ? <span>$_GET</span>['format'] : 'json'<span>;
</span><span> 5</span> <span>$file</span> = <span>new</span> <span>File</span><span>();
</span><span> 6</span> <span>//</span><span>删除缓存
</span><span> 7</span> <span>//exit(var_dump($file->cacheData('index_cache', null)));</span>
<span> 8</span> 
<span> 9</span> <span>if</span>(!<span>$sContent</span> = <span>$file</span>->cacheData('index_cache'<span>))
</span><span>10</span> <span>{
</span><span>11</span>     <span>//</span><span>echo "获取缓存失败\n";
</span><span>12</span> <span>    //echo "获取数据\n";</span>
<span>13</span>     <span>$arData</span> =   <span>array</span><span>(
</span><span>14</span>         'id'    =>  1,  
<span>15</span>         'name'  =>  'TeddyNan',
<span>16</span>         'sex'   =>  23, 
<span>17</span>         <span>array</span><span>(
</span><span>18</span>             'nani'=><span>array</span><span>(
</span><span>19</span>                 'g'=>'gg',
<span>20</span>                 2,  
<span>21</span>                 4   
<span>22</span> <span>            )   
</span><span>23</span> <span>        )   
</span><span>24</span> <span>    );  
</span><span>25</span>     <span>//</span><span>echo "生成缓存\n";</span>
<span>26</span> 
<span>27</span>     <span>$file</span>->cacheData('index_cache', <span>$arData</span>, '/alidata/www/lianxi/file/', 0<span>); 
</span><span>28</span>     Response::show(0, 'success', <span>$arData</span>, <span>$_GET</span>['format'<span>]);
</span><span>29</span> <span>}
</span><span>30</span> <span>else</span>
<span>31</span> <span>{
</span><span>32</span>     Response::show(0, 'success', json_decode(<span>$sContent</span>, <span>TRUE</span>), <span>$_GET</span>['format'<span>]);
</span><span>33</span> <span>}
</span><span>34</span> ?>
Nach dem Login kopieren

 

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Optimierungsstrategien für Daten-Caching und Speichertabellen in PHP- und MySQL-Indizes und ihre Auswirkungen auf die Abfrageleistung Optimierungsstrategien für Daten-Caching und Speichertabellen in PHP- und MySQL-Indizes und ihre Auswirkungen auf die Abfrageleistung Oct 15, 2023 pm 12:01 PM

Optimierungsstrategien für Datencaching und In-Memory-Tabellen von PHP- und MySQL-Indizes und ihre Auswirkungen auf die Abfrageleistung Einführung: PHP und MySQL sind eine sehr häufige Kombination bei der Entwicklung und Optimierung datenbankgesteuerter Anwendungen. Im Zusammenspiel zwischen PHP und MySQL spielen Indexdaten-Caching und Optimierungsstrategien für Speichertabellen eine entscheidende Rolle bei der Verbesserung der Abfrageleistung. In diesem Artikel werden die Optimierungsstrategien für das Daten-Caching und die Speichertabellen von PHP- und MySQL-Indizes vorgestellt und ihre Auswirkungen auf die Abfrageleistung anhand spezifischer Codebeispiele ausführlich erläutert.

Wie wählt man eine für PHP-Projekte geeignete Daten-Caching-Lösung aus? Wie wählt man eine für PHP-Projekte geeignete Daten-Caching-Lösung aus? Aug 10, 2023 pm 09:21 PM

Wie wählt man eine für PHP-Projekte geeignete Daten-Caching-Lösung aus? Mit der rasanten Entwicklung des Internets und dem Aufkommen des Big-Data-Zeitalters ist der effiziente Umgang mit Datenzugriff und Caching zu einem wichtigen Thema für PHP-Projekte geworden. Als gängige Methode zur Leistungsoptimierung kann das Daten-Caching die Reaktionsgeschwindigkeit und das Benutzererlebnis der Website effektiv verbessern. Bei der Auswahl einer für PHP-Projekte geeigneten Daten-Caching-Lösung müssen wir jedoch eine Reihe von Faktoren berücksichtigen, darunter Cache-Typ, Datenzugriffsmodus, Caching-Strategie usw. In diesem Artikel wird erläutert, wie Sie aus diesen Aspekten auswählen können

Analyse der Seitendaten-Caching- und inkrementellen Aktualisierungsfunktionen der Python-Implementierung für Headless-Browser-Sammlungsanwendungen Analyse der Seitendaten-Caching- und inkrementellen Aktualisierungsfunktionen der Python-Implementierung für Headless-Browser-Sammlungsanwendungen Aug 08, 2023 am 08:28 AM

Analyse der Seitendaten-Caching- und inkrementellen Aktualisierungsfunktionen für in Python implementierte Headless-Browser-Erfassungsanwendungen. Einführung: Angesichts der anhaltenden Beliebtheit von Netzwerkanwendungen erfordern viele Datenerfassungsaufgaben das Crawlen und Parsen von Webseiten. Der Headless-Browser kann die Webseite vollständig bedienen, indem er das Verhalten des Browsers simuliert, wodurch die Erfassung von Seitendaten einfach und effizient wird. In diesem Artikel wird die spezifische Implementierungsmethode der Verwendung von Python zum Implementieren der Seitendaten-Caching- und inkrementellen Aktualisierungsfunktionen einer Headless-Browser-Sammlungsanwendung vorgestellt und detaillierte Codebeispiele angehängt. 1. Grundprinzipien: kopflos

Daten-Caching und lokaler Speicher-Erfahrungsaustausch bei der Vue-Projektentwicklung Daten-Caching und lokaler Speicher-Erfahrungsaustausch bei der Vue-Projektentwicklung Nov 03, 2023 am 09:15 AM

Erfahrungsaustausch über Daten-Caching und lokale Speicherung in der Vue-Projektentwicklung Im Entwicklungsprozess eines Vue-Projekts sind Daten-Caching und lokale Speicherung zwei sehr wichtige Konzepte. Daten-Caching kann die Anwendungsleistung verbessern, während lokaler Speicher eine dauerhafte Speicherung von Daten ermöglichen kann. In diesem Artikel werde ich einige Erfahrungen und Praktiken bei der Verwendung von Daten-Caching und lokaler Speicherung in Vue-Projekten teilen. 1. Daten-Caching Beim Daten-Caching werden Daten im Speicher gespeichert, sodass sie schnell abgerufen und später verwendet werden können. In Vue-Projekten gibt es zwei häufig verwendete Daten-Caching-Methoden:

Wie erreichen PHP und Swoole eine effiziente Datenzwischenspeicherung und -speicherung? Wie erreichen PHP und Swoole eine effiziente Datenzwischenspeicherung und -speicherung? Jul 23, 2023 pm 04:03 PM

Wie erreichen PHP und Swoole eine effiziente Datenzwischenspeicherung und -speicherung? Überblick: Bei der Entwicklung von Webanwendungen sind Daten-Caching und -Speicherung ein sehr wichtiger Teil. PHP und Swoole bieten eine effiziente Methode zum Zwischenspeichern und Speichern von Daten. In diesem Artikel wird erläutert, wie mit PHP und Swoole eine effiziente Datenzwischenspeicherung und -speicherung erreicht wird, und entsprechende Codebeispiele werden angegeben. 1. Einführung in Swoole: Swoole ist eine leistungsstarke asynchrone Netzwerkkommunikations-Engine, die für die PHP-Sprache entwickelt wurde

Wie sollten Daten-Caching, Ergebnis-Caching und Seiten-Caching in Golang verwendet werden? Wie sollten Daten-Caching, Ergebnis-Caching und Seiten-Caching in Golang verwendet werden? Jun 19, 2023 pm 09:04 PM

Golang ist eine effiziente, prägnante und zuverlässige Programmiersprache, die zunehmend in Webanwendungen eingesetzt wird. Um die Leistung von Webanwendungen zu optimieren, müssen Entwickler normalerweise Caching-Technologie verwenden, um den Ressourcenzugriff zu reduzieren und die Reaktionsgeschwindigkeit der Anwendung zu verbessern. In Golang sind Daten-Caching, Ergebnis-Caching und Seiten-Caching häufig verwendete Caching-Technologien. In diesem Artikel werden wir den Zweck und die Verwendung dieser drei Caching-Technologien verstehen. 1. Daten-Caching Daten-Caching bezieht sich auf die Verbesserung der Speicherung häufig aufgerufener Daten im Speicher

So verwenden Sie PHP und SQLite zum Zwischenspeichern und Optimieren von Daten So verwenden Sie PHP und SQLite zum Zwischenspeichern und Optimieren von Daten Jul 30, 2023 am 11:57 AM

So verwenden Sie PHP und SQLite für das Zwischenspeichern und Optimieren von Daten. Einführung: Bei der Entwicklung von Webanwendungen sind das Zwischenspeichern und Optimieren von Daten sehr wichtig, um die Leistung zu verbessern und die Anzahl der Datenbankabfragen zu reduzieren. PHP bietet umfangreiche Datenbankbetriebsfunktionen, während SQLite eine leichte eingebettete Datenbank ist, die sich sehr gut zum Zwischenspeichern von Daten eignet. In diesem Artikel wird erläutert, wie Sie PHP und SQLite zum Zwischenspeichern und Optimieren von Daten verwenden. 1. Was ist SQLite? SQLite ist eine eingebettete relationale Datenquelle

So verwenden Sie ECharts und die PHP-Schnittstelle, um das Daten-Caching und die Aktualisierung statistischer Diagramme zu implementieren So verwenden Sie ECharts und die PHP-Schnittstelle, um das Daten-Caching und die Aktualisierung statistischer Diagramme zu implementieren Dec 17, 2023 pm 05:36 PM

Verwendung von ECharts und PHP-Schnittstellen zum Implementieren der Datenzwischenspeicherung und Aktualisierung statistischer Diagramme. In Webanwendungen werden häufig statistische Diagramme zur Anzeige von Datenanalyseergebnissen verwendet. ECharts ist eine beliebte Open-Source-JavaScript-Diagrammbibliothek, die uns bei der Erstellung verschiedener Arten interaktiver statistischer Diagramme helfen kann. Das direkte Abrufen von Daten aus der Datenbank und das Rendern von Diagrammen kann jedoch zu Leistungsproblemen führen, wenn die Datenmenge sehr groß ist oder die Daten häufig aktualisiert werden. Um dieses Problem zu lösen, können wir die PHP-Schnittstelle verwenden, um statistische Diagramme zu implementieren

See all articles