前面已发布了linux memcache的安装,这写了一个小例子,这在不再详细介绍。
安装说明:
http://sunney2010.iteye.com/blog/656905
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。但是它并不提供冗余(例如,复制其hashmap条目);当某个服务器S停止运行或崩溃了,所有存放在S上的键/值对都将丢失。
Memcached由Danga Interactive开发,用于提升LiveJournal.com访问速度的。LJ每秒动态页面访问量几千次,用户700万。Memcached将数据库负载大幅度降低,更好的分配资源,更快速访问。
package com.ctoall.core;
import java.util.Date;
import com.danga.MemCached.MemCachedClient;
import com.danga.MemCached.SockIOPool;
public class MemCached {
// 创建全局的唯一实例
protected static MemCachedClient mcc = new MemCachedClient();
protected static MemCached memCached = new MemCached();
// 设置与缓存服务器的连接池
static {
// 服务器列表和其权重
String[] servers = {"192.168.186.128:11211"};
Integer[] weights = {3};
// 获取socke连接池的实例对象
SockIOPool pool = SockIOPool.getInstance();
// 设置服务器信息
pool.setServers( servers );
pool.setWeights( weights );
// 设置初始连接数、最小和最大连接数以及最大处理时间
pool.setInitConn( 5 );
pool.setMinConn( 5 );
pool.setMaxConn( 250 );
pool.setMaxIdle( 1000 * 60 * 60 * 6 );
// 设置主线程的睡眠时间
pool.setMaintSleep( 30 );
// 设置TCP的参数,连接超时等
pool.setNagle( false );
pool.setSocketTO( 3000 );
pool.setSocketConnectTO( 0 );
// 初始化连接池
pool.initialize();
// 压缩设置,超过指定大小(单位为K)的数据都会被压缩
mcc.setCompressEnable( true );
mcc.setCompressThreshold( 64 * 1024 );
}
/**
* 保护型构造方法,不允许实例化!
*
*/
protected MemCached()
{
}
/**
* 获取唯一实例.
* @return
*/
public static MemCached getInstance()
{
return memCached;
}
/**
* 添加一个指定的值到缓存中.
* @param key
* @param value
* @return
*/
public boolean add(String key, Object value)
{
return mcc.add(key, value);
}
public boolean add(String key, Object value, Date expiry)
{
return mcc.add(key, value, expiry);
}
public boolean replace(String key, Object value)
{
return mcc.replace(key, value);
}
public boolean replace(String key, Object value, Date expiry)
{
return mcc.replace(key, value, expiry);
}
/**
* 根据指定的关键字获取对象.
* @param key
* @return
*/
public Object get(String key)
{
return mcc.get(key);
}
public static void main(String[] args)
{
MemCached cache = MemCached.getInstance();
StudentDO stuDO=new StudentDO();
stuDO.setId(10);
stuDO.setAge(28);
stuDO.setName("sunney");
stuDO.setAddress("广东省深圳市福田区梅华路105号多丽科技楼9楼");
cache.add("stu", stuDO);
StudentDO stuDO1=(StudentDO)cache.get("stu");
System.out.println("id:"+stuDO1.getId());
System.out.println("name:"+stuDO1.getName());
System.out.println("age:"+stuDO1.getAge());
System.out.println("adress:"+stuDO1.getAddress());
System.out.println("+++++++++++++++++++++++ok++++++++++++++++++++++++");
}
}
package com.ctoall.core;
import java.io.Serializable;
public class StudentDO implements Serializable {
/**
*
*/
private static final long serialVersionUID = 3312721104787630488L;
private int Id;
private String Name;
private int age;
private String address;
public int getId() {
return Id;
}
public void setId(int id) {
Id = id;
}
public String getName() {
return Name;
}
public void setName(String name) {
Name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
分享到:
相关推荐
本篇文章将围绕"Java Memcache使用例子"这一主题,详细介绍如何在Java中使用Memcached。 首先,确保您已经在本地正确安装了Memcached。通常,Memcached可以在Linux、macOS和Windows等操作系统上运行。你可以通过...
Memcache是一种广泛应用于Web开发中的分布式内存对象缓存系统,它可以临时存储数据,减少数据库的负载,提高应用程序的性能。在本主题中,我们将详细探讨Memcache缓存技术,特别是针对PHP5.2.6版本的配置以及在...
标签"memcache"强调了这个话题的核心——Memcache技术及其在Windows和.NET环境下的应用。无论是在大型网站还是小型应用中,正确地配置和使用Memcache都可以显著提升系统的响应速度和整体性能。 总的来说,Memcache...
#### 三、memcache PHP常量及其作用 **MEMCACHE_COMPRESSED** 是一个整型常量,用于在使用`Memcache::set()`, `Memcache::add()`和相关方法时开启压缩功能,这有助于在网络传输过程中减小数据包的大小,从而提高...
Memcache是一种广泛使用的分布式内存缓存系统,常用于减轻数据库负载,提高Web应用的性能。在本文中,我们将深入探讨Memcache的工作原理、优势以及如何在实际项目中使用它。 一、Memcache简介 Memcache是由Danga ...
同时,“附带两个测试的例子”表明提供了验证安装和功能的示例文件,一个是连接测试,用于检查 PHP 脚本是否能成功连接到 memcache 服务器;另一个是功能测试,用于检验 memcache 扩展的各种操作,如添加、获取、...
这部分会详细介绍MemCache的基本概念、工作原理及其在高流量网站中解决性能问题的关键作用。 **第 4 章 技术预研目标** 4.1 设定预研的具体目标,例如熟悉MemCache的架构、安装过程、客户端开发以及优化策略等。 *...
总的来说,这个压缩包提供了一种在64位Windows系统上运行PHP 7.1及其以上版本时,启用Memcache缓存功能的方法。开发者可以通过正确安装和配置这个扩展,充分利用Memcache的性能优势,提升Web应用的响应速度和处理...
Memcache是一种广泛使用的分布式内存对象缓存系统,它可以提高Web应用的性能,通过存储数据在内存中来减少数据库的负载。在PHP中,我们通常使用PHP扩展来与Memcache服务进行交互。 描述中提到的是作者已经经历了一...
**Memcached** 是一款高性能、分布式内存对象缓存系统,广泛应用于Web应用中,用于减轻数据库的负载,提高数据访问速度。它通过将数据和对象存储在内存中,以键值对的形式提供高速访问,特别适合处理高并发的场景。 ...
#### 分布式Memcache应用 对于大型网站而言,单一Memcache服务器的内存容量有限,因此采用分布式部署成为必然选择。可以通过对键(Key)进行有规律的设计,实现数据的有效分布。例如,在以用户为中心的网站中,可以...
压缩包文件名称 "PHP7-memcache-dll-master" 暗示这是一个包含 `memcache.dll` 及其相关配置文件的资源库,可能是GitHub上的一个项目,旨在提供给PHP 7.x用户使用。通常,这样的资源会包括DLL文件、PHP配置文件(如 ...
2. **键值列表**:列出当前存储在Memcache中的所有键及其对应的值,这对于调试和排查问题非常有帮助。 3. **内存使用情况**:展示Memcache当前占用的内存总量以及每个键所占用的内存大小。 4. **操作功能**:可能...
在大型应用中,单台Memcache服务器可能无法满足高并发和大容量的需求,这时就需要搭建Memcache的分布式集群。 在标题提到的“memcache缓存分布式集群”中,主要涉及以下知识点: 1. **分布式存储原理**:分布式...
**MemCache和Redis缓存...总之,理解和掌握MemCache和Redis的特性及其使用场景,对于优化应用程序性能、提高用户体验具有重要意义。在开发过程中,根据业务需求合理选择和配置缓存系统,可以极大地提升系统的整体效率。
标题中的"memcache-2.2.7.tgz"指的是Memcache的一个特定版本,这是一个流行的开源内存对象缓存系统,常用于加速动态Web应用程序。它通过存储数据在内存中,避免了频繁读取数据库,从而提高了网站的响应速度。这个...
标题“Memcache各种下载”暗示我们将讨论关于Memcache的不同版本及其下载途径。在Web开发中,开发者可能需要不同版本的Memcache来适应不同的环境或者解决特定问题。例如,某些旧项目可能依赖于特定版本的Memcache,...