`

数据存储与缓存2-memcached-C

    博客分类:
  • data
 
阅读更多
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
分享到:
评论

相关推荐

    memcached-1.5.4

    它通过将数据存储在内存中,实现快速读取,避免了频繁的磁盘I/O操作。本文将详细介绍`memcached-1.5.4`版本的源码特点、编译过程以及相关知识。 1. **memcached简介** - `memcached`的核心设计理念是简单而高效,...

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

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

    apache-tomcat-7.0.47-memcached-各种序列化策略-session共享

    Memcached,作为一个高性能、分布式的内存对象缓存系统,常被用来解决这个问题,而Tomcat作为流行的Java应用服务器,通过集成Memcached,可以有效地在集群节点之间共享Session数据。 首先,我们需要理解Session的...

    memcached开发完整demo

    它通过将数据存储在内存中,以键值对的形式提供高速的数据访问。在这个“memcached开发完整demo”中,我们将探讨如何使用C语言进行`memcached`的开发,这对于初次接触`memcached` API的开发者来说是一份宝贵的资源。...

    集中式缓存系统 memcached.zip

    虽然Memcached的数据存储在内存中,但可以通过复制策略实现高可用性。多台服务器间可以进行数据同步,当一台服务器故障时,其他服务器仍可提供服务。然而,由于内存的易失性,Memcached并不直接支持数据持久化。如果...

    memcached-win-1.5.6.rar

    **Memcached** 是一款高性能、分布式内存对象缓存系统,广泛应用于Web应用中,用于减轻数据库负载,提高数据访问速度。它通过将数据和对象存储在内存中,以快速访问的方式提供服务,而不是每次请求都从数据库中读取...

    memcached-win32-1.4.4-14

    `memcached` 是一个高性能、分布式内存对象缓存系统,广泛应用于Web应用中,用于减轻数据库负载,提高数据访问速度。它通过在内存中存储数据,使得频繁访问的数据能够快速获取,从而提升系统的响应速度。`memcached-...

    C#使用memCached实现缓存

    其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。但是它并不提供冗余(例如,复制其hashmap条目);当某个服务器S停止运行或崩溃了,所有存放在S上的键/值对...

    Memcached分布式缓存学习.doc

    其守护进程是用 C 写的,但是客户端可以用任何语言来编写,这里使用 C# 作为例子,并通过 memcached 协议与守护进程通信。 Memcached 的特征: 1. 协议简单:不使用复杂的 xml 格式,而是使用文本格式。 2. 基于 ...

    memcached-1.2.6-win32-bin.zip

    1. 数据存储:每个数据项都包含一个键(key)和对应的值(value),键用于唯一标识数据,值可以是任意类型的数据。 2. LRU(Least Recently Used)策略:当内存空间满时,Memcached会依据最近最少使用的数据项进行...

    memcached-2.1.0.tgz

    1. **memcached服务** - 是一个开源的、基于内存的分布式缓存系统,用于存储和检索数据,以减少数据库的负载,提高Web应用的响应速度。 2. **PHP扩展** - PHP通过扩展与各种库和服务交互,memcached和memcache是两个...

    memcached缓存安装配置.pptx

    2. 缓存命中率:Memcached 的缓存命中率是指缓存中存在的数据的百分比。 3. 缓存失效率:Memcached 的缓存失效率是指缓存中不存在的数据的百分比。 六、Memcached 的参数 1. `-l` 选项:指定 Memcached 监听的 IP ...

    memcached windows最新版本

    - 由于`memcached`的数据存储在内存中,当服务器重启或`memcached`服务意外关闭时,所有缓存数据将丢失。因此,不适合存储持久化数据。 - `memcached`的性能受到内存大小的直接影响,合理分配内存资源可以最大化其...

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

    - **session持久化**:将session数据存储到数据库,确保跨服务器的持久性和一致性。 以上就是关于Redis和Memcached的一些核心知识点,以及它们在分布式环境下的应用和挑战。在实际项目中,根据业务需求和性能要求...

    29道memcached面试题含答案(很全)

    Memcached是一种广泛应用于Web开发领域的高性能分布式内存对象缓存系统,它的主要作用是通过将数据存储在内存中,显著提高数据读取速度,减少对数据库的直接访问,从而提升应用程序的响应时间和整体性能。...

    Memcached缓存技术资料源码

    3. **内存对象**: Memcached将数据存储在内存中,以实现快速读取,但这也意味着内存容量有限,需谨慎管理。 **二、Memcached工作原理** 1. **键值对存储**: Memcached以键值对的形式存储数据,键是唯一的标识,值...

    Memcached内存对象缓存

    其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。但是它并不提供冗余(例如,复制其hashmap条目);当某个服务器S停止运行或崩溃了,所有存放在S上的键/值对...

    memcached客户端包memcached-1.4.12.tar.gz

    总的来说,`memcached-1.4.12.tar.gz`客户端包是开发人员在应用中集成和利用Memcached缓存服务的重要工具,通过它可以实现高效的数据存储和访问,提升系统的整体性能。正确理解和使用此包,有助于优化和扩展各种基于...

Global site tag (gtag.js) - Google Analytics