async_memcache for tornado

tornado 是一个纯python 实现的非阻塞web服务器,自带了异步httpclient,可以异步请求http网络资源。

在实际应用中,我们常常需要访问memcached等资源,发现官方并没有具体实现memcache异步客户端,但是tornado留出了ioloop让我们很容易就可以实现异步的socket网络访问。 于是参照memcache的通信协议,我简单实现了一个异步socket的memcache客户端。

使用示例

源代码下载: async_memcache.py

if __name__ == '__main__':
    client = MemcacheClient('localhost', 11211)
    def get_callback(val):
        print val
    client.set('hello', 'world', get_callback)
    client.set('hello3', 'world3', get_callback)
    client.get('hello3', get_callback)
    client.get('hello2', get_callback)
    client.get(['hello', 'hello2', 'hello3'], get_callback)
    
    client.set('hello4', 'abc', get_callback)
    client.get('hello4', get_callback)
    client.append('hello4', 'append', get_callback)
    client.get('hello4', get_callback)
    client.prepend('hello4', 'prepend', get_callback)
    client.get('hello4', get_callback)
    client.delete('hello4', get_callback)
    client.get('hello4', get_callback)
    client.delete('hello4', get_callback)
    IOLoop.instance().start()
    

希望对你有用 ^_^

Comments

Fork me on GitHub