• day35——memcache常用方法


    add() 添加一条键值对,如果key已存在,重复执行add操作会报异常

    1 mc.add('name2', 'lisi')
    2 print(mc.get('name2'))
    3 # lisi

    replace 修改某个key的值,如果key不存在,报异常

    1 # mc.add('name','wangwu')    # 添加个已存在key ,发生异常
    2 # MemCached: while expecting 'STORED', got unexpected response 'NOT_STORED'

    set() 设置一个键值对,如果Key不存在,则创建,存在,则修改

    1 mc.set('name2', 'zhaoliu')
    2 print(mc.get('name2'))
    3 # zhaoliu

    add() 和set() 的区别:

    • add()用于向memcache添加一个要缓存的数据,当key存在时,调用失败
    • set()用于设置一个指定的key的缓存内容,key存在修改,不存在创建,set()是add()和replace()的集合体
     1 mport memcache
     2 
     3 mc = memcache.Client(['11.11.11.11:12000'], debug=True)
     4 
     5 mc.add('name2', 'lisi')
     6 print(mc.get('name2'))
     7 # lisi
     8 
     9 # mc.add('name','wangwu')    # 添加个已存在key ,发生异常
    10 # MemCached: while expecting 'STORED', got unexpected response 'NOT_STORED'
    11 mc.set('name2', 'zhaoliu')
    12 print(mc.get('name2'))
    13 # zhaoliu
    14 ####
    15 # C:Python27python.exe D:/Python/memcache/memcache2.py
    16 # lisi
    17 # zhaoliu
    18 #
    19 # Process finished with exit code

    set_muilt() 设置多个键值对,key存在,修改,不存在,创建 键值对以字典形式传入

    1 mc.set_multi({'key1':'v100', 'key2':'v200', 'key3':'v300', 'key4':'v400', 'key5':'v500'})
    • get() 获取一个key的值
    • get_muilt() 获取多个key的值 ,多个key以list方式传入,返回一个字典对象

    1 print(mc.get('key5'))
    2 print(mc.get_multi(['key1', 'key2', 'key3', 'key4', 'key5']))
    3 # v500
    4 # {'key3': 'v300', 'key2': 'v200', 'key1': 'v100', 'key5': 'v500', 'key4': 'v400'}
    • delete() 删除指定的一个键值对
    • delete_muild() 删除指定的多个键值对 多个key以list方式传入

    1 mc.delete("key1")
    2 print(mc.get('key1'))
    3 # None
    4 mc.delete_multi(['key2', 'key3', 'key4'])
    5 print(mc.get_multi(['key1', 'key2', 'key3', 'key4', 'key5']))
    6 # {'key5': 'v500'}
    • append() 修改指定key的值,在该值后面追加内容
    • prepend() 修改指定key的值,在该值前面插入内容

    1 mc.add('test','hello')
    2 print(mc.get('test'))
    3 # hello
    4 mc.append('test', 'world')
    5 print(mc.get('test'))
    6 # helloworld
    7 mc.prepend('test', 'hi,')
    8 print(mc.get('test'))
    9 # hi,helloworld

    incr(key[, n]) 自增,对某一个key的值增加N (N 默认为1)

    1 mc.add('num', '1101')
    2 mc.incr('num')
    3 print(mc.get('num'))
    4 mc.incr('num',100)
    5 print(mc.get('num')

    decr(key[, n]) 自减,对某一个key的值减少N (N 默认为1)

    1 mc.set('num', '1000')
    2 mc.decr('num')
    3 print(mc.get('num'))
    4 # 999
    5 mc.decr('num',100)
    6 print(mc.get('num'))
    7 # 899
  • 相关阅读:
    前端开发框架
    用C#实现的条形码和二维码编码解码器
    Razor视图语法
    asp.net微软图表控件MsChart
    高并发下的Node.js与负载均衡
    GCC知识
    Mongodb学习(安装篇): 在centos下的安装
    代码评审
    构建一个前端库做一个富客户端的基类
    企业级应用架构(NHibernater+Spring.Net+MVC3+WCF)_3.0
  • 原文地址:https://www.cnblogs.com/yangjinbiao/p/8001597.html
Copyright © 2020-2023  润新知