HTML5技术

【最全 干货 实例】 缓存手册(Memcached、redis、RabbitMQ) - 索宁(2)

字号+ 作者:H5之家 来源:H5之家 2016-09-01 12:00 我要评论( )

# 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 0STAT total_malloced 0

#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的值,在该值 前面 插入内容

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 快来一起打飞机、大牛带你用最2代码、写出外挂版微信打飞机 - 索宁

    快来一起打飞机、大牛带你用最2代码、写出外挂版微信打飞机 - 索宁

    2016-08-04 12:00

网友点评
i