客户端通过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位整数。不接受负值。如果操作的数据项的值不存在,则incr,decr操作将失败。
统计命令
stats
stats items
stats slabs
stats sizes
<!--[if !supportLineBreakNewLine]-->
<!--[endif]-->
flush_all
相关推荐
Memcached作为一种流行的分布式缓存系统,通过在内存中缓存数据和对象,显著提高了Web应用的响应速度和性能。分布式缓存通过将缓存数据分布在多个服务器节点上,能够实现负载均衡、容错、以及数据一致性,这些特性...
分布式缓存服务器Memcached是互联网应用中广泛使用的内存对象缓存系统,用于减轻数据库的负载,提高应用程序的性能。Memcached的设计目标是简单且高效,它通过在内存中存储数据来提供快速的数据访问。让我们深入了解...
Memcached 分布式缓存学习 ...Memcached 是一个高性能的分布式缓存系统,能够提高网站的速度和性能,减轻数据库的负载。但是,Memcached 也存在一些缺点,例如数据丢失和客户端需要实现分布式算法。
Memcached是一款由Danga Interactive公司设计并开发的高效、分布式内存对象缓存系统。它的主要目标是减轻数据库的负担,提高动态应用程序的响应速度,通过将数据存储在内存中,使得频繁访问的数据可以更快地被获取,...
Memcached作为一款高性能的分布式缓存系统,在现代互联网应用中扮演着至关重要的角色。通过深入理解其基本概念、内存管理机制、分布式算法以及应用场景,可以帮助开发者更好地利用该技术来提高应用性能。随着技术的...
Memcached是一种高性能的分布式内存对象缓存系统,主要用于动态Web应用程序,以缓解数据库负载。它通过将数据和对象存储在内存中,减少对数据库的直接访问,从而提高动态、数据库驱动网站的速度。对于.NET开发者来说...
MemCached是一种广泛应用于互联网行业的分布式缓存系统,其设计目标是提供高性能、低延迟的数据存储解决方案,以缓解数据库的压力并提升应用的响应速度。作为一款跨平台的内存对象缓存系统,它支持多种操作系统,...
为了解决这些问题,一致性哈希算法被引入到分布式缓存系统中。一致性哈希是一种特殊的哈希函数,它能够尽可能地保持数据分布的稳定,即使在服务器增减时,只有少数数据需要迁移。一致性哈希通过虚拟节点和哈希环的...
本文主要对比两个流行的分布式缓存系统:Memcached和Redis。 **Memcached** 是一个轻量级的高性能分布式内存缓存服务器,主要用于缓存数据库查询结果或其他小块的任意数据,如字符串或对象。它的设计目标是减少...
Redis 和 Memcached 是两款非常流行的分布式缓存系统,它们在处理高并发、低延迟的场景下表现卓越。以下是对这两款缓存系统的一些经典面试题及详细解答。 1. **Redis 和 Memcached 的主要区别是什么?** - Redis ...
**memcached 分布式缓存服务器** `memcached` 是一款高效、轻量级的分布式内存对象缓存系统,主要用于缓解数据库的负载压力,通过在内存中存储数据,提高网络应用的数据读取速度。它广泛应用于网站开发、API服务、...
尽管被称为分布式缓存,但Memcached服务器之间并不直接通信以协调数据分布。分布式是通过客户端实现的,客户端负责决定数据应存储在哪个服务器上,并处理数据的一致性和复制。这意味着如果某个服务器失效,存储在该...
分布式缓存系统如 Memcached 和 Redis 在数据类型支持、持久化能力、数据同步和高可用设计等方面都有各自的优势和局限。根据实际的业务需求和环境,合理选择和配置分布式缓存,可以有效地提升整个云平台的性能和稳定...
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的...
常见的分布式缓存系统有Redis、Memcached等,它们能够提供高并发、低延迟的数据访问。 其次,无线数据网络环境下的网络游戏需要面对带宽限制、网络抖动等问题。分布式缓存通过预加载热门游戏资源到离玩家最近的缓存...
具体到技术细节,该机制集成并使用了分布式对象缓存系统Memcached客户端,并采纳基于分级队列思想的缓存替换算法。通过模拟实验,结果表明该机制能够有效减少数据库I/O负载,降低访问延迟,提高并发处理能力。 ...
Memcached 是一款高性能的分布式内存缓存系统,常用于缓解数据库负载,提高Web应用的响应速度和可扩展性。它的设计目标是简单且高效,通过将数据存储在内存中,避免了磁盘I/O带来的延迟,从而实现了快速的数据访问。...
分布式缓存技术是现代高并发、高性能Web应用中不可或缺的一部分,它们通过将数据存储在内存中,以提高读取速度,降低对数据库的依赖。在众多的缓存解决方案中,Redis和Memcached是最受欢迎的两个选择。本文将深入...