1.redis
2.memcached
3.MongoDB
2.memcached
Memcached守护进程是c写的,是高性能的分布式内存对象缓存系统
2.1 memcached安装
http://s3.amazonaws.com/downloads.northscale.com/memcached-win32-1.4.4-14.zip
http://s3.amazonaws.com/downloads.northscale.com/memcached-win64-1.4.4-14.zip
下载后解压memcached-win32-1.4.4-14.zip为memcached,并将memcached-win64-1.4.4-14.zip中的3个文件覆盖memcached中的文件。
#进入memcached根目录,注册为windows服务:
D:\service\memcached>memcached.exe -d install
#进入memcached根目录,检测是否安装成功:
D:\service\memcached>memcached -h
若返回参数说明安装成功
#启动服务
>
net start memcached
或者
#启动服务
D:\service\memcached>memcached.exe -d start
#测试是否启动成功
telnet 127.0.0.1 11211
#其他系统及命令或参数:
memcached.exe -d stop
memcached.exe -d uninstall
-m 最大内存使用,单位MB。默认64MB
-c 最大同时连接数,默认是1024
-p 监听的端口
例如:
>
memcached.exe -p 10000 -m 512 -d start
2.2 memcached使用-client
>
telnet 127.0.0.1 11211
客户端连接服务器
命令格式为:
<command name> <key> <flags> <exptime> <bytes>//注意,此处要记得回车
<data block>
<bytes>是你输入<data block>的长度,必须输入长度相等的字符长度返回stored,返回报错:
CLIENT_ERROR bad data chunk
如:
#memcached服务器信息
>stats
#添加值
>add key 0 0 2
>12
>stored
#获取值
>get key
#修改
>set key 0 10 2
>13
>stored
2.3 memcached使用-java
https://github.com/gwhalin/Memcached-Java-Client
添加jar:
<dependency>
<groupId>com.whalin</groupId>
<artifactId>Memcached-Java-Client</artifactId>
<version>3.0.2</version>
</dependency>
package com.byron.memcached.client;
import com.whalin.MemCached.MemCachedClient;
import com.whalin.MemCached.SockIOPool;
public class MemCachedTest {
public static void main(String[] args) {
// SockIOPool 初始化
String[] servers = { "127.0.0.1:11211" };
SockIOPool pool = SockIOPool.getInstance();
pool.setServers(servers);
pool.setFailover(true);
pool.setInitConn(10);
pool.setMinConn(5);
pool.setMaxConn(250);
pool.setMaintSleep(30);
pool.setNagle(false);
pool.setSocketTO(3000);
pool.setAliveCheck(true);
pool.initialize();
// 新建client:默认从
MemCachedClient memCachedClient = new MemCachedClient();
for (int i = 0; i < 10; i++) {
// 添加数据
boolean success = memCachedClient.set("" + i, "Hello!");
// 获取数据
String result = (String) memCachedClient.get("" + i);
System.out.println(String.format("set( %d ): %s", i, success));
System.out.println(String.format("get( %d ): %s", i, result));
}
}
}
2.4 memcached使用-hibernate
影响中hibernate会到过memcached,由于很长时间没有用过hibernate,一直用的是ibatis,所以不再建实例了
memcached是对象缓存服务器,所以与hibernate集成是个不错的场景。这也是相比于redis的一个优势
2.5 memcached分布式原理
参考网站:
JAVA客户端API调用memcached两种方式
http://www.cnblogs.com/longshiyVip/p/4889817.html
http://www.cnblogs.com/sunniest/p/4154209.html
Memcached和Memcache安装(64位win7)
http://www.cnblogs.com/wujuntian/p/4791220.html
telnet memcached error: "CLIENT_ERROR bad data chunk"
http://f.dataguru.cn/thread-46013-1-1.html
- 大小: 14.7 KB
分享到:
相关推荐
它通过将数据存储在内存中,实现快速读取,避免了频繁的磁盘I/O操作。本文将详细介绍`memcached-1.5.4`版本的源码特点、编译过程以及相关知识。 1. **memcached简介** - `memcached`的核心设计理念是简单而高效,...
分布式缓存技术是现代高并发、高性能Web应用中不可或缺的一部分,它们通过将数据存储在内存中,以提高读取速度,降低对数据库的依赖。在众多的缓存解决方案中,Redis和Memcached是最受欢迎的两个选择。本文将深入...
Memcached,作为一个高性能、分布式的内存对象缓存系统,常被用来解决这个问题,而Tomcat作为流行的Java应用服务器,通过集成Memcached,可以有效地在集群节点之间共享Session数据。 首先,我们需要理解Session的...
它通过将数据存储在内存中,以键值对的形式提供高速的数据访问。在这个“memcached开发完整demo”中,我们将探讨如何使用C语言进行`memcached`的开发,这对于初次接触`memcached` API的开发者来说是一份宝贵的资源。...
虽然Memcached的数据存储在内存中,但可以通过复制策略实现高可用性。多台服务器间可以进行数据同步,当一台服务器故障时,其他服务器仍可提供服务。然而,由于内存的易失性,Memcached并不直接支持数据持久化。如果...
`memcached` 是一个高性能、分布式内存对象缓存系统,广泛应用于Web应用中,用于减轻数据库负载,提高数据访问速度。它通过在内存中存储数据,使得频繁访问的数据能够快速获取,从而提升系统的响应速度。`memcached-...
其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。但是它并不提供冗余(例如,复制其hashmap条目);当某个服务器S停止运行或崩溃了,所有存放在S上的键/值对...
其守护进程是用 C 写的,但是客户端可以用任何语言来编写,这里使用 C# 作为例子,并通过 memcached 协议与守护进程通信。 Memcached 的特征: 1. 协议简单:不使用复杂的 xml 格式,而是使用文本格式。 2. 基于 ...
1. 数据存储:每个数据项都包含一个键(key)和对应的值(value),键用于唯一标识数据,值可以是任意类型的数据。 2. LRU(Least Recently Used)策略:当内存空间满时,Memcached会依据最近最少使用的数据项进行...
1. **memcached服务** - 是一个开源的、基于内存的分布式缓存系统,用于存储和检索数据,以减少数据库的负载,提高Web应用的响应速度。 2. **PHP扩展** - PHP通过扩展与各种库和服务交互,memcached和memcache是两个...
2. 缓存命中率:Memcached 的缓存命中率是指缓存中存在的数据的百分比。 3. 缓存失效率:Memcached 的缓存失效率是指缓存中不存在的数据的百分比。 六、Memcached 的参数 1. `-l` 选项:指定 Memcached 监听的 IP ...
- 由于`memcached`的数据存储在内存中,当服务器重启或`memcached`服务意外关闭时,所有缓存数据将丢失。因此,不适合存储持久化数据。 - `memcached`的性能受到内存大小的直接影响,合理分配内存资源可以最大化其...
- **session持久化**:将session数据存储到数据库,确保跨服务器的持久性和一致性。 以上就是关于Redis和Memcached的一些核心知识点,以及它们在分布式环境下的应用和挑战。在实际项目中,根据业务需求和性能要求...
Memcached是一种广泛应用于Web开发领域的高性能分布式内存对象缓存系统,它的主要作用是通过将数据存储在内存中,显著提高数据读取速度,减少对数据库的直接访问,从而提升应用程序的响应时间和整体性能。...
3. **内存对象**: Memcached将数据存储在内存中,以实现快速读取,但这也意味着内存容量有限,需谨慎管理。 **二、Memcached工作原理** 1. **键值对存储**: Memcached以键值对的形式存储数据,键是唯一的标识,值...
其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。但是它并不提供冗余(例如,复制其hashmap条目);当某个服务器S停止运行或崩溃了,所有存放在S上的键/值对...
总的来说,`memcached-1.4.12.tar.gz`客户端包是开发人员在应用中集成和利用Memcached缓存服务的重要工具,通过它可以实现高效的数据存储和访问,提升系统的整体性能。正确理解和使用此包,有助于优化和扩展各种基于...
libmemcached是一个C库,用于与Memcached服务器通信,提供了高效和健壮的客户端接口。而libevent是一个事件通知库,用于异步非阻塞I/O,对于高性能网络服务如Memcached来说非常关键。 在提供的压缩包文件列表中,...