由于memcache没有提供asp访问的api,因此需要通过创建一个能够访问memcache的asp组件,而这个组件是使用C#实现。其中有组件如下。
在使用asp缓存组件之前,都需要先安装win32的memcache,下载地址http://code.jellycan.com/memcached/,安装方法参考网上文章,不难安装,memcache性能监视器使用memcached Manager。memcache缓存数据有效时间单位为分钟。
第一种:ASP MemCache组件,参见我的上一篇博文实现asp访问Memcache的组件 ,不再详说。以下是调用示例,下载包里面的源代码也有测试文件。
set oMemcache = createobject("memcacheCOM.memcache")
Call oMemcache.addServer("128.1.230.209")
Call oMemcache.addServer("mymemcacheserver.local:11211")
Call oMemcache.init()
Call oMemcache.set ("mykey", "myvalue", 3600)
wscript.echo oMemcache.get ("mykey")
Call oMemcache.delete ("mykey")
dim tTest(2) : tTest(0) = "aaa" : tTest(1) = "bbb"
Call oMemcache.set ("myArray", (tTest), 30)
dim tResult
tResult=oMemcache.get ("myArray")
wscript.echo tResult(0)
wscript.echo tResult(1)
set oMemcache = nothing
参考资料地址:https://github.com/enyim/membase-interop/downloads
http://stackoverflow.com/questions/3787806/using-microsoft-velocity-memcache-from-classic-asp
http://drcarter.info/2011/06/memcached-component-for-classic-asp/
第二种:源码中国开发的asp访问memcache组件,组件下载:ASP MemCache组件V1.0。asp中调用方法如下
dim memcache
set memcache = server.createobject("codesky.aspmemcache")
memcache.connect "127.0.0.1"
'memcache.connect "127.0.0.1:11211"
memcache.store "mykey", "some values我的值",60 '缓存有效期60分钟,0=无限
'memcache.delkey "mykey"
response.write memcache.get("mykey")
memcache.close()
这个组件有测试过,可以使用,但是不能存储大数据超过一定长度会出错,有一篇文章介绍如何解决这个问题,http://g.dailim.net/browse.php?u=yTiVfapBUo%2BNIcAyayP%2BPLG%2FABtk5SqSx5ZNPAzJYqh986%2FG2Q%3D%3D&b=14