TOC

memcached

    它不支持持久化,没有安全机制。可以用telnet等工具直接连接memcached。memcached是多线程工作,而redis是单线程工作。各个memcached服务器之间互不通信,各自独立存取数据,不共享任何信息。服务器并不具有分布式功能,分布式部署取决于memcache客户端;
telnet连接
    使用telnet直接连接memcached进行数据的操作;
常用方法
数据增减:
    set key_name 0(是否压缩) 60(过期时长) 3(字符长度):如果数据已经存在,那么就覆盖;
    add key_name 0(是否压缩) 60(过期时长) 3(字符长度):如果数据已经存在,那么就报错;
数据获取:
    get key_name:获取指定的key的值;
删除数据:
    delete key_name:删除指定的key;
    flush_all:删除所有的key;
整形数据增加:
    incr key_name value:对为整形的数据增加多少个值;
    decr key_name value:对为整形的数据减少多少个值;
python连接
set:设定kv;
set_multi:批量设定kv;
add:如果已经存在,抛出error;
get:获取数据;
get_multi:一次性取多个值;
append:字符串相加;
prepend:在这个值前面插入新值;
incr:整形增加,默认增加1;
decr:整形减少,默认减少1;
delete:删除键值;
flush_all:删除所有键值;
replace:当KEY存在的情况下,它才会向memcached存数据,否则返回NOT_STORED响应;
cas:改变一个存在的KEY值 ,但它还带了检查的功能;
import memcache

mem_conn = memcache.Client(["192.168.1.251:11211"],debug=True) # 连接memcached

mem_conn.set('cce','caichangen',time=3600,min_compress_len=0) # 设定一个键值对
print(mem_conn.get('cce'))  # 获取数据

mem_conn.set_multi({'title':'Python','content':'Python入门基础教程'},time=3600,min_compress_len=0) # 批量设置键值
print(mem_conn.get('title')) # 获取数据
print(mem_conn.get('content')) # 获取数据
mem_conn.append('title','c') # append可以对字符串进行相加的操作
print(mem_conn.get('title')) # 获取数据

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注