`
qianshangding
  • 浏览: 124680 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Memcached之存储命令(2)

阅读更多

telnet连接到Memcached服务器以后,可以使用很多命令,比如:get,gets,set,touch,delete,add,replace,append,prepend,incr,decr,cas,flush_all,version,quit等等

Memcached存储命令的格式:

<command name> <key> <flags> <exptime> <bytes>
<data block>

参数说明如下:

<command name> set/add/replace
<key> 查找关键字(key的最大长度为250字节)
<flags> 客户机使用它存储关于键值对的额外信息
<exptime> 该数据的存活时间,0表示永远
<bytes> 存储字节数
<data block> 存储的数据块(默认情况下最大为1M,即一个Slab的大小)

添加命令

set

使用set不管什么情况都会把数据存到Memcached,即set命令既有添加的作用也有更新的作用。

set fish 7 0 8
12312312
STORED

add

只有当Key在Memcached不存在的时候才会添加。

//key不存在的情况下
add fish 0 0 7
1234567
STORED
//key已经存在的情况下
add fish 0 0 7
1234567
NOT_STORED

replace

只有当Key存在的时候才替换

//Key存在的情况下,replace成功
replace fish 0 0 8
12345678
STORED
<pre name="code" class="java">//Key不存在的情况下,replace不成功
replace fish1 0 0 8 12345678NOT_STORED


touch

更新Memcached中Key对应的值的过期时间。

其实Memcached最大过期时间是30天。

//key:exp不存在
touch exp 2000
NOT_FOUND
//key:fish存在
touch fish 2000
TOUCHED

prepend

在一个已经存在的数据值(value)上追加,是在数据值的前面追加。

//Key:fish2不存在,不会存储
prepend fish2 0 0 2
12
NOT_STORED
//set Key:fish2
set fish2 0 0 2
12
STORED
//在Key:fish2的前面追加字符串“12”
prepend fish2 0 0 2
12
STORED
//查看值
get fish2
VALUE fish2 0 4
1212
END

append

在一个已经存在的数据值(value)上追加,是在数据值的后面追加。

incr

计数命令,可以在原来已经存在的数字上进行累加求和,计算并存储新的数值。

//key:fish3设置值为“b”
set fish3  0 0 1
b
STORED
//在key:fish3的基础上加2,因为fish3是字符类型,所以报错。
incr fish3 2
CLIENT_ERROR cannot increment or decrement non-numeric value
//修改fish3的值为2
replace fish3 0 0 1
2
STORED
//fish3加2
incr fish3 2
4

decr

计数命令,可以在原来已经存在的数字上进行减法计算,计算并存储新的数值。

删除命令

delete

删除指定key的值

//不存在
delete fish1
NOT_FOUND
//存在
delete fish
DELETED

获取命令

get

get命令的Key可以表示一个或者多个键,键之间以空格隔开

get fish fish1
VALUE fish 0 7
1234567
VALUE fish1 0 1
1
END

gets

gets和get一样,Key可以表示一个或者多个键,键之间以空格隔开。唯一的区别是gets会打印出各个Key变化的版本。

gets fish fish1
VALUE fish 0 7 7
1234567
VALUE fish1 0 1 8
1
END

cas

cas即checked and set的意思,当最后一个参数和gets所获取的参数匹配时才能存储,否则返回“EXISTS”。

cas fish 0 0 2 8
12
EXISTS
//VALUE fish 0 7 7,索引存储成功。
cas fish 0 0 2 7
22
STORED

其他

flush_all

flush_all
OK

version

version
VERSION 1.4.22



telnet退不出去怎么办?

很简单先Ctrl+],然后quit退出telnet

^]
telnet> quit
Connection closed.

分享到:
评论

相关推荐

    Memcached get 命令

    Memcached get 命令获取存储在 key(键) 中的 value(数据值) ,如果 key 不存在,则返回空。 语法: get 命令的基本语法格式如下: get key 多个 key 使用空格隔开,如下: get key1 key2 key3 参数说明如下: ...

    Memcached v1.5.3 For Windows (附带Memcached和libevent源码)

    Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。官网 www.memcached.org 管理监控工具...

    Memcached v1.5.7 For Windows (附带Memcached和libevent源码两个版本)

    Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。官网 www.memcached.org 管理 监控工具...

    Memcached常用命令及使用说明

    一、存储命令 存储命令的格式: &lt;command&gt; &lt;key&gt; &lt;flags&gt; &lt;exptime&gt; &lt;bytes&gt; 参数说明如下: set/add/replace ...客户机使用它存储关于键值对的额外信息 ...存储字节数 ...这个set的命令在memcached中的使用

    29道memcached面试题含答案(很全)

    其中,get命令用于获取存储在Memcached中的数据,set命令用于存储数据,delete命令用于删除数据,quit命令用于断开客户端连接。 此外,Memcached还具有高可用性和容错性,可以在多个服务器上部署形成一个集群,以...

    Memcached v1.5.4 For Windows (附带Memcached和libevent源码两个版本)

    Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。官网 www.memcached.org 管理 监控工具...

    memcached1

    对基本的数据我们可以操作,对于普通的POJO而言,如果要进行存储的话,那么比如让其实现java.io.Serializable接口,因为memcached是一个分布式的缓存服务器,多台服务器间进行数据共享需要将对象序列化的,所以必须...

    Memcached v1.5.2 For Windows (在MSYS环境里Mingw-w64 x32 x64编译)

    Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。官网 www.memcached.org 管理监控工具...

    Memcached常用命令以及使用说明详解

    存储命令的格式:&lt;command&gt; &lt;key&gt; &lt;flags&gt; &lt;exptime&gt; &lt;bytes&gt;&lt;data&gt;参数说明如下: set/add/replace 查找关键字 ...这个set的命令在memcached中的使用频率极高。set命令不但可以简单添加,如果

    Memcached v1.6.15 For Windows(MSYS编译)

    Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。官网 www.memcached.org 管理 监控工具...

    Memcached v1.6.12 For Windows(MSYS编译)

    Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。官网 www.memcached.org 管理 监控工具...

    Memcached append 命令

    Memcached append 命令 Memcached append 命令用于向已存在 key(键) 的 value(数据值) 后面追加数据 。 语法: append 命令的基本语法格式如下: append key flags exptime bytes [noreply] value 参数说明如下: ...

    Memcached replace 命令

    Memcached replace 命令 Memcached replace 命令用于替换已存在的 key(键) 的 value(数据值)。 如果 key 不存在,则替换失败,并且您将获得响应 NOT_STORED。 语法: replace 命令的基本语法格式如下: replace ...

    Memcached参考手册

    Memcached参考手册,内容有memecache的基本教程:安装、连接环境设置等; memcached命令:查找命令(get、gets、delete等)存储命令(set、add、replace、append等),以及源码使用样例

    PHP 扩展Memcached命令用法实例总结

    本文实例讲述了PHP 扩展Memcached命令用法。分享给大家供大家参考,具体如下: 传送门:http://www.php.net/manual/zh/book.memcached.php windows 下没有memcached的扩展,只有memcache的扩展。亲测,两者之间还是...

    cacheflow:Memcached和Redis的彩色日志记录

    如果您在具有的环境中使用Cacheflow,并将该数据存储在Memcached或Redis中,则该数据可能最终出现在您的应用程序日志中。 为了避免这种情况,请为这些呼叫静音记录。 历史 查看 贡献 鼓励大家帮助

    Memcached 分布式缓存实现原理简介

    无论是单机缓存还是分布式缓存都有其适应场景和优缺点,当今存在的缓存产品也是数不胜数,最常见的有redis和memcached等,既然是分布式,那么他们是怎么实现分布式的呢?本文主要介绍分布式缓存服务mencached的...

    aiocache:用于Redis,Memcached和内存的Asyncio缓存管理器

    缓存 支持多个后端(内存,redis和memcached)的Asyncio... raw :使用基础客户端执行指定的命令。 内容 pip install aiocache pip install aiocache[redis] pip install aiocache[memcached] pip install aiocac

    Memcached 入门介绍(安装与配置)

    Memcached基于一个存储键值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。 下面来了解下Memcached怎么用~~ 一、准备工作 到//...

    Redis和Memcached的区别详解

    Redis的作者Salvatore Sanfilippo曾经对这两种基于内存的数据存储系统进行过比较: 1.Redis支持服务器端的数据操作:...2.内存使用效率对比:使用简单的key-value存储的话,Memcached的内存利用率更高,而如果Redis采

Global site tag (gtag.js) - Google Analytics