摘要: 在使用Memcached时,一般实时读写的场景并不多见。但多是Memcached写入后,在一定时间后才会有读操作。但是如果应用场景,是写入后瞬间即会有读操作呢?似乎没有什么特别之处,我们依然可以这样写:注:此处使用的是spymemcached客户端。MemcachedClientcache=newMemcachedClient(cacheServerAddr);cache.set("key",3600,bigData);returncache.get("key");如此写入缓存后,如果立刻就有其他客户端进行读操作,则会读取失败,因为set是异步操作(as 阅读全文
posted @ 2013-11-28 15:30 海上浪子 阅读(386) 评论(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 海上浪子 阅读(185) 评论(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 海上浪子 阅读(299) 评论(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 海上浪子 阅读(269) 评论(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 海上浪子 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 一、基本参数在我们第一次安装Memcached时,一般都是用过这个命令:memcached-m512-uroot-d-l127.0.0.1-p11211我们先来解释这几个参数的含义吧。-m 指定缓存所使用的最大内存容量,单位是Megabytes,默认是64MB-u 只有以root身份运行时才指定该参数-d 以daemon的形式运行-l 指定监听的地址-p 指定监听的TCP端口号,默认是11211二、其他常用的参数-t 指定线程数,默认是4个-h 打印帮助信息-c 最大同时连接数,默认是1024.-U 指定监听的UDP端口号,默认是11211-M 内存耗尽时显示错误,而不是删除项一开始说的“-d 阅读全文
posted @ 2013-11-28 15:20 海上浪子 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 1. 构造函数publicMemcachedClient(InetSocketAddress[]ia)throwsIOException;publicMemcachedClient(Listaddrs)throwsIOException;publicMemcachedClient(ConnectionFactorycf,Listaddrs)throwsIOException;其中最简单的构造函数就是第一个,可以直接传递一个InetSocketAddress,也可以是InetSocketAddress的数组。其实InetSocketAddress也是被转换成数组的。比如:MemcachedCli 阅读全文
posted @ 2013-11-28 15:18 海上浪子 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 1、Cache定义(1)狭义概念:用于CPU的相对高速处理与主存(Main Memory)的相对低速处理的之间起到协调功能的硬件设备。(2)广义概念:用于速度相差较大的两种硬件之间,起到协调两者数据传输速度差异的结构。狭义概念来自于Cache自1967出现以来较长时间内的应用场景。因为CPU的数据处理速度,要远远高于主存,所以在CPU和主存之间会有高速缓存设备,甚至是多级缓存设备。而广义概念,则是目前已经被广泛接受的一种定义,且广义概念中,Cache不再只局限于硬件,也可以是软件。比如用于网络相对低速传输与磁盘相对高速传输之间的速度差异协调。2、Cache的本质原理可以一句话概括,就是:Cac 阅读全文
posted @ 2013-11-28 15:17 海上浪子 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 一, Amoeba简述 Amoeba for MySQL致力于MySQL的分布式数据库前端代理层,它主要在应用层访问MySQL的时候充当query 路由功能,专注 分布式数据库 proxy 开发。座落与Client、DB Server(s)之间。对客户端透明。具有负载均衡、高可用性、Query过滤、读写分离、可路由相关的query到目标数据库、可并发请求多台数据库合并结果。 在Amoeba上面你能够完成多数据源的高可用、负载均衡、数据切片的功能。目前在很多企业的生产线上面使用。二, Amoeba使用指南说明文档见:http://docs.hexnova.com/amoeba/三, 安装小结:( 阅读全文
posted @ 2013-11-22 17:59 海上浪子 阅读(448) 评论(0) 推荐(0) 编辑
摘要: 海量存储过程(500w数据,分页只需2秒)这个存储过程执行的速度还不错.500W速度分页只要2秒,任何页数 可是有点问题就是,如果排序不是主键,ID,那么分页就会出错,不知道各位有什么好个意见,修改一下 ------------------------------------------------------- SQL code create procedure SqlDataPaging@tb... 阅读全文
posted @ 2010-01-11 16:12 海上浪子 阅读(416) 评论(2) 推荐(0) 编辑