MEMCACHED - 技术教程文章

memcached全面剖析–4. memcached的分布式算法【代码】【图】

memcached的分布式正如第1次中介绍的那样, memcached虽然称为“分布式”缓存服务器,但服务器端并没有“分布式”功能。 服务器端仅包括 第2次、 第3次 前坂介绍的内存存储功能,其实现非常简单。 至于memcached的分布式,则是完全由客户端程序库实现的。 这种分布式是memcached的最大特点。memcached的分布式是什么意思?这里多次使用了“分布式”这个词,但并未做详细解释。 现在开始简单地介绍一下其原理,各个客户端的实现基本...

Memcached Java使用

一、Memcached安装 下载Memcached的zip包,cmd切换到解压后的目录下 管理员身份运行:安装:memcached.exe -d install 启动:memcached.exe -d start 关闭:memcached.exe -d stop 卸载:memcached.exe -d uninstall三、Memcached使用 1、 导入java_memcached-release_x.x.x.zip包下的几个jar包(具体包先自行下...

REDIS与MEMCACHED的区别 8大点

如果简单地比较Redis与Memcached的区别,大多数都会得到以下观点:1 Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储。2 Redis支持数据的备份,即master-slave模式的数据备份。3 Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。在Redis中,并不是所有的数据都一直存储在内存中的。这是和Memcached相比一个最大的区别(我个人是这么认为的)。Redis只会...

Memcached统计命令

1. Memcached stats命令: Memcached stats 命令用于返回统计信息例如 PID(进程号)、版本号、连接数等。语法:stats输出信息说明:pid: memcache服务器进程IDuptime:服务器已运行秒数time:服务器当前Unix时间戳version:memcache版本pointer_size:操作系统指针大小rusage_user:进程累计用户时间rusage_system:进程累计系统时间curr_connections:当前连接数量total_connections:Memcached运行以来连接总数connection_str...

memcached 实验 (三) php 调用验证【图】

http://192.168.209.147/info.phpmemcached 已经安装好了http://192.168.209.147/test.php解释的有问题啊,没有连接上啊果然没有连接上,进程和端口都开了啊telnet 测试下可以用set 和get命令赋值看了下端口,memcache 11211 和宿主机器209.1 50261是连接的啊本地telnet 端口也是开通的想起来了,我本地测试窗口还开着,赶紧退出杀掉进程再来memcached -d -m 50 -p 11211 -u root php调用正常。原文:http://blog.51cto.com/433266...

memcached 配置与安装【代码】

安装yum install libevent libevent-devel yum install memcached配置systemctl start memcached #启动 /etc/sysconfig/memcached #配置信息 memcached-tool 127.0.0.1:11211 stats #查看状态 memcached -d -u root -l 127.0.0.1 -p 11211 -m 128(单位M) [-P filename(将pid写入文件)] #自定义启动 -p <num> 设置TCP端口号(默认不设置为: 11211)-U <num> UDP监听端口(默认: 11211, 0 时关闭) -l <ip_addr> 绑定地址(默认...

迁移笔记:php缓存技术memcached【代码】

1)memcached 的几个指令:-p监听的端口 -l连接的IP地址, 默认是本机 -d start启动memcached服务 -d restart重起memcached服务 -d stop|shutdown关闭正在运行的memcached服务 -d install安装memcached服务 -d uninstall卸载memcached服务 -u以的身份运行(仅在以root运行的时候有效) -m 最大内存使用,单位MB。默认64MB -M 内存耗尽时返回错误,而不是删除项 -c最大同时连接数,默认是1024 -f 块大小增长因子,默认是1.25 -n 最小分...

linux 查看 memcached 运行状态

linux下查看Memcached运行状态查看Memcached运行状态的命令是:echo stats | nc 127.0.0.1 11211查看memcached状态的基本命令,通过这个命令可以看到如下信息:STAT pid 22459 进程IDSTAT uptime 1027046 服务器运行秒数STAT time 1273043062 服务器当前unix时间戳STAT version 1.4.4 服务器版本STAT pointer_size 64 操作系统字大小(这台服务器是64位的)STAT rusage_user 0.040000 进程累计用户时间STAT rusage_system 0.260000 进...

Memcached管理与监控【图】

一个用PHP编写的可视化的MemCached管理系统MemAdmin是一款可视化的Memcached管理与监控工具,使用PHP开发,体积小,操作简单。  主要功能:  服务器参数监控:STATS、SETTINGS、ITEMS、SLABS、SIZES实时刷新  服务器性能监控:GET、DELETE、INCR、DECR、CAS等常用操作命中率实时监控  支持数据遍历,方便对存储内容进行监视  支持条件查询,筛选出满足条件的KEY或VALUE  数组、JSON等序列化字符反序列显示  兼容memc...

谈谈Memcached与Redis【图】

1. Memcached简介Memcached是以LiveJurnal旗下Danga Interactive公司的Bard Fitzpatric为首开发的高性能分布式内存缓存服务器。其本质上就是一个内存key-value数据库,但是不支持数据的持久化,服务器关闭之后数据全部丢失。Memcached使用C语言开发,在大多数像Linux、BSD和Solaris等POSIX系统上,只要安装了libevent即可使用。在Windows下,它也有一个可用的非官方版本(http://code.jellycan.com/memcached/)。Memcached的客户端软...

详解MySQL下InnoDB引擎中的Memcached插件【代码】

前些年,HandlerSocket的横空出世让人们眼前一亮,当时我还写了一篇文章介绍了其用法梗概,时至今日,由于种种原因,HandlerSocket并没有真正流行起来,不过庆幸的是MySQL官方受其启发,研发了基于InnoDB的Memcached插件,总算是在MySQL中延续了NoSQL的香火,以前单独架设Memcached服务器不仅浪费了内存,而且还必须自己维护数据的不一致问题,有了Memcached插件,这些问题都不存在了,而且借助MySQL本身的复制功能,我们可以说是变...

memcached的安装教程【图】

在windows系统上安装memcached下载安装软件memcached-1.2.6-win32-bin.zip解压该文件把memcached.exe 拷贝到你的 apache同一目录安装该memcachedcmd{%mem%}>memcached.exe –d install 【安装】  4. 验证是否安装ok  5. 启动memcachedcmd{%mem%}>memcached.exe -d start 【启动】cmd>netstat –an 【查看当前网络服务,如果看到11211端口在监听,说明ok】  6. 可能安装失败的原因分析   6.1 如果你是用...

分布式缓存系统Memcached(九)——状态机之socket连接与派发

上节已经分析到了主线程中监听socket注册事件和工作线程中连接socket注册事件的回调函数都是event_handler,且event_handler的核心部分都是一个有限状态机:drive_machine。因此接下来将对该状态机具体的业务处理进行深入的剖析。memcached将每个socket都封装为一个conn结构体,该结构体包含了比如socket的文件描述符sfd、注册事件event、连接状态结构体conn_states,等等诸多信息字段,其中的状态结构:conn_states中包含了该sock...

Memcached详解【代码】【图】

1. Memcached概述1.1 memcached简介LiveJournel旗下Danga Interactive公司Brad所研发高性能key/value数据缓存1.2 软件系统结构化数据:RDBMS半结构化数据:JSON(Documentation) --> NoSQL非结构化数据:文件系统 分布式:文件系统、存储FUSE1.3 memcached的特点协议简单(纯文本协议)基于libevent事件处理基于内存完成数据存储:基于LRU算法(最近最少使用算法)memcached互不通信的集群:分布式1.4 memcached的配置文件路径:/etc/...

memcached高可用群集部署【代码】

环境部署 服务器角色IP地址需要安装的软件包主缓存服务器192.168.142.130Telnet、libevent、memcached、keepalived、magent从缓存服务器192.168.142.131Telnet、libevent、memcached、keepalived客户端192.168.142.132Telnet第一步:配置memcached主缓存服务器#挂载软件包 mount.cifs //192.168.142.1/memcached /mnt cd /mnt/memcached#创建目录 mkdir /opt/magent #解压安装包 tar zxvf magent-0.5.tar.gz -C /opt/magent/ ...

libmemcached API介绍

有关memcached的C语言接口——libmemcached的介绍:详情参见:http://docs.libmemcached.org/index.html 1. 创建和删除memcached_st结构。#include <libmemcached/memcached.h>memcachd_st ;该结构可以静态创建也可以由memcached_create动态创建。 memcached_st* memcached_create(memcached_st *ptr)ptr不为空时是静态创建,如果ptr为空,那么该函数返回一个memcached_st结构。 void memcached_free(memcached_st *ptr)释...

memcached的分布式算法【图】

memcache的分布式memcached虽然称为“分布式”缓存服务器,但服务器端并没有“分布式”功能。服务器端仅包括内存存储功能,其实现非常简单。至于memcached的分布式,则是完全由客户端程序库实现的。这种分布式是memcached的最大特点。memcache分布式算法1. 余数分散法,就是“根据服务器台数的余数进行分散”。 求得键的整数哈希值,再除以服务器台数,根据其余数来选择服务器。在php客户端中,默认采用该算法,也可以在ini中设置M...

使用memcached实现tomcat集群session共享【代码】【图】

环境centos6.7,下载安装必要的软件:yum -y install epel-release(tomcat7在此源上,tomcat7是现在主流版本)yum -y install tomcat 直接下载tomcat7, yum -y install java-1.7.0-openjdk-devel (tomcat需要运行在java虚拟机上)vim /etc/tomcat/server.xml 修改配置文件 <Host name="web.com" appBase="/data/webapps/"unpackWARs="true" autoDeploy="true"><Context path="" docBase="/data/webapps" reloadable="...

memcached look status【代码】

$echo stats | nc 127.0.0.111211 STAT pid 25030 STAT uptime6859 STAT time1444384843 STAT version 1.2.6 STAT pointer_size 64 STAT rusage_user 7.054927 STAT rusage_system 14.448803 STAT curr_items 1 STAT total_items 2 STAT bytes 1135 STAT curr_connections 5 STAT total_connections 7 STAT connection_structures 6 STAT cmd_get 1387688 STAT cmd_set 2 STAT get_hits 8 STAT get_misses 1387680 STAT evictions ...

memcached 搭建

linux 下memcached 的搭建memcached 下载地址:http://www.danga.com/memcached/dist/libevent 下载地址:http://libevent.org/ [root@bogon soft]# lslibevent-1.4.9-stable.tar.gz memcached-1.2.6.tar.gz[root@bogon soft]# tar xf libevent-1.4.9-stable.tar.gz -C /usr/src/[root@bogon soft]# cd /usr/src/libevent-1.4.9-stable/[root@bogon libevent-1.4.9-stable]# ./configure --prefix=/usr/local/libevent && make &&...

PHP文件缓存与memcached缓存 相比 优缺点是什么呢【总结】

如果不考虑其他任何问题,只比较速度的话,那肯定是mem快,但他们各有优缺点。文件缓存优点:1、由于现在的硬盘都非常大,所有如果是大数据的时候,放硬盘里就比较合适,比如做一个cms网站,网站里有10万篇文章,生成的文件大小总数可能就会很大。2、数据的存放较为安全,由于是硬盘存放,所以在意外掉电的情况下,缓存文件不会丢失。3、易于扩展,如果硬盘不够用,可以更换大硬盘或者添加硬盘,在容量上受的限制很小。文件缓存缺点...

Linux安装Memcached服务【图】

环境:  CentOS 6.4  libevent-1.4.14b-stable  memcached-1.4.21 查看是否安装libevent[root@localhost ~]# rpm -qa |grep libevent 一、下载Memcache服务器端memcache官网:http://memcached.org/libevent官网:http://www.monkey.org/~provos/libevent/Memcache用到了libevent这个库用于Socket的处理,所以必须先安装libevent.下载 二、安装1、分别把memcached和libevent下载下来,放到 /tmp 目录下:[root@localhost /]#...

memcached【图】

memcached是PHP分布式管理的一个服务器软件,以windows服务方式运行安装时:E:\AppServ\mem> memcached.exe -d install回车后后出现找不到Msvcp71.dll,下载后放到c:/windwos/system32或c:/windwos/system64中以管理员身份运行cmd,安装即可参数:-p 监听的端口-l 连接的IP地址, 默认是本机-d start 启动memcached服务-d restart 重起memcached服务-d stop|shutdown 关闭正在运行的memcached服务-d install 安装memcached服务 www....

memcached在windows安装【代码】

下载地址:http://s3.amazonaws.com/downloads.northscale.com/memcached-win64-1.4.4-14.ziphttp://s3.amazonaws.com/downloads.northscale.com/memcached-win32-1.4.4-14.zip 1. 在终端(也即cmd命令界面)下输入 ‘c:\memcached\memcached.exe -d install’ 安装2. 再输入: ‘c:\memcached\memcached.exe -d start’ 启动。NOTE: 以后memcached将作为windows的一个服务每次开机时自动启动。这样服务器端已经安装完毕了。 That i...

基于Java IO 序列化方案的memcached-session-manager多memcached节点配置

通过nginx将请求负载均衡,而后台的几组tomcat的session通过memcached(non-sticky模式)进行统一管理,这几组tomcat部署的web app是同一应用,session的变化要统一,项目组最后采用memcached-session-manager来对tomcat的session进行管理。 session的序列化方案官方推荐的有4种java serializationmsm-kryo-serializermsm-javolution-serializermsm-xstream-serializer原文:http://www.cnblogs.com/wyh825/p/5667393.html

Memcached、Redis OR Tair【代码】【图】

一、前言  非关系型数据库(NoSQL = Not Only SQL)的产品非常多,常见的有Memcached、Redis、MongoDB等优秀开源项目,相关概念和资料网上也非常丰富,不再重复描述,本文主要引入Memcached和Redis与淘宝开源Tair分布式存储进行对比测试,由于各自适用场景不同,且每个产品的可配置参数繁多,涉及缓存策略、分布算法、序列化方式、数据压缩技术、通信方式、并发、超时等诸多方面因素,都会对测试结果产生影响,单纯的性能对比存在...

Memcached缓存集群_创建多实例【代码】【图】

1.首先在在服务端增加两个缓存实例,如192.168.120.101:11214和192.168.120.102:11215,空间分配可按实际需求定。2.JAVA客户端导入下载地址:http://files.cnblogs.com/files/zhougaojun/MemClient.zip3.缓存集群配置:memcached11212.xml<?xml version="1.0" encoding="UTF-8"?><memcached><client name="mclient0" compressEnable="true" defaultEncoding="UTF-8" socketpool="pool0"><errorHandler>com.alisoft.xplatform.asf.ca...

Linux c 开发 - Memcached源码分析之命令解析(2)

前言从我们上一章《Linux c 开发 - Memcached源码分析之基于Libevent的网络模型》我们基本了解了Memcached的网络模型。这一章节,我们需要详细解读Memcached的命令解析。我们回顾上一章发现Memcached会分成主线程和N个工作线程。主线程主要用于监听accpet客户端的Socket连接,而工作线程主要用于接管具体的客户端连接。主线程和工作线程之间主要通过基于Libevent的pipe的读写事件来监听,当有连接练上来的时候,主线程会将连接交个...

Redis为何要比Memcached的Bigger高

GitHub版本地址: https://github.com/cncounter/translation/blob/master/tiemao_2014/Redis_beats_Memcached/Redis_beats_Memcached.mdRedis是新兴的通用存储系统,而Memcached仍有其适用领域Memcached还是Redis? 在现代高性能Web应用中这一直是个争论不休的话题。 在基于关系型数据库的Web应用需要提高性能时,使用缓存是绝大多数架构师的第一选择,自然,Memcached和Redis通常是优先选择。共同特征都是 key-value 形式的内存数据库...

基于memcached中命令分析函数tokenize_command改造的split函数【代码】

今天使用C重构php代码,需要手写一个split函数,于是就模仿memcached中获取用户命令的函数static size_t tokenize_command(char *command, token_t *tokens, const size_t max_tokens)写了一个简单的split函数:char** split(char pattern,char *str) {if(!pattern || (strlen(str) <= 0)) return NULL;char **arr,**p,*e,*s;int i,len = strlen(str);arr = (char **)malloc(sizeof(char)*len);p = arr;e = s = str;for(i = 0;i<le...