導航:首頁 > 編程語言 > php數組緩存

php數組緩存

發布時間:2022-10-15 16:43:42

php可以存儲數組嗎

可以的。

先用serialize序列化數組,再存入COOKIE,讀出來時用unserialize得到原來的數組

代碼:

//存入

$arr = array(1,2,3);

$arr_str = serialize($arr);

setcookie("a",$arr_str);

//取出

$arr_str = $_COOKIE['a'];

$arr = unserialize($arr_str);

2. 設定多鍵值cookie,注意必須給鍵值

$arr = array(1,2,3);

setcookie("a[0]", $arr[0]);

setcookie("a[1]", $arr[1]);

setcookie("a[2]", $arr[2]); 結果:數組所有元素都存到了。

數組長度 :3

Array ( [0] => 1 [1] => 2 [2] => 3 )

❷ PHP 操作大對象 數組如何節省內存

20M你要讀到數組中,如果你不清楚要用到裡面哪些數據,並且你的數據比較規律的話,你可以把這20M切開不同個小文件,再根據你在程序中要用的數據來做判斷是載入哪個文件,比如你這20M文件都有一個索引id,1,2,3,4,5....你可以把這20M文件的數據id為1-1000的存到一個文件里,1001-2000存到另一個文件里,你在用時根據要用到的id判斷載入哪個文件,這只是個思路,具體要看你的數據是個什麼樣的,能不能滿足切開放的條件

❸ php查詢資料庫的前5條數據,用數組存起來

為了便於隨時echo,存為字元串最好,一般的代碼如下:

$sql='select * from xxx order by xxid desc limit 5';//limit 5表示只取5個,order by xxxid desc表示按xxxid降序排列,可以顯示最新的5個
$res=mysql_query($sql);
$str5='';//保存的結果
while($row=mysql_fetch_array($res)) $str5.=$row[0].『<br>';//可能你需要修改這一句,控制顯示格式

mysql_free_result($res);

以後你就可以隨時echo $str5了。

❹ php 數組佔用內存太大

我們這前面的php高效寫法提到,盡量不要復制變數,特別是數組,一般來說php數組的內存利用率只有1/10,也就是說,一個在c語言國面100M內存的數組,在php裡面就是1G,

❺ thinkphp 數據緩存是否校驗緩存是什麼意思

在ThinkPHP中進行緩存操作,一般情況下並不需要直接操作緩存類,因為系統內置對緩存操作進行了封裝,直接採用S方法即可,例如:

// 緩存初始化

S(array('type'=>'xcache','expire'=>60));

緩存初始化可以支持的參數根據不同的緩存方式有所區別,常用的參數是:

參數 描述

expire 緩存有效期(時間為秒)

prefix 緩存標識前綴

type 緩存類型

系統目前已經支持的緩存類型包括:Apachenote、Apc、Db、Eaccelerator、File、Memcache、Redis、Shmop、Sqlite、Wincache和Xcache。

如果S方法不傳入type參數初始化的話,則讀取配置文件中設置的DATA_CACHE_TYPE參數值作為默認類型。同樣的道理,prefix參數如果沒有傳入會讀取配置文件的DATA_CACHE_PREFIX參數值,expire參數沒有傳入則讀取DATA_CACHE_TIME配置值作為默認。

有些緩存方式會有一些自身特殊的參數,例如Memcache緩存,還需要配置其他的參數:

S(array(

'type'=>'memcache',

'host'=>'192.168.1.10',

'port'=>'11211',

'prefix'=>'think',

'expire'=>60)

);

對於全局的緩存方式,一般我們建議添加prefix(緩存前綴)參數用以區分不同的應用,以免混淆。

// 設置緩存

S('name',$value);

會按照緩存初始化時候的參數進行緩存數據,也可以在緩存設置的時候改變參數,例如:

// 緩存數據300秒

S('name',$value,300);

甚至改變之前的緩存方式或者更多的參數:

// 採用文件方式緩存數據300秒

S('name',$value,array('type'=>'file','expire'=>300));

如果你在緩存設置的時候採用上面的數組方式傳入參數的話,會影響到後面的緩存存取。

緩存讀取

// 讀取緩存

$value = S('name');

緩存讀取的是前面緩存設置的值,這個值會受緩存初始化或者緩存設置的時候傳入的參數影響。 如果緩存標識不存在或者已經過期,則返回false,否則返回緩存值。

// 刪除緩存

S('name',null);

刪除緩存標識為name的緩存數據。

對象方式操作緩存

我們可以採用對象方式操作緩存,例如:

// 初始化緩存

$cache = S(array('type'=>'xcache','prefix'=>'think','expire'=>600));

$cache->name = 'value'; // 設置緩存

$value = $cache->name; // 獲取緩存

unset($cache->name); // 刪除緩存

如果你設置了緩存前綴的話,對應的緩存操作只是對應該緩存前綴標識的,不會影響其他的緩存。

關於文件緩存方式的安全機制

如果你使用的是文件方式的緩存機制,那麼可以設置DATA_CACHE_KEY參數,避免緩存文件名被猜測到,例如:

'DATA_CACHE_KEY'=>'think'

數據緩存可以支持緩存隊列,簡單的說就是可以限制緩存的數量,只需要在初始化的時候指定length參數:

S(array('type'=>'xcache','length'=>100,'expire'=>60));

設置了length參數後,系統只會緩存最近的100條緩存數據。

❻ php緩存二維數組

你要緩存到哪? 你的二維數組有多大? 緩存到伺服器 你可以用 redis memache 等。 如果小的花 直接寫cookie 。

❼ php 數組建立緩存,加快訪問速度

可以考慮採用數據緩存,例如將數據緩存在memcache/redis 中,使用的時候 直接從緩存里讀取,緩存里不存在的時候,自動讀取資料庫數據,更新到緩存中,緩存設置自動過期時間(或自動更新數據),這樣可以減輕DB的壓力。

❽ php數組累加速度很慢

將數據存在內存。
採用數據緩存,使用的時候直接從緩存里讀取,緩存里不存在的時候,自動讀取資料庫數據,更新到緩存中,緩存設置自動更新數據。
PHP數組,就是相同數據類型的元素按一定順序排列的集合,就是把有限個類型相同的變數用一個名字命名,然後用編號區分他們的變數的集合,這個名字成為數組名,編號成為下標。

❾ php用redis緩存和用數組緩存的區別

php用redis緩存和用數組緩存的區別:

redis或者memcache比較正規,用文件是權宜之計,不同之處是文件慢,下次打開還有,redis要開通存儲功能才有。

另外文件可以存放到內存裡面,/run/shm下面,或者/dev/shm下面。這樣速度也很快

❿ thinkphp 靜態緩存的設置方法,怎麼設置thinkphp靜態頁

在配置文件Conf\config.php的array()中加上:
Php代碼
1
'HTML_CACHE_ON'
=>
true,//開啟靜態緩存
2
'HTML_PATH'
=>
'__APP__/html',//靜態緩存文件目錄,HTML_PATH可任意設置,此處設為當前項目下新建的html目錄
靜態規則定義:
ThinkPHP官方手冊寫道
靜態規則的定義有三種方式:
Return
Array(
『ActionName』=>array(『靜態規則』,』靜態緩存有效期』,』附加規則』),
//第一種
『MoleName:ActionName』=>array(『靜態規則』,』靜態緩存有效期』,』附加規則』),//第二種
『*』=>array(『靜態規則』,』靜態緩存有效期』,』附加規則』),//第三種
…更多操作的靜態規則
)
第一種是定義全局的操作靜態規則,例如定義所有的read操作的靜態規則為:'read'=>array('{id}','60')
其中,
{id}
表示取
$_GET[『id』]
為靜態緩存文件名,第二個參數表示緩存
60
秒。
第二種是定義某個模塊的操作的靜態規則,例如,我們需要定義
Blog
模塊的
read
操作進行靜態緩存
『Blog:read』=>array(『{id}』,-1)。
第三種方式是定義全局的靜態緩存規則,這個屬於特殊情況下的使用,任何模塊的操作都適用,例如
『*』=>array(『{$_SERVER.REQUEST_URI|md5}』),
根據當前的
URL
進行緩存。

閱讀全文

與php數組緩存相關的資料

熱點內容
幻影伺服器怎麼樣 瀏覽:25
具體哪些廣東公司招程序員 瀏覽:867
嵌入式編譯器教程 瀏覽:302
ssl數據加密傳輸 瀏覽:86
51單片機定時器方式2 瀏覽:330
命令行查看開機時間 瀏覽:812
python微博復雜網路分析 瀏覽:550
rf3148編程器 瀏覽:505
浙江標准網路伺服器機櫃雲主機 瀏覽:587
設置網路的伺服器地址 瀏覽:600
java圖形界面設計 瀏覽:751
純前端項目怎麼部署到伺服器 瀏覽:538
瓜子臉程序員 瀏覽:505
如何保證伺服器優質 瀏覽:94
小微信aPP怎麼一下找不到了 瀏覽:299
演算法纂要學術價值 瀏覽:975
程序員你好是什麼意思 瀏覽:802
倩女幽魂老伺服器如何玩 瀏覽:563
電子鍾單片機課程設計實驗報告 瀏覽:1001
看加密頻道 瀏覽:382