PHP和Memcached - 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 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的介绍及常用命令的更多相关文章
- Linux的简单介绍和常用命令的介绍
Linux的简单介绍和常用命令的介绍 本说明以Ubuntu系统为例 Ubuntu系统的安装自行百度,或者参考http://www.cnblogs.com/CoderJYF/p/6091068.html ...
- redis 介绍和常用命令
redis 介绍和常用命令 redis简介 Redis 是一款开源的,基于 BSD 许可的,高级键值 (key-value) 缓存 (cache) 和存储 (store) 系统.由于 Redis 的键 ...
- webpack 介绍 & 安装 & 常用命令
webpack 介绍 & 安装 & 常用命令 webpack系列目录 webpack 系列 一:模块系统的演进 webpack 系列 二:webpack 介绍&安装 webpa ...
- redis学习(二) redis数据结构介绍以及常用命令
redis数据结构介绍 我们已经知道redis是一个基于key-value数据存储的数据结构数据库,这里的key指的是string类型,而对应的value则可以是多样的数据结构.其中包括下面五种类型: ...
- Redis介绍及常用命令
一 Redis介绍 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起,Redis的开发 ...
- 转:Redis介绍及常用命令大全
一 Redis介绍 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起,Redis的开发 ...
- LVM基本介绍与常用命令
一.LVM介绍LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制LVM - 优点:LVM通常用于装备大量磁盘的系统,但它同样适 ...
- vim编辑器介绍及其常用命令
vim简单的介绍 Vim 编辑器是一个模式编辑器 . 这意味着在不同状态下编辑器有不同的行为模式 . 两个基本的模式是 Normal 模式和 Insert 模式 ,还有可视模式. 在 Normal 模 ...
- [Python]Conda 介绍及常用命令
一.介绍 Anaconda 是一个用于科学计算的 Python 发行版,支持 Linux, Mac, Windows, 包含了众多流行的科学计算.数据分析的 Python 包.其使用conda系统进行 ...
随机推荐
- dsu on tree学习笔记
前言 一次模拟赛的\(T3\):传送门 只会\(O(n^2)\)的我就\(gg\)了,并且对于题解提供的\(\text{dsu on tree}\)的做法一脸懵逼. 看网上的其他大佬写的笔记,我自己画 ...
- 正确处理listview的position
当ListView包含有HeaderView或FooterView时,传入getView或者onItemClick的position是怎样的,这是个值得探讨的问题 先列出错误的用法 定义: priva ...
- Windows下的apache maven安装与配置
去到官网http://maven.apache.org/download.cgi下载压缩包我选择的是二进制zip压缩文件. 解压并配置压缩文件的目录到MAVEN_HOME环境变量,添加解压文件下的bi ...
- Java 面向对象(五)
包装类 什么是包装类 在面向对象当中"一切皆对象".基本数据类型变量不是对象,比如 int a = 10; 当中就没有对象,所以就很矛盾.此时我们就可以对基本数据类型进行包装,把基 ...
- php如何生成 uuid(总结)
php如何生成 uuid(总结) 一.总结 一句话总结: UUID的全拼为“Universally Unique Identifier”,可以译为“通用唯一识别码”. UUID是指在一台机器上生成的数 ...
- arcgis python 获得arcgis安装版本和安装位置
import arcpy print(arcpy.GetInstallInfo()['Version']) 和获得ArcGIS版本和安装位置 import arcpy # Use the dictio ...
- OpenJudge计算概论-年龄与疾病
/*========================================================== 年龄与疾病 总时间限制: 1000ms 内存限制: 65536kB 描述 某医 ...
- fileBeat的简单使用
Beat的简单使用 Filebeat配置 Output 常见日志格式封装 简单使用filebeat格式化nginx日志 Filebeat的配置: # 修改filebeat.yml # vim file ...
- osg::Camera 参数修改
#ifdef _WIN32 #include <Windows.h> #endif // _WIN32 #include<iostream> #include <osgV ...
- ES6 Syntax and Feature Overview
View on GitHub Note: A commonly accepted practice is to use const except in cases of loops and reass ...