随笔分类 -  18.Memcached

摘要:折腾了1个多小时,终于搞定。操作系统时64位的,php5.3.13类似于上一篇的xdebug安装教程~~memcache和memcached的区别在自己的新程序中打算全面应用memcached技术,这个很容易理解这是memcached是内存缓存,但是怎么还有memcache呢?其实很简单,memca... 阅读全文
posted @ 2015-05-15 16:45 海上浪子 阅读(206) 评论(0) 推荐(0) 编辑
摘要:转载自:http://warm-breeze.iteye.com/blog/2020413本文主要介绍一种通过Jedis&Sentinel实现Redis集群高可用方案,该方案需要使用Jedis2.2.2及以上版本(强制),Redis2.8及以上版本(可选,Sentinel最早出现在Redis2.4中... 阅读全文
posted @ 2015-02-11 14:52 海上浪子 阅读(262) 评论(0) 推荐(0) 编辑
摘要:从以下几个维度,对redis、memcache、mongoDB做了对比,欢迎拍砖1、性能都比较高,性能对我们来说应该都不是瓶颈总体来讲,TPS方面redis和memcache差不多,要大于mongodb2、操作的便利性 memcache数据结构单一 redis丰富一些,数据操作方面,redis更好一... 阅读全文
posted @ 2015-02-09 16:16 海上浪子 阅读(199) 评论(0) 推荐(0) 编辑
摘要:实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题: 1.MySQL需要不断进行拆库拆表,Memcached也需不断跟着扩容,扩容和维护工作占据大量开... 阅读全文
posted @ 2014-12-29 10:42 海上浪子 阅读(159) 评论(0) 推荐(0) 编辑
摘要:根据一些测试整理出来的一份方案:1. Redis 性能对于redis 的一些简单测试,仅供参考:测试环境:Redhat6.2 , Xeon E5520(4核)*2/8G,1000M网卡Redis 版本:2.6.9客户端机器使用redis-benchmark 简单GET、SET操作:1. 1单实例测试... 阅读全文
posted @ 2014-08-18 15:50 海上浪子 阅读(177) 评论(0) 推荐(0) 编辑
摘要:一个豁达的关键是正确乐观的面对失败的系统。不需要过多的担心,需要一种去说那又怎样的能力。因此架构的设计是如此的重要。许多优秀的系统没有进一步成长的能力,我们应该做的是去使用其他的系统去共同分担工作。Redis是其中一个吸引我的系统,一个持久性的,键值对 存储内存操作高性能的平台。他是一个优秀的键值对... 阅读全文
posted @ 2014-08-18 15:29 海上浪子 阅读(178) 评论(0) 推荐(0) 编辑
摘要:在使用Memcached时,一般实时读写的场景并不多见。但多是Memcached写入后,在一定时间后才会有读操作。但是如果应用场景,是写入后瞬间即会有读操作呢?似乎没有什么特别之处,我们依然可以这样写:注:此处使用的是spymemcached客户端。MemcachedClientcache=newMemcachedClient(cacheServerAddr);cache.set("key",3600,bigData);returncache.get("key");如此写入缓存后,如果立刻就有其他客户端进行读操作,则会读取失败,因为set是异步操作(as 阅读全文
posted @ 2013-11-28 15:30 海上浪子 阅读(387) 评论(0) 推荐(0) 编辑
摘要:1. Memcached是什么?Memcached是分布式的内存对象缓存系统。2. Memcached的基本数据结构是什么?Memcached是基于Key/Value对的HashMap。每一对,都可以设定过期时间。3. Memcached用什么实现?服务端程序由C语言编写,客户端可以用任何语言编写。客户端通过Memcached协议与服务端通信。4. Memcached特点(1)无备份/冗余:各Memcached节点的数据之间没有互相备份,一旦某个节点挂掉,缓存中的数据就会丢失。5. 开发团队Memcached由Danga Interactive开发。6. 相关下载(1)Memcached服务端 阅读全文
posted @ 2013-11-28 15:26 海上浪子 阅读(186) 评论(0) 推荐(0) 编辑
摘要:1. 源程序packagecom.sinosuperman.memcached;importjava.io.IOException;importjava.net.InetSocketAddress;importnet.spy.memcached.CASResponse;importnet.spy.memcached.CASValue;importnet.spy.memcached.MemcachedClient;publicclassTest{privatestaticMemcachedClientclient=null;static{try{client=newMemcachedClient 阅读全文
posted @ 2013-11-28 15:25 海上浪子 阅读(300) 评论(0) 推荐(0) 编辑
摘要:1. 非CAS首先看一个不是CAS的Memcached程序实例。实例的问题原型,见上一篇博文。程序实例:packagecom.sinosuperman.memcached;importjava.io.IOException;importjava.net.InetSocketAddress;importnet.spy.memcached.MemcachedClient;publicclassTest{publicstaticvoidmain(String[]args)throwsIOException{MemcachedClientcache=newMemcachedClient(newInet 阅读全文
posted @ 2013-11-28 15:23 海上浪子 阅读(270) 评论(0) 推荐(0) 编辑
摘要:1. 什么是CAS协议很多中文的资料都不会告诉大家CAS的全称是什么,不过一定不要把CAS当作中国科学院(China Academy of Sciences)的缩写。Google.com一下,CAS是什么?CAS是Check And Set的缩写。2. CAS协议原文http://code.sixapart.com/svn/memcached/trunk/server/doc/protocol.txt3. CAS的基本原理基本原理非常简单,一言以蔽之,就是“版本号”。每个存储的数据对象,多有一个版本号。我们可以从下面的例子来理解:如果不采用CAS,则有如下的情景:第一步,A取出数据对象X;第二 阅读全文
posted @ 2013-11-28 15:21 海上浪子 阅读(187) 评论(0) 推荐(0) 编辑
摘要:1. 构造函数publicMemcachedClient(InetSocketAddress[]ia)throwsIOException;publicMemcachedClient(Listaddrs)throwsIOException;publicMemcachedClient(ConnectionFactorycf,Listaddrs)throwsIOException;其中最简单的构造函数就是第一个,可以直接传递一个InetSocketAddress,也可以是InetSocketAddress的数组。其实InetSocketAddress也是被转换成数组的。比如:MemcachedCli 阅读全文
posted @ 2013-11-28 15:18 海上浪子 阅读(295) 评论(0) 推荐(0) 编辑
摘要:1、Cache定义(1)狭义概念:用于CPU的相对高速处理与主存(Main Memory)的相对低速处理的之间起到协调功能的硬件设备。(2)广义概念:用于速度相差较大的两种硬件之间,起到协调两者数据传输速度差异的结构。狭义概念来自于Cache自1967出现以来较长时间内的应用场景。因为CPU的数据处理速度,要远远高于主存,所以在CPU和主存之间会有高速缓存设备,甚至是多级缓存设备。而广义概念,则是目前已经被广泛接受的一种定义,且广义概念中,Cache不再只局限于硬件,也可以是软件。比如用于网络相对低速传输与磁盘相对高速传输之间的速度差异协调。2、Cache的本质原理可以一句话概括,就是:Cac 阅读全文
posted @ 2013-11-28 15:17 海上浪子 阅读(277) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示