雖然cmem也支援memcached協議接入,但是在本質上和memcached是不同的,早期的很多開發者並沒有意識到這一點,也因此出現了一系列問題,本文主要用來談談這些問題,以便有助於第三方開發者能正確的使用cmem。
重大差異一,memcached
是cache, cmem
是永久儲存。
重大差異二,實現分布式的方式不同。memcached是client實現的分布式,而cmem是由乙個**層實現的分布式,架構的不同決定了可控性上有所不同。
一.memcached是cache, cmem是永久儲存,所以memcached協議認為cache裡的資料是不可靠的,即使讀不到,還可以從sql裡去拉取,因此,當出現網路變更或網路異常時,api會發現本來資料是存在的,但是讀不到資料了,因此來促使你從sql里拉資料。而應用切換到cmem get不到資料後,直接就執行初始化了。
解決方案是,在新增資料時,明確使用add,修改資料最好使用replace,另外可以同時使用cmem擴充套件的get_ext協議。
二.memcached的分布式是由api做的,而cmem的是由服務端做的,所以目前版本的cmem在同一條連線上不支援非同步io,只支援一問一答方式的訪問。
目前大部分開發者都能遵守cmem注意事項,基本很少有使用者犯類似錯誤了,即使犯了沒關係,cmem支援回檔功能,但是還是建議使用者在使用cmem前請仔細閱讀官方文件,避免恢復資料帶來的麻煩。
/wiki/cmem%e6%9c%8d%e5%8a%a1%e4%bb%8b%e7%bb%8d
外掛程式開發中如何正確使用第三方jar包
在進行eclipse外掛程式開發過程中,除了引用eclipse本身提供的外掛程式之外,有的時候還需要引用第三方的jar包,下面就介紹如何將第三方的jar包引入到eclipse的外掛程式開發中.第一種方式 在外掛程式工程中建立libs目錄,把所需要的第三方jar包拷貝到此目錄下,開啟manifest....
外掛程式開發中如何正確使用第三方jar包
在進行eclipse外掛程式開發過程中,除了引用eclipse本身提供的外掛程式之外,有的時候還需要引用第三方的jar包,下面就介紹如何將第三方的jar包引入到eclipse的外掛程式開發中.第一種方式 在外掛程式工程中建立libs目錄,把所需要的第三方jar包拷貝 到此目錄下,開啟manifest...
Android 啟動第三方應用
一 程式中呼叫其它程式,如下 在 中 com.x 是要開啟的程式包名,com.xx 是要開啟的activity 下面是實現 packageinfo pi getpackagemanager getpackageinfo packagename,0 intent resolveintent new i...