#1、telnet ip port 方式管理 telnet 127.0.0.1 11211 #2、命令直接操作,nc这样的命令 [root@localhost application]# printf "stats slabs\r\n"|nc 127.0.0.1 11211 STAT active_slabs 0 STAT total_malloced 0 END #3、管理 Memcached 命令 a、stats 统计Memcached的各种信息。 b、stats reset 重新统计数据,重新开始统计。 c、stats slabs 显示slabs信息。通过这命令能获取每个slabs的chunksize长度,从而确定数据保存在哪个slab。 d、stats items 显示slab中的item数目。 e、stats setting 查看一些Memcached设置,列如线程数…. f、stats slabs 查看slabs相关情况。 g、stats sizes 查看存在Item个数和大小。 h、stats cachedump 查看key value。 i、stats reset 清理统计数据。 j、set|get,gets 用来保存或获取数据。
# memadmin php 工具管理(memcadmin-1.0.12.tar.gz) 1、安装memadmin php工具。 cd /home/oldsuo/tools wget http://www.junopen.com/memadmin/memadmin-1.0.12.tar.gz tar zxf memadmin-1.0.12.tar.gz -C /usr/local/apache/htdocs/ ll /usr/local/apache/htdocs/memadmin/ 2、 登陆memadmin php。 web方式访问:http://IP地址/memadmin/ 默认用户名密码都为admin。
Memcached memadmin php工具界面化管理安装部署文档2、Python 操作 Memcached 1> 安装 API 及 基本操作
python 操作 Memcached 使用 Python-memcached 模块 下载安装:https://pypi.python.org/pypi/python-memcached import memcache mc = memcache.Client([], debug=True) mc.set(, ) ret = mc.get() print ret
2> 天生支持集群python-memcached 模块原生支持集群操作,其原理本质是在内存维护一个主机列表,数字为权重,为3即出现3次,相对应的几率大
mc = memcache.Client([ (, 3), # 数字为权重 (, 1), ], debug=True) # 那么在内存中主机列表为: # host_list = ["192.168.1.5","192.168.1.5","192.168.1.5","192.168.1.9",]
那么问题来了,集群情况下如何选择服务器存储呢?
如果要创建设置一个键值对(如:k1 = "v1"),那么它的执行流程如下:
获取值的话也一样
#!/usr/bin/env python # binascii str_input = str_bytes = bytes(str_input, encoding=) num = (((binascii.crc32(str_bytes) & 0xffffffff) >> 16) & 0x7fff) or 1 print(num)
源码、将字符串转换为数字3> add
添加一个键值对,如果 key 已经存在,重复添加执行 add 则抛出异常
import memcache mc = memcache.Client([], debug=True) mc.add(, ) # mc.add('k1', 'v2') # 报错,对已经存在的key重复添加,失败!!!
4> replace
replace 修改某个 key 的值,如果 key 不存在,则异常
import memcache mc = memcache.Client([], debug=True) # 如果memcache中存在kkkk,则替换成功,否则一场 mc.replace(,)
5> set 和 set_multi
set 设置一个键值对,如果 key 不存在,则创建
set_multi 设置多个键值对,如果 key 不存在,则创建
import memcache mc = memcache.Client([], debug=True) mc.set(, ) mc.set_multi({: , : })
6> delete 和 delete_multi
delete 删除指定的一个键值对
delete_multi 删除指定的多个键值对
import memcache mc = memcache.Client([], debug=True) mc..delete(, ) mc.delete_multi({: , : })
7> get 和 get_multi
get 获取一个键值对
get_multi 获取多个键值对
import memcache mc = memcache.Client([], debug=True) val = mc.get() item_dict = mc.get_multi([, ,])
8> append 和 prepend
append 修改指定key的值,在该值 后面 追加内容
prepend 修改指定key的值,在该值 前面 插入内容