यह एक छोटी सी वस्तु है कि इतना स्मृति को नहीं ले करता है और serializable तुम सिर्फ सत्र में संग्रहीत कर सकता है:
getSessionObject('gnugpg_key_ring');
फोन करके
function getSessionObject($objectName, $params){
$sessionObjectSerialized = getSessionVariable($objectName, FALSE);
if($sessionObjectSerialized == FALSE){
$sessionObjectSerialized = constructSessionObject($objectName, $params);
setSessionVariable($objectName, $sessionObjectSerialized);
}
$sessionObject = unserialize($sessionObjectSerialized);
return $sessionObject;
}
function constructSessionObject($objectName, $params = array()){
switch($objectName){
case('gnugpg_key_ring'):{
$gnugpgKeyRing = getGNUPGKeyRing(); //do whatever you need to do to make the keyring.
return serialize($countryScheme);
}
default:{
throw new UnsupportedOperationException("Unknown object name objectName, cannot retrieve from session.");
break;
}
}
}
//Call this before anything else
function initSession(){
session_name('projectName');
session_start();
}
function setSessionVariable($name, $value){
$_SESSION['projectName'][$name] = $value;
}
function getSessionVariable($name, $default = FALSE){
if(isset($_SESSION['projectName'])){
if(isset($_SESSION['projectName'][$name])){
$value = $_SESSION['projectName'][$name];
}
}
return $default;
}
और फिर उस वस्तु को पुनः प्राप्त हालांकि सभी वस्तुओं हमेशा serializable उदाहरण नहीं हैं यदि ऑब्जेक्ट एक खुली फ़ाइल में फ़ाइल हैंडल रखता है, तो ऑब्जेक्ट को क्रमबद्ध करने पर फ़ाइल को बंद करने के लिए कुछ अतिरिक्त कोड होना आवश्यक होगा और ऑब्जेक्ट को अनियमित होने पर फ़ाइल को फिर से खोलें।
यदि ऑब्जेक्ट बड़ा है, तो आप सत्र के बजाए क्रमबद्ध ऑब्जेक्ट को स्टोर करने के लिए मेमकैच जैसे उचित कैशिंग टूल का उपयोग करना बेहतर होगा।
'एपीसी', 'memcache',' memcached', 'shmop', जब तक इसकी धारावाहिक योग्य हो। – Wrikken
@Wrikken आप xcache जोड़ना चाहते हैं, कोई भी ऑपोड कैश एक अच्छा उम्मीदवार –
Wincache है यदि आप विंडोज सर्वर –