[英]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.