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   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 5 //获取到看k1的配置信息
abcde //获取到k1的value
END //结束

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

gets k1
VALUE k1 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   5  //设置一个k1,value是world
world
STORED get k1 //查看一下确实是world
VALUE k1
world
END prepend k1 6 //在k1前面增加hello
hello
STORED append k1 2 //在k1后面增加 !
!
STORED get k1 //查看k1,value是hello world!,注意,字节长度也变成了13
VALUE k1
hello world !
END

incr/decr命令

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

STORED

incr k1 5    //自增5,输出10

decr k1 2    //自减2,输出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   5    //设置一个k1
abcde
STORED gets k1 //获取token_id 72
VALUE k1
abcde
END cas k1 72 //根据token_id进行修改
aaa
STORED //成功 gets k1 //查看k1 修改成功 token_id变更为了73
VALUE k1
aaa
END cas k1 70 //使用错误的token_id,无法修改
asdfg
EXISTS //存在

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

PHP和Memcached - Memcached的介绍及常用命令的更多相关文章

  1. Linux的简单介绍和常用命令的介绍

    Linux的简单介绍和常用命令的介绍 本说明以Ubuntu系统为例 Ubuntu系统的安装自行百度,或者参考http://www.cnblogs.com/CoderJYF/p/6091068.html ...

  2. redis 介绍和常用命令

    redis 介绍和常用命令 redis简介 Redis 是一款开源的,基于 BSD 许可的,高级键值 (key-value) 缓存 (cache) 和存储 (store) 系统.由于 Redis 的键 ...

  3. webpack 介绍 & 安装 & 常用命令

    webpack 介绍 & 安装 & 常用命令 webpack系列目录 webpack 系列 一:模块系统的演进 webpack 系列 二:webpack 介绍&安装 webpa ...

  4. redis学习(二) redis数据结构介绍以及常用命令

    redis数据结构介绍 我们已经知道redis是一个基于key-value数据存储的数据结构数据库,这里的key指的是string类型,而对应的value则可以是多样的数据结构.其中包括下面五种类型: ...

  5. Redis介绍及常用命令

    一 Redis介绍 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起,Redis的开发 ...

  6. 转:Redis介绍及常用命令大全

    一 Redis介绍 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起,Redis的开发 ...

  7. LVM基本介绍与常用命令

    一.LVM介绍LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制LVM - 优点:LVM通常用于装备大量磁盘的系统,但它同样适 ...

  8. vim编辑器介绍及其常用命令

    vim简单的介绍 Vim 编辑器是一个模式编辑器 . 这意味着在不同状态下编辑器有不同的行为模式 . 两个基本的模式是 Normal 模式和 Insert 模式 ,还有可视模式. 在 Normal 模 ...

  9. [Python]Conda 介绍及常用命令

    一.介绍 Anaconda 是一个用于科学计算的 Python 发行版,支持 Linux, Mac, Windows, 包含了众多流行的科学计算.数据分析的 Python 包.其使用conda系统进行 ...

随机推荐

  1. 用Python匹配HTML tag的时候,<.>和<.?>有什么区别?

    答:术语叫贪婪匹配( <.> )和非贪婪匹配(<.?> ) 例如: test <.*> : test <.*?> :

  2. linux 查看某个进程内存占用情况命令

    1.先用ps查询进程号 ps -aux|grep 进程名字 2.查看更详细的内存占比 cat /proc/3664/status 返回结果:(其中VmRSS为进程所占用的内存)

  3. OpenJudge 1.5.14 人口增长问题

    描述 我国现有x亿人口,按照每年0.1%的增长速度,n年后将有多少人? 输入一行,包含两个整数x和n,分别是人口基数和年数,以单个空格分隔.输出输出最后的人口数,以亿为单位,保留到小数点后四位.1 & ...

  4. Tcl循环语句

    for 开始 判断语句 变量自增(自检) 循环体 示例代码: for {set i 0} {$i<10} {incr i} { puts "I is: $i " } 运行结果 ...

  5. 走进JavaWeb技术世界12:从手动编译打包到项目构建工具Maven

    小李的Build之路(上) 转自: 刘欣 码农翻身 2016-07-10 摘要:手工Build的烦恼要不是为了和女朋友留在一个城市,小李肯定去北上广奋斗去了.现在他只能留在这个2.5线城市,进入这家软 ...

  6. 上下文对象-请求对象-响应对象(ServletContext - response - request)

    目录 上下文对象-请求对象-响应对象 ServletContext response request 上下文对象-请求对象-响应对象 ServletContext 什么是ServletContext ...

  7. Java 面向对象(十一)

    常用类之集合 集合:就是用来存放数据的一个容器. 数组和集合的区别 (1)数组能存基本数据类型和引用类型:集合当中只能存放引用数据类型,直接放基本数据类型,也会自动帮你装箱(把基本数据类型转成对象), ...

  8. 到达型01背包---P1877 [HAOI2012]音量调节

    P1877 [HAOI2012]音量调节 题解 solution 1 普通dfs  60pt dfs 暴搜,pos 记录当前到了第几首歌,level 记录当前的音量 一个小剪枝 由于每换一首歌都要调节 ...

  9. python 过滤 b'及提取 cmd命令返回值

    #!/usr/bin/env python # -*- coding:utf-8 -*- import subprocess import datetime plist = [] p = subpro ...

  10. 【406】C语言相关函数

    <stdlib.h>(1) <stdlib.h>(2) malloc() 用来动态地分配内存空间,分配成功返回指向该内存的地址,失败则返回 NULL. 前面的 (int*) 或 ...