`
lobin
  • 浏览: 425440 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

分布式缓存系统 memcached 协议

 
阅读更多

客户端通过tcp/udp协议以文本行的方式与服务器通信。

Memcached提供一组命令,对缓存的数据项的操作以执行一条命令的方式来完成。

 

命令项由以下组成:

一个key

任意字符串,长度可达250个字节。没有空格或换行符的ASCII模式

一个32位的标记值

过期时间

以秒为单位,0表示永不过期。最多30

一个64位的CAS

保持唯一

任意数据

表示原始数据

CAS是可选的,可以通过-C来禁用。

 

大多数命令支持"noreply"方式。一般情况下,不应该使用这种方式,因为它无法保证错误响应与请求顺序一致。

 

命令

主要包括写入、读取、统计

 

写入命令

set

最常用的一个命令

用于写入数据,也用于更新。如果写入的数据已存在,则进行更新,覆盖之前已存在的数据。

如果写入的是新数据,写入的新数据项在LRU的顶端。

 

add

用于写入数据,但不会更新。如果写入的数据已存在,则不进行更新,将写入失败,写入的新数据项在LRU的顶端。

如果写入的数据已存在,将写入失败,add操作将无论如何把已存在的数据项提升到LRU的前端。

 

replace

用于写入数据,只用于当数据已存在,对数据进行替换更新。这个命令基本不用,提供这个命令主要出于协议完整性。

 

append

追加操作,只用于当数据已存在,在已存在的数据后面追加。

 

prepend

append类似,但是在已存在的数据前面进行追加。

 

cas

这个也是用于写入数据,这个操作保证读到最新数据。保证并发更新的数据一致性。这里“保证读到最新数据”啥意思?你们自己理解吧。

 

读取命令

 

get

用于读取数据,可以传一个或多个key,返回所有存在的数据。

 

gets

用于读取数据,和get不一样,使用CAS。同时返回一个CAS标识。和cas操作一起使用时,如果gets操作返回的CAS标识已经变了,cas操作将不会写入这个数据。

 

delete

用于删除操作,如果该数据已存在,则删除。

 

incr

decr

用于加减操作,适用于64位整数或字符串形式的64位整数。不接受负值。如果操作的数据项的值不存在,则incrdecr操作将失败。

 

 

统计命令

 

stats

 

stats items

 

stats slabs

 

stats sizes
<!--[if !supportLineBreakNewLine]-->
<!--[endif]-->

flush_all

 

 

0
1
分享到:
评论

相关推荐

    Memcached分布式缓存系统的应用.pdf

    Memcached作为一种流行的分布式缓存系统,通过在内存中缓存数据和对象,显著提高了Web应用的响应速度和性能。分布式缓存通过将缓存数据分布在多个服务器节点上,能够实现负载均衡、容错、以及数据一致性,这些特性...

    分布式缓存服务器memcacaed的源代码

    分布式缓存服务器Memcached是互联网应用中广泛使用的内存对象缓存系统,用于减轻数据库的负载,提高应用程序的性能。Memcached的设计目标是简单且高效,它通过在内存中存储数据来提供快速的数据访问。让我们深入了解...

    Memcached分布式缓存学习.doc

    Memcached 分布式缓存学习 ...Memcached 是一个高性能的分布式缓存系统,能够提高网站的速度和性能,减轻数据库的负载。但是,Memcached 也存在一些缺点,例如数据丢失和客户端需要实现分布式算法。

    分布式缓存Memcached实例

    Memcached是一款由Danga Interactive公司设计并开发的高效、分布式内存对象缓存系统。它的主要目标是减轻数据库的负担,提高动态应用程序的响应速度,通过将数据存储在内存中,使得频繁访问的数据可以更快地被获取,...

    Memcached分布式缓存

    Memcached作为一款高性能的分布式缓存系统,在现代互联网应用中扮演着至关重要的角色。通过深入理解其基本概念、内存管理机制、分布式算法以及应用场景,可以帮助开发者更好地利用该技术来提高应用性能。随着技术的...

    Memcached分布式缓存简介

    Memcached是一种高性能的分布式内存对象缓存系统,主要用于动态Web应用程序,以缓解数据库负载。它通过将数据和对象存储在内存中,减少对数据库的直接访问,从而提高动态、数据库驱动网站的速度。对于.NET开发者来说...

    MemCached跨平台分布式缓存

    MemCached是一种广泛应用于互联网行业的分布式缓存系统,其设计目标是提供高性能、低延迟的数据存储解决方案,以缓解数据库的压力并提升应用的响应速度。作为一款跨平台的内存对象缓存系统,它支持多种操作系统,...

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

    为了解决这些问题,一致性哈希算法被引入到分布式缓存系统中。一致性哈希是一种特殊的哈希函数,它能够尽可能地保持数据分布的稳定,即使在服务器增减时,只有少数数据需要迁移。一致性哈希通过虚拟节点和哈希环的...

    分布式键值-memcached和redis比较1

    本文主要对比两个流行的分布式缓存系统:Memcached和Redis。 **Memcached** 是一个轻量级的高性能分布式内存缓存服务器,主要用于缓存数据库查询结果或其他小块的任意数据,如字符串或对象。它的设计目标是减少...

    分布式缓存 Redis + Memcached 经典面试题!.zip

    Redis 和 Memcached 是两款非常流行的分布式缓存系统,它们在处理高并发、低延迟的场景下表现卓越。以下是对这两款缓存系统的一些经典面试题及详细解答。 1. **Redis 和 Memcached 的主要区别是什么?** - Redis ...

    memcached 分布式缓存服务器

    **memcached 分布式缓存服务器** `memcached` 是一款高效、轻量级的分布式内存对象缓存系统,主要用于缓解数据库的负载压力,通过在内存中存储数据,提高网络应用的数据读取速度。它广泛应用于网站开发、API服务、...

    分布式键值-memcached1

    尽管被称为分布式缓存,但Memcached服务器之间并不直接通信以协调数据分布。分布式是通过客户端实现的,客户端负责决定数据应存储在哪个服务器上,并处理数据的一致性和复制。这意味着如果某个服务器失效,存储在该...

    云平台技术选型之五:分布式缓存

    分布式缓存系统如 Memcached 和 Redis 在数据类型支持、持久化能力、数据同步和高可用设计等方面都有各自的优势和局限。根据实际的业务需求和环境,合理选择和配置分布式缓存,可以有效地提升整个云平台的性能和稳定...

    memcached 分布式缓存服务

    Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的...

    网络游戏-无线数据网络中的分布式缓存和再分布系统及其方法.zip

    常见的分布式缓存系统有Redis、Memcached等,它们能够提供高并发、低延迟的数据访问。 其次,无线数据网络环境下的网络游戏需要面对带宽限制、网络抖动等问题。分布式缓存通过预加载热门游戏资源到离玩家最近的缓存...

    一种面向应用服务器的分布式缓存机制.pdf

    具体到技术细节,该机制集成并使用了分布式对象缓存系统Memcached客户端,并采纳基于分级队列思想的缓存替换算法。通过模拟实验,结果表明该机制能够有效减少数据库I/O负载,降低访问延迟,提高并发处理能力。 ...

    Memcached 分布式缓存实现原理 – 码农网1

    Memcached 是一款高性能的分布式内存缓存系统,常用于缓解数据库负载,提高Web应用的响应速度和可扩展性。它的设计目标是简单且高效,通过将数据存储在内存中,避免了磁盘I/O带来的延迟,从而实现了快速的数据访问。...

    分布式缓存技术-Redis和Memcached选型对比-性能测试

    分布式缓存技术是现代高并发、高性能Web应用中不可或缺的一部分,它们通过将数据存储在内存中,以提高读取速度,降低对数据库的依赖。在众多的缓存解决方案中,Redis和Memcached是最受欢迎的两个选择。本文将深入...

Global site tag (gtag.js) - Google Analytics