今天看到robbin大哥用ruby写了一个遍历memcached的脚本,由于自己不用ruby就鳴发了用python也写一个的想法,说做就做,虽然功能上没有ruby版的强憾,不过也可以凑合用一下。
这个python版本还可以继续优化。代码如下:
import socket, StringIO
'''
@author: ahuaxuan
@date: 2008-10-22
'''
class mcstats(object):
def __init__(self, address, port):
self.address = address
self.port = port
self.s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.s.connect((self.address, self.port))
def __del__(self):
self.s.close()
def connect(self, command):
num = self.s.send(command)
totalData = ''
while True:
data = self.s.recv(1024)
if len(data) <= 0:
break
totalData = totalData + data
if totalData.find('END') >= 0:
break
return totalData
def calcSlabsCount(self, data):
f = StringIO.StringIO(data)
tmp = None
for a in f:
if a.find('END') >= 0:
break
else:
tmp = a
f.close()
if tmp != None:
return int(tmp.split(":")[1])
else:
return 0
def showKVpairs(self, slabCounts, command):
for a in range(0, slabCounts):
tmpc = command + str(a + 1) + ' 0 \r\n'
data = self.connect(tmpc)
f = StringIO.StringIO(data)
for b in f:
if b.find('ITEM') >= 0:
arr = b.split(' ')
print 'key : ' + arr[1] + ' ------ value size : ' + arr[2][1:len(arr[2])]
f.close()
if __name__ == "__main__":
mcs = mcstats("localhost", 11211)
mcs.showKVpairs(mcs.calcSlabsCount(mcs.connect('stats items \r\n')), 'stats cachedump ')
分享到:
- 2008-10-22 22:39
- 浏览 2796
- 评论(3)
- 论坛回复 / 浏览 (3 / 4032)
- 查看更多
相关推荐
《Python库tencentcloud-sdk-python-memcached-3.0.335详解》 在IT行业中,Python作为一门简洁且强大的编程语言,被广泛应用于各种领域,包括但不限于数据分析、机器学习、网络开发等。而当涉及到云计算服务时,...
《Python库tencentcloud-sdk-python-memcached-3.0.556详解》 在IT行业中,Python作为一门简洁且强大的编程语言,被广泛应用于各种领域,包括但不限于数据分析、机器学习、网络爬虫以及云计算等。而在这些应用场景...
Python-memcached是Python语言的一个库,用于与Memcached缓存系统进行交互。Memcached是一种高性能、分布式内存对象缓存系统,广泛应用于Web应用中,用于减轻数据库的负载,提高数据访问速度。Python-memcached库则...
总结来说,"tencentcloud-sdk-python-memcached-3.0.315"为Python开发者提供了与腾讯云Memcached服务交互的便利工具,不仅简化了开发过程,还增强了应用的性能和稳定性。通过学习和熟练掌握这款SDK,开发者可以充分...
资源分类:Python库 所属语言:Python 资源全名:tencentcloud-sdk-python-memcached-3.0.418.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
资源分类:Python库 所属语言:Python 资源全名:tencentcloud-sdk-python-memcached-3.0.567.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
总的来说,`python-memcached-latest.tar`提供的库是Python开发者在处理高并发、数据读取密集型应用时的一个强大工具。通过使用Memcached作为缓存层,可以显著提高数据读取速度,减轻数据库压力,提升整体系统性能。
本lib包包含:javolution-5.5.1.jar、kryo-1.03.jar、kryo-serializers-0.10.jar、memcached-2.5.jar、memcached-session-manager-1.5.1.jar、memcached-session-manager-tc7-1.5.1.jar、minlog-1.2.jar、msm-...
cas-client-support-distributed-memcached-3.2.0.jar
8. **持久化**:虽然Memcached不支持数据持久化,但可以通过配合其他工具(如Redis或数据库)实现一定程度的持久化,Python-Memcached可以作为这些工具的缓存层。 9. **错误处理**:Python-Memcached库能够处理...
ssm3-mybatis2-memcached 使用了 simple-spring-memcached 。因为 mybatis-memcached 不支持 MyBatis2(iBatis),只能用在 MyBatis3 里。但是因为有的项目还跑在 MyBatis2 版本上,所以也做一个例子。 mm-mybatis3-...
资源分类:Python库 所属语言:Python 资源全名:python-binary-memcached-0.24.1.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
3. **apache-tomcat-7.0.47-memcached-javolution-session共享.rar**:Javolution是一个高性能的Java库,提供了一种序列化策略。它优化了内存使用和性能,适用于对速度有严格要求的环境。 4. **apache-tomcat-...
2. `spymemcached-2.8.4.jar`:这是一个Java客户端库,用于连接和通信Memcached服务器,`memcached-session-manager`依赖它来与Memcached交互。 3. `netty-3.9.9.Final.jar`:Spymemcached使用的NIO库,提供非阻塞I/...
下载memcache的windows稳定版,解压放某个盘下面,比如在c:\memcached 2. 在终端(也即cmd命令界面)下输入 ‘c:\memcached\memcached.exe -d install’ 安装 3. 再输入: ‘c:\memcached\memcached.exe -d start’...
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
使用Memcached需要配置客户端库,并在服务器端启动服务。 综上所述,"maven-springmvc-mybatis-memcached"项目是一个全面的Web应用开发实例,它涵盖了现代Java Web开发中的多个关键组件。通过学习和实践这个项目,...
4. `bin`目录:可能包含其他辅助工具或脚本。 5. `conf`目录:可能包含默认配置文件,如`memcached.conf`。 6. `docs`目录:可能包含文档和帮助资料。 **Memcached工作原理** Memcached基于键值对存储,客户端通过...
Ansible-ansible-role-memcached.zip,ansible角色-memcachedansible角色:memcached,ansible是一个简单而强大的自动化引擎。它用于帮助配置管理、应用程序部署和任务自动化。
python-memcached-转储 从memcache服务器导出数据,只为备份数据求助 [ root @ localhost ~ ] # python memcached-dump.py --help usage : memcached - dump . py [ - h ] [ - - host HOST ] [ - - port PORT ] [ - ...