12
A
回答
11
使用http://php.net/manual/en/function.serialize.php
<?php
// connect memcache
$memcache_obj = new Memcache;
$memcache_obj->connect('localhost', 11211);
// simple example class
class MyClass {
private $var = 'default';
public function __construct($var = null) {
if ($var) {
$this->setVar($var);
}
}
public function getVar() {
return $this->var;
}
public function setVar($var) {
$this->var = $var;
}
}
$obj1 = new MyClass();
$obj2 = new MyClass('test2');
$obj3 = new MyClass();
$obj3->setVar('test3');
// dump the values using the method getVar
var_dump($obj1->getVar(), $obj2->getVar(), $obj3->getVar());
// store objects serialized in memcache, set MEMCACHE_COMPRESSED as flag so it takes less space in memory
$memcache_obj->set('key1', serialize($obj1), MEMCACHE_COMPRESSED);
$memcache_obj->set('key2', serialize($obj2), MEMCACHE_COMPRESSED);
$memcache_obj->set('key3', serialize($obj3), MEMCACHE_COMPRESSED);
// unset the objects to prove it ;-)
unset($obj1, $obj2, $obj3);
// get the objects from memcache and unserialze
// IMPORTANT: THE CLASS NEEEDS TO EXISTS!
// So if you have MyClass in some other file and include it, it has to be included at this point
// If you have an autoloader then it will work easily ofcourse :-)
$obj1 = unserialize($memcache_obj->get('key1'));
$obj2 = unserialize($memcache_obj->get('key2'));
$obj3 = unserialize($memcache_obj->get('key3'));
// dump the values using the method getVar
var_dump($obj1->getVar(), $obj2->getVar(), $obj3->getVar());
?>
相關問題
- 1. 將複雜對象存儲在redis或memcached中(ruby)
- 2. 如何將複雜的Perl對象存儲到Memcached中?
- 3. 散裝存儲複雜對象的SQLAlchemy
- 4. 在iOS中存儲複雜對象?
- 5. Object.assign()具複雜對象Angular2 NGRX /存儲
- 6. 複雜對象的存儲庫設計?
- 7. 在web.config中存儲複雜的對象
- 8. 繞過複雜查詢的存儲庫模式可以嗎?
- 9. 可以使用對象存儲GE來存儲圖像嗎?
- 10. Azure存儲 - NodeJS - 我可以存儲對象嗎?
- 11. 加載複雜對象以存儲sencha觸摸1.1
- 12. 通過存儲過程存儲複雜對象
- 13. memcached的在Rails的對象存儲
- 14. 每個對象的Memcached存儲
- 15. 如何在memcached中存儲protobuf對象?
- 16. 我們可以在Kendo Grid中讀取複雜對象嗎?
- 17. RestEasy:可以發佈兩個複雜對象嗎?
- 18. 可以在http CreateErrorResponse中返回複雜的對象內容嗎?
- 19. 我可以在對象中存儲對變量的引用嗎?
- 20. 在SQLite中存儲對象。可能嗎?
- 21. 重複的memcached對象
- 22. 複雜對象
- 23. 對複雜對象
- 24. 只有MySqlParameter對象可以存儲(C#)
- 25. Google appengine可以存儲Java對象POJO
- 26. iOS:我可以在託管中存儲託管對象嗎?
- 27. 我們可以在Blob中存儲org.apache.tomcat.websocket.WsSession對象嗎?
- 28. 可以強制將對象存儲在堆中嗎?
- 29. 我可以將JavaScript對象存儲在mySQL數據庫中嗎?
- 30. 我可以在ViewState中存儲xmlDocument對象嗎?
只有當他們系列化;並且該類必須已被包含/定義,然後才能再次反序列化 –
如果要序列化閉包,則需要類似https://github.com/jeremeamia/super_closure –