最近又在研究memcached,如果想进一步研究如何使用分布式缓存,我们就需要知道具体的数据在内存中占用的情况。在启动memcached的时候,增加参数
-vv
控制太可以显示设置的细节。
例如:
./memcached -d -m 2m -p 11211 -c 1024 -f 1.25 -n 80 -t 16 -u root -vv
设置命令set
memcachedClient.set("abcd", 111, 65535); //key,超时时间,值
服务器命令行显示
set abcd 512 111 2 //key,额外信息(类似descrption),超时时间,字节数
设置命令namespace and set
memcachedClient.beginWithNamespace("1"); //命名空间
memcachedClient.set("key3", 111, 65535);
服务器命令行显示
set 1386335186060:key3 512 111 2
1)此命令,先会执行一个get命令,如果namespace不存在,则执行一个set命令,增加namespace,然后再执行set明令加入数据,相当于执行了3次命令
2)如果是第二次,则执行一次get命令,namespace存在,直接执行set命令
3)结论:
所以尽量不要使用接口memcachedClient.beginWithNamespace,严重影响性能。
设置命令namespace and delete
memcachedClient.beginWithNamespace("1"); //命名空间
memcachedClient.delete("key5");
服务器命令行显示
delete 1386336170626:key5
执行一次get命令,namespace存在,再直接执行delete命令
所以尽量不要使用接口memcachedClient.beginWithNamespace,严重影响性能。
其中字符串中,1个英文字符,占1个字节
数字中,255占1个字节,256占2个字节,65535占2个字节,65536占3个字节
分享到:
相关推荐
### Memcached内存分析、调优、集群:深入理解与实践 #### 1. Memcached背景与概述 Memcached是一款高性能的分布式内存缓存服务器,它最初由LiveJournal的运营人员开发,现已成为开源社区中不可或缺的一部分。其...
### Memcached内存分配与SLAB机制 #### 第1章 前言 本文将深入探讨Memcached中的内存分配原理及SLAB机制的核心概念。通过详细分析Memcached如何管理内存资源,帮助读者理解其高效内存利用背后的逻辑。 #### 第2章...
- 如果你尝试通过`-m`选项调整最大内存占用,但发现未生效,可能是因为注册表中未写入相关信息。此时,你需要手动修改注册表: - 先使用`memcached -d shutdown`命令停止服务。 - 打开注册表编辑器,找到`HKEY_...
#### 三、Memcached的特点 - **简单易用**:Memcached非常易于部署和使用,只需要简单的配置即可快速上手。 - **高性能**:由于数据被缓存在内存中,因此访问速度非常快。 - **可扩展性**:支持多台服务器集群,...
- **压缩**:对于大体积的数据,可以启用Memcached的压缩功能,减小内存占用。 - **多线程/异步I/O**:优化服务端架构,提升并发处理能力。 综上所述,Memcached作为一个高效的内存缓存系统,通过客户端和服务端的...
1. **轻量级**:memcached占用资源少,启动快速,易于部署和维护。 2. **协议简单**:基于文本的简单协议,易于实现客户端支持。 3. **高性能**:使用libevent库进行事件驱动,处理大量并发请求。 4. **可扩展性**:...
2. **实时监控**:该工具能够实时展示MemCacheD的运行状态,包括缓存命中率、内存占用、连接数、请求数等关键指标,便于管理员了解系统的健康状况和性能瓶颈。 3. **性能调优**:通过MemCacheD Manager,用户可以...
- **压缩**:对于大数据量的缓存,可选择性地启用压缩,减少内存占用。 7. **安全性与扩展性** - **SASL认证**:支持简单的认证机制,提高安全性。 - **插件系统**:允许开发者编写自定义插件,扩展`memcached`...
在安装 Memcached 之后,可能需要调整 Memcached 的配置,例如最大内存占用。可以使用 `memcached –m 200` 命令来调整最大内存占用,但是这个命令可能不生效。解决方法是修改注册表中的ImagePath项。在 HKEY_LOCAL_...
memcached默认使用11211端口,如果该端口被其他进程占用,启动会失败。可以更改配置文件(一般为/etc/memcached.conf)中的监听端口: ```bash -p 11212 # 将端口改为11212 ``` 然后重启服务: ```bash sudo ...
3. **轻量级**: Memcached 本身代码量小,占用资源少,易于部署和维护。 4. **简单协议**: Memcached 使用简单的文本协议,方便各种语言的客户端进行通信。 5. **数据持久化**: 虽然默认情况下Memcached不提供数据...
6. **性能优化**:理解如何合理设置缓存过期策略,避免数据过期导致的额外数据库访问,同时注意缓存大小控制,防止过度占用服务器内存。 7. **分布式缓存的优势**:在多服务器环境下,memcached的分布式特性可以...
4. **数据压缩**:对于大对象,可以考虑启用Memcached的数据压缩功能,减小内存占用。 5. **分片策略**:通过一致性哈希或其他策略,均匀分布数据到多个Memcached实例,提高系统整体性能。 **分布式环境中的扩展性*...
**memcached** 是一款高性能、分布式内存对象缓存系统,广泛应用于Web应用中,用于减轻数据库负载,提高网站性能。它的工作原理是将数据存储在内存中,通过键值对的形式进行访问,从而实现了快速读取。由于数据存于...
合理设置数据过期时间,防止内存被无用数据占用。 3.3 监控与调优 定期监控memcached的内存使用、命中率等指标,根据实际情况调整参数。 总结,memcached-1.5.16作为一款强大的缓存工具,提供了高效、灵活的内存...
4. **轻量级**:Memcached服务器端占用资源少,启动快速,易于部署和扩展。 5. **跨平台**:Memcached支持多种操作系统,包括Linux、Windows、FreeBSD等,并提供了多种编程语言的客户端接口,如PHP、Python、Java、...
- 使用`memcached`时,确保系统中没有其他程序占用默认的端口11211,如有冲突,可以在启动脚本中修改端口号。 - 由于`memcached`的数据存储在内存中,当服务器重启或`memcached`服务意外关闭时,所有缓存数据将丢失...