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)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate 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.

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 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

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

Anwendung der Warteschlangentechnologie bei der verzögerten Nachrichtenverarbeitung und dem Daten-Caching in PHP und MySQL Anwendung der Warteschlangentechnologie bei der verzögerten Nachrichtenverarbeitung und dem Daten-Caching in PHP und MySQL Oct 15, 2023 am 08:03 AM

Anwendung der Warteschlangentechnologie bei der verzögerten Nachrichtenverarbeitung und dem Daten-Caching in PHP und MySQL. Einführung: Mit der rasanten Entwicklung des Internets wird die Nachfrage nach Echtzeit-Datenverarbeitung immer größer. Allerdings führen herkömmliche Datenbankbetriebsmethoden bei der Verarbeitung großer Mengen an Echtzeitdaten häufig zu Leistungsengpässen. Um dieses Problem zu lösen, wurde die Warteschlangentechnologie entwickelt, die uns dabei helfen kann, die asynchrone Verarbeitung von Daten zu implementieren und die Systemleistung und Reaktionsgeschwindigkeit zu verbessern. In diesem Artikel wird die Anwendung der Warteschlangentechnologie bei der verzögerten Nachrichtenverarbeitung und dem Daten-Caching in PHP und MySQL sowie durch spezifischen Code vorgestellt

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

UniApp ist die beste Lösung für Daten-Caching und persistente Speicherung UniApp ist die beste Lösung für Daten-Caching und persistente Speicherung Jul 05, 2023 pm 08:33 PM

UniApp ist ein plattformübergreifendes Entwicklungsframework, das auf Vue.js basiert und ein Projekt in Anwendungen kompilieren kann, die auf mehreren Plattformen gleichzeitig ausgeführt werden können, z. B. iOS, Android usw. Bei der Entwicklung mobiler Anwendungen sind Daten-Caching und persistente Speicherung sehr wichtige Aspekte. In diesem Artikel wird die beste Lösung für die Implementierung von Daten-Caching und persistenter Speicherung in UniApp vorgestellt und entsprechende Codebeispiele bereitgestellt. 1. Daten-Caching bei der Entwicklung mobiler Anwendungen, um das Benutzererlebnis der Anwendung zu verbessern und die Anzahl der Netzwerkanfragen und die Datenladezeit zu reduzieren

See all articles