memcachedCOM

INDEX

memcachedCOMとは?

memcachedCOMはmemcached用クライアントライブラリ(COM)です。

以下のようなことが可能です。

概要

以下に簡単な例を示します。

Sample.vbs

set o = createobject("memcachedCOM") o.open "192.168.xxx.xxx" '//--- '// ex1: Store a value. o("aaa") = "hello!!!" wscript.echo "aaa :" & o("aaa") o.delete("aaa") wscript.echo "aaa :" & o("aaa") '//--- '// ex2: Cached execute of ADODB.Command. set cmd = createobject("adodb.command"): cmd.activeconnection = "Provider=xxx..." cmd.commandtext = "select * from TTest" set rs = o(cmd) '// 1回目はSQL文を実行するが2回目からはキャッシュからrsを取得する do until rs.eof wscript.echo rs("sAAA"): rs.movenext loop o.close()

[console output]

aaa :hello!!! aaa : DB001 DB002 DB003 DB004 DB005
動作環境
パッケージ内容
memcachedCOM.dll
memcachedCOMライブラリ本体
注意事項
  1. 本ソフトウェアの利用は良識の範囲内でお願い致します。
  2. 本ソフトウェアの利用による損害の保証はお受けできません。
  3. 本ソフトウェアの利用は楽しんで行っていただきますようお願い致します。
インストール方法
  1. "memcachedCOM.dll" をRegsvr32。
リファレンス
[ New Color ] [ Update Color ]
memcachedCOM Library
memcachedCOM
Interface
ImemcachedCOM
ProgID
memcachedCOM
NOM Name
memcachedCOM [default]
ImemcachedCOM

memcachedサーバーと通信します。

プロパティ
Variant Item(Variant* pKey) [RW][default]

キャッシュする値をセット、取得します。
Set(...)Get(...) の代わりに利用できます。
pKey に ADODB.Command を渡して Item を取得すると Execute(...) が実行されます。

【例1】 o.Item("aaa") = "Hello!" wscript.echo o.Item("aaa") 【例2】 set cmd = createobject("ADODB.Command") cmd.activeConnection = "Provider=..." cmd.commandText = "select * from ..." set rs = o.Item(cmd)
メソッド
void Open(String sIP, long nPort=11211)
sIP
memcachedサーバーのIPアドレス。
nPort
memcachedサーバーのTCPポート。
戻り値
[なし]

memcachedサーバーへ接続します。

void Close()
戻り値
[なし]

memcachedサーバーへの接続を解除します。

void Set(String sKey, Variant* pValue, long nExptime=0)
sKey
キャッシュされる値に付けるキー。
pValue
キャッシュされる値。
nExptime
有効期限(秒)。
戻り値
[なし]

memcached に set コマンドを送ります。

void Add(String sKey, Variant* pValue, long nExptime=0)
sKey
キャッシュされる値に付けるキー。
pValue
キャッシュされる値。
nExptime
有効期限(秒)。
戻り値
[なし]

memcached に add コマンドを送ります。

void Replace(String sKey, Variant* pValue, long nExptime=0)
sKey
キャッシュされる値に付けるキー。
pValue
キャッシュされる値。
nExptime
有効期限(秒)。
戻り値
[なし]

memcached に replace コマンドを送ります。

Variant Get(String sKey)
sKey
キャッシュされている値に付けられたキー。
戻り値
キャッシュされていた値。

memcached に get コマンドを送ります。
存在しなかった場合 Empty が返ります。

void Delete(String sKey)
sKey
キャッシュされている値に付けられたキー。
戻り値
[なし]

memcached に delete コマンドを送ります。

Variant Gets(String sKey, Variant* pCasUnique)
sKey
キャッシュされている値に付けられたキー。
pCasUnique
メソッドが成功すると cas unique値 が入ります。
戻り値
キャッシュされていた値。

memcached に gets コマンドを送ります。
存在しなかった場合 Empty が返ります。

【例】 value = o.Gets("aaa", cu) value = value & "!!!" o.Cas "aaa", cu, value
void Cas(String sKey, Variant* pCasUnique, Variant* pValue, long nExptime=0)
sKey
キャッシュされている値に付けられたキー。
pCasUnique
Gets で得られた cas unique値。
pValue
キャッシュされる値。
nExptime
有効期限(秒)。
戻り値
[なし]

memcached に cas コマンドを送ります。

【例】 value = o.Gets("aaa", cu) value = value & "!!!" o.Cas "aaa", cu, value
Object Execute(Object pCommand, String sKey="", long nExptime=0)
pCommand
Executeのための準備が整った ADODB.Command オブジェクト。
sKey
キャッシュされる ADODB.Recordset に付けるキー。
空文字列("")を指定すると pCommand を元に自動でキーを内部的に生成します。
nExptime
有効期限(秒)。
戻り値
ADODB.Recordset オブジェクト。

キャッシュされた Recordset を取得します。
まだキャッシュされていない場合には pCommand を Execute してキャッシュを作成します。

【例】 set cmd = createobject("ADODB.Command") cmd.activeConnection = "Provider=..." cmd.commandText = "select * from ..." set rs = o.Execute(cmd) do until rs.EOF '// ... rs.moveNext loop
更新履歴
2009/05/22
  • Version: 1.0.0.0