memcache基本操作

原创 2018年04月15日 12:09:37

本文主要介绍memcache在telnet端的一些基本操作和理解。

本文主要参考:


好,下面上货。

1、先连接到memcache中
telnet ip port
telnet 192.168.0.11 11211
2、进入后可以进行set add replace get等操作。
set命令
set key flags exptime bytes [noreply] value
其中的含义如下:
  • key:键值 key-value 结构中的 key,用于查找缓存值。
  • flags:可以包括键值对的整型参数,客户机使用它存储关于键值对的额外信息 。
  • exptime:在缓存中保存键值对的时间长度(以秒为单位,0 表示永远)
  • bytes:在缓存中存储的字节数
  • noreply(可选): 该参数告知服务器不需要返回数据
  • value:存储的值(始终位于第二行)(可直接理解为key-value结构中的value)
例如:
set xytest 0 30 2
ab
效果如下:

获取xytest

如果经过一段时间(大于过期时间),再次查找xytest这个key的值,会发现已经没有这个值了。

add命令和replace命令
add命令和repalce命令可以放在一起进行对比。
这两个命令也能对key值进行设置,那么区别在于什么呢,既然已经有了set,为什么还有add和replace呢?
原因是这样的,

add命令只有当key值不存在的时候才会生效。

repalce命令只有当key值存在的时候才生效。

也就是说,set命令相当于add和repalce命令的组合,无论值是否存在,都能够生效。

append和prepend命令
附加命令(能够在某个key的对应值的前面或者后面附加值)。
set xytest 0 0 2
ab
append xytest 0 39 2
cc

需要注意的是append后,可以修改过期时间
同样的prepend能够在前面添加内容

cas命令(checkandsave)
cas命令的作用
主要是为了分布式环境中更新的一致性问题。
每次更新的时候需要指定要更新的key的cas_token,这个cas_token可以通过gets命令得到,如下:

命令格式如下:
cas key flags exptime bytes unique_cas_token [noreply]value
例如:
cas xytest 0 0 2 23
vv

可以把这个cas_token理解成key的版本标识(本质上是memcache会有个全局的计数器,每次的写入操作之后,计数器的值都会加1)。每当key的value被修改的时候,memcache内部需要更新这个cas_token。这样做的目的就是保证当前只有一个client对memcache进行操作。如果没有操作成功,那就说明有其他的client对这个key-value进行了操作。那么需要重新利用gets取到当前的cas_token,然后继续进行cas操作。

get命令
主要作用,获取key的value值

get命令支持多个key同时取出

gets命令
主要作用是获取key的value值,并且带有cas_token

delete命令
删除某个key

incr/decr命令

对应的还有decr命令,是对某个key进行减法操作。

在进行decr命令的时候最小值就是0,如果当前是0 的话,那么减法之后还是0。


我们看到cas_token是变化的,就是说这个decr操作是进行了,但是最小是就是0。

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wild46cat/article/details/79948035

VB中获取逻辑磁盘的信息

我们在编程的时候有时会需要得到系统中逻辑磁盘的一些信息,如磁盘卷标、磁盘序列号、空间大小、剩余空间等,这些信息直接使用VB提供的函数显然是无法得到的。但是,借助于VB对WINDOWS API函数的支持...
  • jadedrip
  • jadedrip
  • 2000-11-08 22:20:00
  • 1034

Redis和memcache缓存基本实现

  • 2017年06月12日 10:12
  • 2.57MB
  • 下载

查看memcache缓存所有key

//查看缓存队列是否丢失     public function Memcachetest() {             $mCache = new CacheMemcache();     ...
  • ricky_sky
  • ricky_sky
  • 2016-08-19 10:25:35
  • 1627

基本函数Memcache中文手册——《Memcache中文手册》 php版

PHP操作Memcache基本函数 Memcache模块提供了于Memcached方便的面向过程及面向对象的接口,Memcached是为了降低动态web应用从数据库加载数据而产生的一种常驻进程缓存...
  • qq_36427770
  • qq_36427770
  • 2017-02-22 13:57:45
  • 1295

linux memcache应用

  • 2011年06月08日 21:31
  • 328KB
  • 下载

Memcache Telnet基本操作命令

在正确安装、启动Memcache服务后,接下来应该为需要使用Memcache服务的应用系统下载相应开发语言的客户端程序包(如Java版客户端,PHP的memcache扩展等),但这里我想先为各位介绍一...
  • huangying2124
  • huangying2124
  • 2016-03-02 22:39:12
  • 3421

memcache的简单介绍和使用

memcache简单入门
  • bulelemon
  • bulelemon
  • 2015-12-12 23:10:30
  • 4221

memcache安装与基本操作详解

  • 2017年06月13日 11:19
  • 16KB
  • 下载

memcache的安装与基本操作

1、memcache 分布式的内存对象缓存系统(a distributed memory object cache system),用于动态Web应用以减轻数据库的负载。它通过在内存中缓存数据和对象来...
  • u010865136
  • u010865136
  • 2016-12-26 18:15:18
  • 125

nosql数据库:mongodb,redis,memcached,其优缺点和使用应用场景?

1.mongodb (1)是文档型的非关系型数据库,使用bson结构。其优势在于查询功能比较强大,能存储海量数据,缺点是比较消耗内存,。 (2)一般可以用来存放评论等半结构化数据,支持二级索引。 适...
  • Michaeles
  • Michaeles
  • 2017-05-08 16:33:34
  • 644
收藏助手
不良信息举报
您举报文章:memcache基本操作
举报原因:
原因补充:

(最多只允许输入30个字)