• add() 添加一条键值对,如果key已存在,重复执行add操作会报异常
mc.add('name2', 'lisi')
print(mc.get('name2'))
# lisi
  • replace 修改某个key的值,如果key不存在,报异常
# mc.add('name','wangwu')    # 添加个已存在key ,发生异常
# MemCached: while expecting 'STORED', got unexpected response 'NOT_STORED'
  • set() 设置一个键值对,如果Key不存在,则创建,存在,则修改
mc.set('name2', 'zhaoliu')
print(mc.get('name2'))
# zhaoliu

add() 和set() 的区别:

  • add()用于向memcache添加一个要缓存的数据,当key存在时,调用失败
  • set()用于设置一个指定的key的缓存内容,key存在修改,不存在创建,set()是add()和replace()的集合体
mport memcache

mc = memcache.Client(['11.11.11.11:12000'], debug=True)

mc.add('name2', 'lisi')
print(mc.get('name2'))
# lisi # mc.add('name','wangwu') # 添加个已存在key ,发生异常
# MemCached: while expecting 'STORED', got unexpected response 'NOT_STORED'
mc.set('name2', 'zhaoliu')
print(mc.get('name2'))
# zhaoliu
####
# C:\Python27\python.exe D:/Python/memcache/memcache2.py
# lisi
# zhaoliu
#
# Process finished with exit code
  • set_muilt() 设置多个键值对,key存在,修改,不存在,创建 键值对以字典形式传入
mc.set_multi({'key1':'v100', 'key2':'v200', 'key3':'v300', 'key4':'v400', 'key5':'v500'})
  • get() 获取一个key的值
  • get_muilt() 获取多个key的值 ,多个key以list方式传入,返回一个字典对象
print(mc.get('key5'))
print(mc.get_multi(['key1', 'key2', 'key3', 'key4', 'key5']))
# v500
# {'key3': 'v300', 'key2': 'v200', 'key1': 'v100', 'key5': 'v500', 'key4': 'v400'}
  • delete() 删除指定的一个键值对
  • delete_muild() 删除指定的多个键值对 多个key以list方式传入
mc.delete("key1")
print(mc.get('key1'))
# None
mc.delete_multi(['key2', 'key3', 'key4'])
print(mc.get_multi(['key1', 'key2', 'key3', 'key4', 'key5']))
# {'key5': 'v500'}
  • append() 修改指定key的值,在该值后面追加内容
  • prepend() 修改指定key的值,在该值前面插入内容
mc.add('test','hello')
print(mc.get('test'))
# hello
mc.append('test', 'world')
print(mc.get('test'))
# helloworld
mc.prepend('test', 'hi,')
print(mc.get('test'))
# hi,helloworld
  • incr(key[, n]) 自增,对某一个key的值增加N (N 默认为1)
mc.add('num', '1101')
mc.incr('num')
print(mc.get('num'))
mc.incr('num',100)
print(mc.get('num')
  • decr(key[, n]) 自减,对某一个key的值减少N (N 默认为1)
mc.set('num', '1000')
mc.decr('num')
print(mc.get('num'))
# 999
mc.decr('num',100)
print(mc.get('num'))
# 899

python memcache 常用操作的更多相关文章

  1. python anaconda 常用操作;conda 命令指南

    在使用 python anaconda时,经常会用到很多常用操作,记录下来,方便以后更好地使用: conda: Conda既是一个包管理器又是一个环境管理器.你肯定知道包管理器,它可以帮你发现和查看包 ...

  2. memcache常用操作

    Command Description Example get 读取键值 get mykey set 设置新键值 set mykey 0 60 5 add 新增键值 add newkey 0 60 5 ...

  3. 【Selenium2+Python】常用操作

    Webdriver中比较常用的操作元素的方法: clear()    清除输入框的默认内容 send_keys("xxx")    在一个输入框里输入xx内容 ——如果输入中文,则 ...

  4. python 列表常用操作(二)

    1.tuple 的 unpack a,b = t 2.格式化输出 print('您的输入:{},值为{}',format(a,b)) 3.日期计算 import datetime as dt impo ...

  5. Python list 常用操作

    测试版本: python 2.7 获取第一个.最后一个元素 list1 = ["a", "b", "c"] len1 = len(list1 ...

  6. python 字符串常用操作

    字符串常用方法 capitalize() String.capitalize() 将字符串首字母变为大写 name = 'xiaoming' new_name = name.capitalize() ...

  7. Python Redis 常用操作

    delete(*names) # 根据删除redis中的任意数据类型 exists(name) # 检测redis的name是否存在 keys(pattern='*') # 根据模型获取redis的n ...

  8. Python json常用操作

    json模块 (字符串操作) json.dumps() :对数据进行编码 json.loads() :对数据进行解码 json模块(文件操作) # 写入 JSON 数据 with open('data ...

  9. Python Redis常用操作(持续更新)

    目录 1.Redis简介 2.Redis部署 3.Redis API应用 4.String操作 1.Redis简介 redis是业界主流的key-value,nosql数据库之一.和Memcached ...

随机推荐

  1. PC(win10)上搭建 kubernetes + docker 集群环境

    最近kubernetes很火,加上我又在寻找适合快速搭建测试环境的方法,kubernetes的理念很适合用于测试环境的搭建. 因此在学习的过程中写下此教程(记录)以供回顾. 0x00 环境准备 0x0 ...

  2. 【iOS开发】initWithNibName、initWithCoder、awakeFromNib和 loadNibNamed详解

    第一.initWithNibName这个方法是在controller的类在IB中创建,但是通过Xcode实例化controller的时候用的. 第二.initWithCoder 是一个类在IB中创建但 ...

  3. 【iOS开发】iOS开发CGRectGetMidX. CGRectGetMidY.CGRectGetMinY. CGRectGetMaxY. CGRectGetMinX. CGRectGetMaxX的使用

    UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(10, 10, 110, 150)]; label.backgroundColor ...

  4. 【翻译】ASP.NET Core 入门

    ASP.NET Core 入门 原文地址:Introduction to ASP.NET Core         译文地址:asp.net core 简介           翻译:ganqiyin ...

  5. sudo是干哈子的

    我sudo loop发现啊大家就都是root了,那么这和我直接用root起有啥区别呢? root      3826  0.0  0.1  56596  3984 pts/2    S+   12:5 ...

  6. 【转】配置Tomcat使用https协议(配置SSL协议)

    转载地址:http://ln-ydc.iteye.com/blog/1330674 内容概览: 如果希望 Tomcat 支持 Https,主要的工作是配置 SSL 协议 1.生成安全证书 2.配置to ...

  7. 服务追踪数据使用 RabbitMQ 进行采集 + 数据存储使用 Elasticsearch + 数据展示使用 Kibana

    服务追踪数据使用 RabbitMQ 进行采集 + 数据存储使用 Elasticsearch + 数据展示使用 Kibana https://www.cnblogs.com/xishuai/p/elk- ...

  8. P1419 寻找段落

    题目描述 给定一个长度为n的序列a_i,定义a[i]为第i个元素的价值.现在需要找出序列中最有价值的“段落”.段落的定义是长度在[S,T]之间的连续序列.最有价值段落是指平均值最大的段落, 段落的平均 ...

  9. perl的Sys::Syslog模块(openlog,syslog,closelog函数,setlogsock)-自定义日志

    perl的Sys::Syslog模块(openlog,syslog,closelog函数,setlogsock)-自定义日志 http://blog.chinaunix.net/xmlrpc.php? ...

  10. bootstrap-table 增加序号列(支持分页)

    columns: [ { checkbox: true }, { title: '序号', align: 'center', halign: 'center', formatter: function ...