python memcached 初探(一)

环境:ubuntun

语言:python

IDE:pycharm


安装memcached:

sudo apt-get install memcached

检测安装是否成功:

输入memcached  默认就启动了,什么也不提示,如果没成功有错误提示

安装 python-memcached:

http://www.tummy.com/Community/software/python-memcached/

直接下载安装,略



查看相关命令:

memcached -help


带参数启动 memcached:

memcached -m 10 -p 12000

-m: 使用内存大小

-p:  TCP port number to listen on (default: 11211)  使用的端口号,默认使用11211


主要方法如下:

set(key,val,time=0,min_compress_len=0)

设置 key  value,time用于设置超时时间,min_compress_len则用于设置zlib压缩(注:zlib是提供数据压缩用的函式库

set_multi(mapping,time=0,key_prefix='',min_compress_len=0)

mapping放置的是一个字典,key_prefix是key的前缀

mc.set_multi({'k1':1,'k2':2},key_prefix='pfx_') 

print mc.get('pfx_k1')

1

add(key,val,time=0,min_compress_len=0)

添加一个键值对,内部调用_set()方法

replace(key,val,time=0,min_compress_len=0)

替换value,内部调用_set()方法 ,就跟python的字符串replace一样

get(key)

根据key去获取value,出错返回None

get_multi(keys,key_prefix='')

获取多个key的值,返回的是字典。keys为key的列表

mc.set_multi({'k1':1,'k2':2},key_prefix='pfx_')

print mc.get_multi(['pfx_k1','pfx_k2'])  

{'k2': 2, 'k1': 1}


delete(key,time=0)

删除某个key。time的单位为秒,如果返回非0则代表成功

incr(key,delta=1)

获取一个key的值,然后加1,(默认是1,可以自己设置)必须得是能相加的,字符串和数字就不能加

print mc.incr('pfx_k1')

2  

decr(key,delta=1)

自减变量减去delta,默认减1

这个就同上,没什么好说的


利用python打出所有的方法

mc = memcache.Client(['127.0.0.1:12000'],debug=0)

mc.set_multi({'k3':3,'k5':5},key_prefix='pfx_')

for attr in dir(mc):

     print attr


MemcachedKeyCharacterError

MemcachedKeyError

MemcachedKeyLengthError

MemcachedKeyNoneError

MemcachedKeyTypeError

MemcachedStringEncodingError

_FLAG_COMPRESSED

_FLAG_INTEGER

_FLAG_LONG

_FLAG_PICKLE

_SERVER_RETRIES

__class__

__delattr__

__dict__

__doc__

__format__

__getattribute__

__hash__

__init__

__module__

__new__

__reduce__

__reduce_ex__

__repr__

__setattr__

__sizeof__

__str__

__subclasshook__

_expect_cas_value

_expectvalue

_get

_get_server

_incrdecr

_init_buckets

_map_and_prefix_keys

_recv_value

_set

_statlog

_val_to_store_info

add

append

buckets

cache_cas

cas

cas_ids

check_key

dead_retry

debug

debuglog

decr

delete

delete_multi

disconnect_all

do_check_key

flush_all

flush_on_reconnect

forget_dead_hosts

get

get_multi

get_slabs

get_stats

gets

incr

persistent_id

persistent_load

pickleProtocol

pickler

picklerIsKeyword

prepend

replace

reset_cas

server_max_key_length

server_max_value_length

servers

set

set_multi

set_servers

socket_timeout

stats

unpickler


查看具体一个方法的使用

help(mc.get)

Help on method get in module memcache:


get(self, key) method of memcache.Client instance

    Retrieves a key from the memcache.

    

    @return: The value or None.


以上其实你直接可以查看源码,总共不到1500,去掉注释,估计就剩下1000行


你可能感兴趣的:(python memcached 初探(一))