2010-02-04 35 views
4

我試圖找到Cache::Memcached與Windows XP兼容的Perl模塊的替代方案。或者,以某種方式獲得在Windows XP上工作的Cache :: Memcached。一點背景:生產環境(網絡服務器)是Solaris 10,我已經安裝了memcached和Cache :: Memcached,並且所有工作都正常。但是,開發PC是Windows XP,並且Cache :: Memcached將無法正確安裝,並且肯定無法正常工作。請參閱:是否有一個在Windows XP上工作的Perl memcached客戶端?

cpantesters.org report on Cache::Memcached

same error that I receive

Perl版本:這是perl的,v5.10.1專爲MSWin32 86多線程

注:開發環境改變爲Unix/Linux是這不是一個選項。會考慮其他基於Perl的緩存選項適合Web環境。

+0

cygwin不是一個選項嗎? – 2010-02-04 00:34:37

+0

我已經安裝了cygwin,但不知道如何使用它來編譯Perl模塊? – uxnow 2010-02-04 00:41:42

+0

你是如何嘗試安裝模塊的?我只是做了'ppm安裝Cache :: Memcached',它確實安裝了(儘管我得到了v1.26)。如果使用'ppm'安裝的版本可行,我無法測試,但它確實安裝了。 – 2010-02-04 00:49:18

回答

1

這是一個解決方案,可能需要一些額外的工作,但是可行。

創建一個自定義守護進程腳本作爲內存緩存的主機,然後使用Win32 :: Pipe將其轉換爲管道服務器。使用NamedPipes,客戶端腳本可以連接到它並執行事務(例如,存儲/檢索數據/內存)。

如果你想變得很花哨,你可以找到Win32擴展,爲你的守護進程創建一個Win32服務,所以它會在啓動時自動加載。

您可以下載當前版本的Win32 :: Pipe,並查看示例@http://www.roth.net/perl/pipe/

注意:ActiveState Perl分發附帶的Win32 :: Pipe模塊並不好。

1

如果您正在緩存字符串/標量類型,而不是序列化/反序列化對象,那麼您可能會直接從開發框中的套接字調用memcached客戶端。 memcached協議非常簡單,如果你主要試圖驗證緩存行爲,那麼你不需要持久連接到memcached惡魔,並且可以避免'發送消息到套接字...獲得單個響應'作爲操作模型。

相關問題