zoukankan      html  css  js  c++  java
  • PHP和Memcached

    1、什么是Memcached

    自由开源的,高性能,分布式内存对象缓存系统,分布式是基于客户的缓存系统,服务器之间是不相互通讯的。

    2、Memcached的使用场景

    • 储存session。
    • 缓存数据。
    • 解决MySQL数据库主从中继高并发的场景(比如:抢票、订单支付、订单回调、秒杀。

    3、常用命令

    set命令

    • 将value(数据值)储存到key(键)中,默认flags是0,保存时间是time's,如果time=0表示永远(不超过30天),在缓存中的字节长度是bytes,如果设置了noreply=noreply则没有提示输出,在回车后设置value。
    • 如果key存在,则value覆盖。
    • 如果覆盖value,那么key的token_id也会发生改变。
    • 为保证服务的最佳性能,key<512Bytes, value < 1MB。
    • 语法结构:set key flags time bytes noreply(可选) value。
    set k1 0 900 5    //语法结构,set key flags time bytes
    abcde     //回车后输入value值,注意,字节大小切记设计规范,不符合字节大小的是需要一直输入,直到符合字节大小为止
    STORED    //返回状态

    get / gets命令

    • 获取储存在缓存中的对应key值的value,如果key不存在,返回空。
    • gets多获取一个token_id
    • 语法结构:get / gets key1, key2, key3......
    get k1    //语法结构
    VALUE k1 0 5    //获取到看k1的配置信息
    abcde    //获取到k1的value
    END    //结束

    现在,我们在看一下gets这个命令

    gets k1
    VALUE k1 0 5 63    //63就是k1的唯一标识token_id
    abcde
    END

    delete命令

    • 删除一个key
    • 语法结构:delete key
    delete k1    //语法结构
    DELETED    //删除成功

    prepend / append命令

    • 在指定key里面的value前面/后面增加数据
    • 语法结构:prepend / append set key flags time bytes noreply(可选) value
    set k1 0 900 5  //设置一个k1,value是world
    world
    STORED
    
    get k1    //查看一下确实是world
    VALUE k1 0 13
    world
    END
    
    prepend k1 0 900 6    //在k1前面增加hello 
    hello 
    STORED
    
    append k1 0 900 2    //在k1后面增加 !
     !
    STORED
    
    get k1    //查看k1,value是hello world!,注意,字节长度也变成了13
    VALUE k1 0 13
    hello world !
    END

    incr/decr命令

    • 对指定的key里面的value自增 / 自减指定数值
    • 必须是整型
    • 支持多线程同步
    • 语法结构:incr / decr key num
    set k1 0 900 1    //设置k1value值为5
    5
    STORED
    
    incr k1 5    //自增5,输出10
    10
    
    decr k1 2    //自减2,输出8
    8

    add命令

    • 跟set命令用法一样
    • 如果key存在,则不能更新value
    • 支持多线程同步
    • 语法结构:add key flags time bytes noreply(可选) value

    cas命令

    • 进行token_id进行检查,如果token_id等于key的token_id,则设置value
    • 支持多线程同步
    • 语法结构:cas key flags time bytes token_id noreply(可选) value
    set k1 0 900 5    //设置一个k1
    abcde
    STORED
    
    gets k1    //获取token_id 72
    VALUE k1 0 5 72
    abcde
    END
    
    cas k1 0 900 3 72    //根据token_id进行修改
    aaa
    STORED    //成功
    
    gets k1    //查看k1  修改成功   token_id变更为了73
    VALUE k1 0 3 73
    aaa
    END
    
    cas k1 0 900 5 70    //使用错误的token_id,无法修改
    asdfg
    EXISTS    //存在

    如有错误请纠正......

  • 相关阅读:
    jQuery EasyUI API 中文文档 数字框(NumberBox)
    jQuery EasyUI API 中文文档 数值微调器(NumberSpinner)
    jQuery EasyUI API 中文文档 日期时间框(DateTimeBox)
    jQuery EasyUI API 中文文档 微调器(Spinner)
    jQuery EasyUI API 中文文档 树表格(TreeGrid)
    jQuery EasyUI API 中文文档 树(Tree)
    jQuery EasyUI API 中文文档 属性表格(PropertyGrid)
    EntityFramework 数据操作
    jQuery EasyUI API 中文文档 对话框(Dialog)
    jQuery EasyUI API 中文文档 组合表格(ComboGrid)
  • 原文地址:https://www.cnblogs.com/lzijiangg/p/11978106.html
Copyright © 2011-2022 走看看