簡體   English   中英

將PHP函數變量存儲在memcached中

[英]Storing php function variables in memcached

我想知道是否有可能在memcached中存儲函數變量。 我寫了基本的模板系統,將xml模板編譯成函數。 模板會變得很大,我認為如果可以對其進行緩存,則可以提高性能。 這樣的事情會起作用嗎,還是我只是在緩存對該函數的引用?

$populate_template = function($values){
   //compiled template
};
$memcached_object->set("some_key",$populated_template);

編輯:我確實意識到有些php加速器可以完全滿足我的要求,但是使用memcached會容易得多,因為我不必經過批准另一項技術的過程。

我不這么認為。 自然,我看着序列化它。 但:

PHP Warning:  Uncaught exception 'Exception' with message 'Serialization of 'Closure' is not allowed' in php shell code:1

使用memcached,您可能要做的就是將代碼存儲為字符串,然后將其拉出后調用create_function

我認為將函數源代碼作為字符串“序列化”並通過create_function重新創建它不會提高性能。 這將比在PHP中定義函數要慢一百倍,因為使用外部介質的輸入/輸出+會在兩種情況下都執行PHP需要做的事情。

您需要使用操作碼緩存。 但是,如果PHP性能是應用程序中唯一持久的瓶頸,那么您就是個快樂的人。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM