cache

阅读 / 问答 / 标签

cache cache怎么读

Cache-Cache是法国博马努瓦(Beaumanoir)集团旗下的一个女装品牌

cachecache是什么档次价格

Cachecache是一家法国时尚品牌,价格档次较为中等。这个品牌的定位是为年轻女性提供时尚、舒适、实用的服饰和配件,价格相对于一些高端品牌来说较为亲民,同时质量和设计也备受消费者好评。具体价格会因地区、款式和材质等因素而异,建议您在购买前仔细了解所需商品的具体价格。

cachecache中文怎么读

1、中文音译也就是读音:咔吃咔吃Cache-Cache是法国“博马努瓦集团”旗下定于18到30岁范围年轻女性的国际品牌。法语cache cache是英语hide and seek即中文捉迷藏的意思,由此可了解这家的衣服带给年轻女性无限惊喜,它就是自信与柔美、开放和前卫的代名词。每季度设计师都会根据时尚风向标定义不同风格的主题 ,同时为单品注入个性元素和原创精神。博马努瓦集团在全球范围内拥有超过1000家店铺,自2005年10月Cache-Cache品牌正式进驻中国以来。Cache-Cache品牌在中国发展的非常迅速,截止2007年12月,店铺数量已经增加至100家,Cache-Cache坚持法国时尚风格和高性价比以吸引更多的顾客,在法国,Cache-Cache拥有超过20年的加盟经验。

cachecache是什么牌子

Cache-Cache。cachecache的品牌为Cache-Cache,Cache-Cache这个牌子是法国波马努瓦集团旗下的品牌,为18岁到30岁范围年轻女性服饰打造的国际品牌。Cache-Cache是2005年入驻中国,坚持以法国时尚风格和高性价比吸引顾客,在法语当中Cache-Cache是捉迷藏的意思。

cache cache是什么牌子

Cache-Cache品牌于1985年诞生于法国西海岸一个历史悠久的美丽海滨城市---圣马罗,并于2005年开始全球化,第一个进驻的国家就是中国,如今,Cache-Cache的足迹已行遍全球。Cache-Cache(法译中:捉迷藏),象征着快乐与蓬勃的生命力,品牌创立者希望年轻的女性们能像玩捉迷藏一样寻长生活中的乐趣,永远拥有一颗年轻且充满活力的心。2005年,Cache-Cache 开始了全球化战略,中国是Cache-Cache 全球化发展的第一站。短短几年间,Cache-Cache 从仅有的上海一家门店迅速发展到了如今遍布全中国超过130个大小城市800余家门店。扩展资料:Cache-Cache的品牌定位:Cache-Cache目标是让女性能够尽享时尚混搭的乐趣无穷,体会“展现自我”的愉悦,让风格独具个性。所以, Cache-Cache提供的是时尚且玩趣十足的,精致却又可轻松购买的产品。Cache-Cache女郎擅长以捉迷藏的心态对待时尚,寻找快乐,寻找独一无二的自己。她们喜欢充分的展现自我,尝试不同风格的服饰,对她们而言,时尚不仅仅是一场游戏,同时也是寻找自我的历程。Cache-Cache就是一个为了满足这些需要而应运而生的品牌。参考资料:百度百科:Cache-Cache

cachecache这个牌子怎么读啊?

>>关于cache cache必看:http://jsir.vjhy.1111.bdzhu.cn/1111?kspo.vptk.yeia建议看看最新评论,以防买到假货!...以其风格多变的时尚,平易近人的价格让越来越多的女孩们随心变换出属于自己的“时尚造型”。一夜清风细雨,晨起,一丝丝凉意沁心,榆梅的叶子也渐渐变黄了,一枚、两枚……随风轻轻落了下来。尚有露珠停留在月季的花瓣上,给寂凉的季节带来些许诗意。时光和红尘总是相伴而行,潇山风里,红尘画外,有梦的地方,便会有爱。总是在芦花似雪的地方等你,那一泓碧水,映衬着我的身影

cache cache是什么牌子?怎么读?

中文音译:咔吃咔吃。Cache-Cache是法国“博马努瓦集团”旗下定于18到30岁范围年轻女性的国际品牌。法语“cache cache”是英文“hide and seek”的意思,译为"躲一躲",意译为“捉迷藏”,中文音译为“捉衣藏”。品牌名称由此而来。相关信息:Cache-Cache植根于欧洲大陆,1985年第一家门店在法国开业,从此开启了Cache-Cache的时尚之旅。2005年Cache-Cache开始全球之旅,第一个进驻的国家就是中国,如今Cache-Cache的足迹已行遍全球,法国,中国,西班牙,意大利,希腊,马来西亚,泰国。2013年5月31日,欧盟委员会非食品类快速预警系统对中国产“Cache-Cache”牌手提包发出消费者警告。

cache`cache 是什么牌子,哪地方生产?牌子属于什么档次

Cache-Cache是法国博马努瓦(Beaumanoir)集团旗下的一个女装品牌。法国。Cache-Cache入驻中国两年,现在上海有旗舰店。中档。扩展资料:Cache-Cache是法国"博马努瓦集团"旗下定于18到30岁范围年轻女性的国际品牌。中文音译:咔吃咔吃法语"cache cache"是英文"hide and seek"的意思,译为"躲一躲",意译为"捉迷藏",中文音译为"捉衣藏"。品牌名称由此而来。Cache-Cache都会关注时尚潮流的发展趋势,力图设计出时尚玩趣十足的,精致却又可轻松购买的产品。设计团队每季度都会根据时尚风向标定义不同的风格主题,并在把握主题风格的同时,为单品注入个性元素及原创精神。参考资料:cache-cache - 国际品牌

cache cache这个牌子中文怎么念

这个官方是没有中文翻译的,因为翻译过来会比较难听,你可以试着自己翻译啊,比如“佳奇”

在大连高新区cachecache店里听到的一首英文歌 男的唱的 高潮部分是咦咦咦咦咦咦咦咦咦咦 中

Dusk Till Dawn - ZAYN / Sia

微擎怎么开启php扩展memcache

$mem = new Memcache;$mem->connect("127.0.0.1", 11211);$mem->set("key", "This is a test!", 0, 60); 设置时间$val = $mem->get("key");echo $val."1111111";//保存数据$mem->set("key1", "This is first value", 0, 60);$val = $mem->get("key1");echo "Get key1 value: " . $val ."<br />";//替换数据$mem->replace("key1", "This is replace value", 0, 60);$val = $mem->get("key1");echo "Get key1 value: " . $val . "<br />";//保存数组$arr = array("aaa", "bbb", "ccc", "ddd");$mem->set("key2", $arr, 0, 60);$val2 = $mem->get("key2");echo "Get key2 value: ";print_r($val2);echo "<br />";//删除数据$mem->delete("key1");$val = $mem->get("key1");echo "Get key1 value: " . $val . "<br />";//清除所有数据$mem->flush();$val2 = $mem->get("key2");echo "Get key2 value: ";print_r($val2);echo "<br />";//关闭连接$mem->close();

varnish cache server什么意思

varnish英 ["vɑu02d0nu026au0283] 美 ["vɑrnu026au0283] n. 亮光漆,清漆;虚饰;光泽面vt. 装饰,粉饰;在…上涂清漆;使…有光泽

wow里的Cache/WDB是什么文件?

插件造成的临时文件 可以删除

如何手动生成extensions.kextcache

  在terminal下输入命令man kextcache可以看到详细帮助。文档中建议使用touch命令来升级mkext,或者使用kextcache中的参数,-e用于升级启动用的mkext,-mkext2参数用于雪豹。

AD14镜像里的Extensions和Altium Cache文件夹做什么用的

关注这个问题

谁能告诉我这首是什么歌? http://cache.tv.qq.com/qqplayerout.swf?vid=6Zp8JDy5cl9

虽然不知道是什么哥 你可以到QQ旋舞里找一下

安卓手机如何打开.thumbcache_idx_001文件

1、后缀.001的文件其实是压缩文件的分卷。2、首先打开手机文件管理,点击更多选项。3、然后进入压缩文件选项,点击.001文件。4、最后选择解压位置,解压后就能正常查看了。

gallery_disk_cache文件夹可以删除吗

可以。gallery_disk_cache文件夹可以删除,电脑中的cache文件是电脑临时缓存文件,所以带有cache的文件都是和缓存文件相关的,并不是实际在使用的文件。

015Geoserver中使用GeoWebCache(GWC))

在geoserver1.7版本之后,geoserver本身集成了GeoWebCache模块。本文介绍如何使用。 GeoWebCache(GWC)是一个采用Java实现用于缓存WMS(Web Map Service)Tile的开源项目。当地图客户端请求一张新地图和Tile时,GeoWebCache将拦截这些调用然后返回缓存过的Tiles。如果找不到缓存再调用服务器上的Tiles,从而提高地图展示的速度。实现更好的用户体验。 a.GWC支持多种来源的瓦片,比如ArcGIS的瓦片。 (需要独立安装,集成的GeoWebCache不支持) b.GWC支持多种请求,比如WMS、WMS-C、WMTS、TMS、Googl Maps KML和Virtual Earth。 c.GWC支持在第一次请求地图某范围时,将此范围内的地图按照配置的信息进行切图缓存。第二次同样请求此范围的地图时,直接读取缓存瓦片进行加速显示。此功能类似于AGS的动态出图。 d.GWC同时也支持预先将瓦片按照配置信息切完,地图加载时直接读取瓦片。此功能类似于AGS的瓦片缓存出图。 在GeoServer安装目录中找到web.xml文件,具体在目录D:Program Files (x86)GeoServer 2.11.3webappsgeoserverWEB-INF下 点击list选项,可以看到能够进行切图的服务 如果想实现类似于AGS中预先将所有瓦片全部进行切图的效果,可以点击要进行切图的图层下的Seed this layer: image 点击Submit后,开始进行预切图,在页面中可以看到切图进程: 完成之后可以在缓存路径下看到切片内容。 geoserver可以实现动态缓存切片,具体是怎么回事呢? 当我们的WMS请求为一般性url,是不能自动开启瓦片缓存服务的,比如通过Layer Preview访问: http://localhost:8080/geoserver/QQQQ/wms?service=WMS&version=1.1.0&request=GetMap&layers=QQQQ%3AQWQWRRAAAA&bbox=1.3206822745846782E7%2C3752719.2737657893%2C1.3207662961846782E7%2C3753671.107765789&width=677&height=768&srs=EPSG%3A3857&format=application/openlayers 而当我们在Tile Layers中访问时,是可以动态缓存的。 http://localhost:8080/geoserver/gwc/demo/QQQQ:QWQWRRAAAA?gridSet=EPSG:4326&format=image/png 当我们在geoserver中发布好服务后,是可以选择是否预先静态切片的。如果我们预先静态切片了。切片内容会存放在我们配置的路径下。通过Tile Layers来访问,访问的是一个个切片。如果我们没有预先切片,我们也可以通过Tile Layers来访问,这时也是一个个切片,但这个切片是动态生成的。生成后也会存放在我们配置的路径下。但要注意一点,这种访问,第一次是比较慢的。 点击Gridsets选项创建切图方案,点击Create a new gridset可以创建新的切图方案,也可以点击现成的切图方案右侧的Create a copy复制一个方案,并在此基础上进行修改 在切图级别设置功能区可以添加删除一些切图等级,点击保存保存切图方案 点击保存之后,在gwc目录下可以看见新增的一个后缀为.bak的配置文件,就是切图方案的配置文件

geowebcachesqlite切成一个文件

部署过程:1、新建一个空文件夹(arcgis 名字随便起),并配置到geowebcache中的web.xml中添加如下标签 <context-param> <param-name>GEOWEBCACHE_CACHE_DIR</param-name> <param-value>E:/tile/arcgis</param-value> </context-param>param-value是你所建的文件夹2、启动tomcat,在启动tomcat 之后我们在arcgis文件夹中可以看到在这里插入图片描述上面四个文件,Layers文件是我存储arcgistile图层信息创建,不是tomcat启动后生成的。3、修改arcgis文件夹中,geowebcache.xml添加如下代码代码: <!-- tilingScheme:具体某个瓦片的配置文件的地址 tileCachePath:具体瓦片图片的文件夹地址--> <arcgisLayer> <name>zhengzhou</name> <tilingScheme>E:\tile\arcgis\Layers\conf.xml</tilingScheme> <tileCachePath>E:\tile\arcgisLayers\_alllayers</tileCachePath> <hexZoom>false</hexZoom> </arcgisLayer>在这里插入图片描述4、geowebcache-core-context需要加 <bean id="gwcArcGIGridsetConfigutation" class="org.geowebcache.arcgis.layer.ArcGISCacheGridsetConfiguration"/> 5、启动tomcat就可以,注由于版本问题不一定能预览,但是不妨碍加载数据<!DOCTYPE html><html><head> <meta charset="utf-8" /> <title>加载离线切片</title> <link href="../script/ol4/ol.css" rel="stylesheet" /> <script src="../script/ol4/ol.js"></script> <style > #map { height: 100vh; } </style></head><body> <div id="map"></div> <script> var format = "image/png"; var tiled = new ol.layer.Tile({ //visible: false, source: new ol.source.TileWMS({ url: "http://localhost:8888/geowebcache/service/wms", params: { "FORMAT": format, "VERSION": "1.1.1", tiled: true, "LAYERS": "zhengzhou", "exceptions": "application/vnd.ogc.se_inimage", } }) }); var view = new ol.View({ projection:"EPSG:4326", zoom: 13, center: [113.33, 34.01] }); var map = new ol.Map({ target: "map", layers: [tiled], view:view }); </script></body></html>注意:1、首先这个切片肯定偏移,这里加载的高德切片,关于切片纠偏,一些收费的切片下载器,会自动处理,这里只能自己处理,博主还没有解决方案,有了补上。2、按照原博主部署切片,要用geowebcache1.8版本,如果高版本,无法预览,但是不影响OL或者leaflet加载3、使用范围有限4、geowebcache-core-context需要加

计算机存储系统中Memory,Storage,Cache有什么区别?

Memory一般指主存,如RAMStorage一般指辅助存储器(如硬盘、NAS、云存储)或数据库Cache是指低速设备与高速设备之间(如CPU与内存,硬盘与内存)存在的小容量高速存储器,通过算法预测将要用到的数据,以提高访问性能。

谈谈redis,memcache,mongodb的区别和具体应用场景

从以下几个维度,对 redis、memcache、mongoDB 做了对比。1、性能都比较高,性能对我们来说应该都不是瓶颈。总体来讲,TPS 方面 redis 和 memcache 差不多,要大于 mongodb。2、操作的便利性memcache 数据结构单一。(key-value)redis 丰富一些,数据操作方面,redis 更好一些,较少的网络 IO 次数,同时还提供 list,set,hash 等数据结构的存储。mongodb 支持丰富的数据表达,索引,最类似关系型数据库,支持的查询语言非常丰富。3、内存空间的大小和数据量的大小redis 在 2.0 版本后增加了自己的 VM 特性,突破物理内存的限制;可以对 key value 设置过期时间(类似 memcache)memcache 可以修改最大可用内存,采用 LRU 算法。Memcached 代理软件 magent,比如建立10 台 4G 的 Memcache 集群,就相当于有了 40G。 magent -s 10.1.2.1 -s 10.1.2.2:11211 -b10.1.2.3:14000 mongoDB 适合大数据量的存储,依赖操作系统 VM 做内存管理,吃内存也比较厉害,服务不要和别的服务在一起。4、可用性(单点问题)对于单点问题,redis,依赖客户端来实现分布式读写;主从复制时,每次从节点重新连接主节点都要依赖整个快照,无增量复制,因性能和效率问题,所以单点问题比较复杂;不支持自动 sharding,需要依赖程序设定一致 hash 机制。一种替代方案是,不用 redis 本身的复制机制,采用自己做主动复制(多份存储),或者改成增量复制的方式(需要自己实现),一致性问题和性能的权衡Memcache 本身没有数据冗余机制,也没必要;对于故障预防,采用依赖成熟的 hash 或者环状的算法,解决单点故障引起的抖动问题。mongoDB 支持 master-slave,replicaset(内部采用 paxos 选举算法,自动故障恢复),auto sharding 机制,对客户端屏蔽了故障转移和切分机制。5、可靠性(持久化)对于数据持久化和数据恢复,redis 支持(快照、AOF):依赖快照进行持久化,aof 增强了可靠性的同时,对性能有所影响memcache 不支持,通常用在做缓存,提升性能;MongoDB 从 1.8 版本开始采用 binlog 方式支持持久化的可靠性6、数据一致性(事务支持)Memcache 在并发场景下,用 cas 保证一致性redis 事务支持比较弱,只能保证事务中的每个操作连续执行mongoDB 不支持事务7、数据分析mongoDB 内置了数据分析的功能(mapreduce),其他不支持8、应用场景redis:数据量较小的更性能操作和运算上memcache:用于在动态系统中减少数据库负载,提升性能;做缓存,提高性能(适合读多写少,对于数据量比较大,可以采用 sharding)MongoDB:主要解决海量数据的访问效率问题。表格比较:memcache redis 类型 内存数据库 内存数据库数据类型 在定义 value 时就要固定数据类型 不需要有字符串,链表,集 合和有序集合虚拟内存 不支持 支持过期策略 支持 支持分布式 magent master-slave,一主一从或一主多从存储数据安全 不支持 使用 save 存储到 dump.rdb 中灾难恢复 不支持 append only file(aof)用于数据恢复性能1、类型——memcache 和 redis 都是将数据存放在内存,所以是内存数据库。当然,memcache 也可用于缓存其他东西,例如图片等等。2、 数据类型——Memcache 在添加数据时就要指定数据的字节长度,而 redis 不需要。3、 虚拟内存——当物理内存用完时,可以将一些很久没用到的 value 交换到磁盘。4、 过期策略——memcache 在 set 时就指定,例如 set key1 0 0 8,即永不过期。Redis 可以通过例如 expire 设定,例如 expire name 10。5、 分布式——设定 memcache 集群,利用 magent 做一主多从;redis 可以做一主多从。都可以一主一从。6、 存储数据安全——memcache 断电就断了,数据没了;redis 可以定期 save 到磁盘。7、 灾难恢复——memcache 同上,redis 丢了后可以通过 aof 恢复。Memecache 端口 11211yum -y install memcachedyum -y install php-pecl-memcache/etc/init.d/memcached start memcached -d -p 11211 -u memcached -m 64 -c 1024 -P /var/run/memcached/memcached.pid-d 启动一个守护进程-p 端口-m 分配的内存是 M-c 最大运行并发数-P memcache 的 pid//0 压缩(是否 MEMCACHE_COMPRESSED) 30 秒失效时间//delete 5 是 timeout <?php$memcache = new Memcache; $memcache -> connect("127.0.0.1", 11211); $memcache -> set("name","yang",0,30);if(!$memcache->add("name","susan",0, 30)) {//echo "susan is exist"; }$memcache -> replace("name", "lion", 0, 300); echo $memcache -> get("name");//$memcache -> delete("name", 5);printf "stats " | nc 127.0.0.1 11211telnet localhost 11211 stats quit 退出Redis 的配置文件 端口 6379/etc/redis.conf 启动 Redisredis-server /etc/redis.conf 插入一个值redis-cli set test "phper.yang" 获取键值redis-cli get test 关闭 Redisredis-cli shutdown 关闭所有redis-cli -p 6379 shutdown <?php$redis=new Redis(); $redis->connect("127.0.0.1",6379); $redis->set("test", "Hello World"); echo $redis->get("test"); Mongodbapt-get install mongo mongo 可以进入 shell 命令行pecl install mongo Mongodb 类似 phpmyadmin 操作平台 RockMongo

tomcat使用memcache做session共享但是session经常会变化

看下是不是这个原因tomcat在同一个机器上,需要设置jvmRoute,并且保证在同一台机器上的唯一,如:<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">另外:memcached成功后的sessionid好像不是你那个样子的吧 memcached会加个后缀吧This is (TOMCAT1), SESSION ID:AD71827B930D306D824BBEB276041E03-n1.tomcat2

Memcache 连接超时 什么原因

网络有点问题了。

php ci框架中怎么把session存放到memcached中

在PHP的ini配置文件里面提供了[Session]相关配置,可以支持将信息存到文件或memcached服务器里面。由配置项session.save_handler = memcached决定。该session数据并不需要持久化,且为了提升网站性能,会选择将session信息缓存到memcached里面。

memcached 占用内存一般用多少啊 社区 Ruby China

memcached 占用内存一般用多少啊一般先设 256M 或 500M 看服务器内存情况,过段时间看都满了,而内存也足的话,就再提高一些。如果我的回答没帮助到您,请继续追问。。

memcached 占用内存一般用多少啊 社区 Ruby China

memcached 占用内存一般用多少啊一般先设 256M 或 500M 看服务器内存情况,过段时间看都满了,而内存也足的话,就再提高一些。如果我的回答没帮助到您,请继续追问。。

使用memcached后web.xml里配置的session-timeout不起作用了

检查下你的用户登录状态判定是否有读取memcached的缓存;确定下登录信息是存储在session还是cookie;确认下配置的位置是否正确,留意下你主项目是用的nginx?还是tomcat?项目在哪里,配置应该也在那个server下

阿里云linux服务器怎么配置memcache

一、什么是memcachememcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等二、libevent介绍libevent是一个事件触发的网络库,适用于windows、linux、bsd等多种平台,内部使用select、epoll、kqueue等系统调用管理事件机制。著名的用于apache的php缓存库memcached据说也是libevent based,而且libevent在使用上可以做到跨平台三、准备工作下载:memcache:http://www.danga.com/memcached/dist/memcached-1.2.2.tar.gz下载:http://www.monkey.org/~provos/libevent-1.3.tar.gz四、安装过程1、卸载低版本的libevent#ls -al /usr/lib |grep libeventlrwxrwxrwx 1 root root libevent-1.1a.so.1 -> libevent-1.1a.so.1.0.2-rwxr-xr-x 1 root root libevent-1.1a.so.1.0.2 查看当前libevent版本,如果版本低于1.3,建议先卸载#rpm -e libevent --nodeps卸载libevent,#ls -al /usr/lib |grep libevent再次查看,卸载成功2、安装libevent#tar zxvf libevent-1.3.tar.gz解压libevent#cd libevent-1.3#./configure --prefix=/usr#make#make install配置安装libevent到/usr目录下#ls -al /usr/lib |grep libeventlrwxrwxrwx 1 root root 21 11?? 12 17:38 libevent-1.2.so.1 -> libevent-1.2.so.1.0.3-rwxr-xr-x 1 root root 263546 11?? 12 17:38 libevent-1.2.so.1.0.3-rw-r–r– 1 root root 454156 11?? 12 17:38 libevent.a-rwxr-xr-x 1 root root 811 11?? 12 17:38 libevent.lalrwxrwxrwx 1 root root 21 11?? 12 17:38 libevent.so -> libevent-1.2.so.1.0.3再此查看,安装libevent1.3版本成功3、安装memcached,同时需要安装中指定libevent的安装位置#tar zxvf memcached-1.2.6.tar.gz#cd memcached-1.2.6解压进入mamcache目录#./configure --with-libevent=/usr/#make#make install安装完成后会把memcached放到 /usr/local/bin/memcached#ls -al /usr/local/bin/memcached-rwxr-xr-x 1 root root 137986 11?? 12 17:39 /usr/local/bin/memcached查看memcache安装成功五、memcached的基本设置#/usr/local/bin/memcached -d -m 2000 -u root -p 12000 -c 256 -P ./memcached.pid1.启动Memcache的服务器端:# /usr/local/bin/memcached -d -m 10 -u root -l 192.168.0.200 -p 12000 -c 256 -P /tmp/memcached.pid-d选项是启动一个守护进程,-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,-u是运行Memcache的用户,我这里是root,-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.0.200,-p是设置Memcache监听的端口,我这里设置了12000,最好是1024以上的端口,-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid,也可以启动多个守护进程,不过端口不能重复。六:客户端测试1、下载java_memcached-release_2.5.1.zip2、创建一个java project,将java_memcached-release_2.5.1.jar包引用。3、在main函数中,创建2个类,如下 package com.danga.MemCached;import java.io.Serializable; import com.danga.MemCached.MemCachedClient; import com.danga.MemCached.SockIOPool; public class TestObj implements Serializable { private static final long serialVersionUID = 1L; private String name; private Long id; public TestObj() { } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String toString() { return "id:"+this.getId()+";name:"+this.getName(); } }package com.danga.MemCached;import java.io.Serializable; import com.danga.MemCached.MemCachedClient; import com.danga.MemCached.SockIOPool; public class MemcacheTest{ //create a static client as most installs only need // a single instance protected static MemCachedClient mcc = new MemCachedClient(); // set up connection pool once at class load static { // server list and weights String[] servers ={"192.168.0.226:12000"}; Integer[] weights = { 3 }; // grab an instance of our connection pool SockIOPool pool = SockIOPool.getInstance(); // set the servers and the weights pool.setServers( servers ); pool.setWeights( weights ); // set some basic pool settings // 5 initial, 5 min, and 250 max conns // and set the max idle time for a conn // to 6 hours pool.setInitConn( 5 ); pool.setMinConn( 5 ); pool.setMaxConn( 250 ); pool.setMaxIdle( 1000 * 60 * 60 * 6 ); // set the sleep for the maint thread // it will wake up every x seconds and // maintain the pool size pool.setMaintSleep( 30 ); // set some TCP settings // disable nagle // set the read timeout to 3 secs // and don"t set a connect timeout pool.setNagle( false ); pool.setSocketTO( 3000 ); pool.setSocketConnectTO( 0 ); // initialize the connection pool pool.initialize(); // lets set some compression on for the client // compress anything larger than 64k mcc.setCompressEnable( true ); mcc.setCompressThreshold( 64 * 1024 ); } public static void bulidCache() { mcc.set( "foo", "This is a test String" ); TestObj obj = new TestObj(); obj.setId(new Long(1)); obj.setName("test"); mcc.set("testObj", obj); } // from here on down, you can call any of the client calls public static void output() { // String bar = (String) mcc.get( "foo" ); System.out.println(bar); TestObj obj = (TestObj)mcc.get("testObj"); System.out.println("ID : "+obj.getId()+" "+"Name : "+obj.getName()); } public static void main(String[] args) { bulidCache(); output(); } } 4、运行结果This is a test StringID : 1Name : testmemcache配置成功~~~~~~~~~~~~~~~~~~~~

memcache 的 value 类型有哪些

Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。Memcache是danga的一个项目,最早是LiveJournal 服务的,最初为了加速 LiveJournal 访问速度而开发的,后来被很多大型的网站采用。Memcached是以守护程序(监听)方式运行于一个或多个服务器中,随时会接收客户端的连接和操作。在 Memcached中可以保存的item数据量是没有限制的,只要内存足够 。  Memcached单进程在32位系统中最大使用内存为2G,若在64位系统则没有限制,这是由于32位系统限制单进程最多可使用2G内存,要使用更多内存,可以分多个端口开启多个Memcached进程 ,  最大30天的数据过期时间,设置为永久的也会在这个时间过期,常量REALTIME_MAXDELTA   60*60*24*30控制   最大键长为250字节,大于该长度无法存储,常量KEY_MAX_LENGTH 250控制   单个item最大数据是1MB,超过1MB数据不予存储,常量POWER_BLOCK 1048576进行控制,   它是默认的slab大小   最大同时连接数是200,通过 conn_init()中的freetotal进行控制,最大软连接数是1024,通过   settings.maxconns=1024 进行控制   跟空间占用相关的参数:settings.factor=1.25, settings.chunk_size=48, 影响slab的数据占用和步进方式memcached是一种无阻塞的socket通信方式服务,基于libevent库,由于无阻塞通信,对内存读写速度非常之快。  memcached分服务器端和客户端,可以配置多个服务器端和客户端,应用于分布式的服务非常广泛。  memcached作为小规模的数据分布式平台是十分有效果的。memcached是键值一一对应,key默认最大不能超过128个字 节,value默认大小是1M,也就是一个slabs,如果要存2M的值(连续的),不能用两个slabs,因为两个slabs不是连续的,无法在内存中 存储,故需要修改slabs的大小,多个key和value进行存储时,即使这个slabs没有利用完,那么也不会存放别的数据。目前memcached支持C/C++、Perl、PHP、Python、Ruby、Java、C#、Postgres、Chicken Scheme、Lua、MySQL和Protocol等语言客户端。Memcahe的客户端,要先了解Memcache协议的交互,这样才能开发自己的客户端,这里简单的分析一下Memcache的协议。(更详细的协议内容请在Memcache服务器端的源码的 doc/protocol.txt文件中)Memcache既支持TCP协议,也支持UDP协议,不过我们这里是以TCP协议的协议作为主要考虑对象,想了解UDP协议的过程,请参考 doc/protocol.txt文件。[ 错误指令]Memcache的协议的错误部分主要是三个错误提示指令:普通错误信息,比如指令错误之类的ERROR客户端错误CLIENT_ERROR <错误信息>服务器端错误SERVER_ERROR <错误信息>[ 数据保存指令]数据保存是基本的功能,就是客户端通过命令把数据返回过来,服务器端接收后进行处理。指令格式:<命令> <键> <标记> <有效期> <数据长度><命令> - command name主要是三个储存数据的三个命令, set, add, replaceset 命令是保存一个叫做key的数据到服务器上add 命令是添加一个数据到服务器,但是服务器必须保证这个key是不存在的,能够保证数据不会被覆盖replace 命令是替换一个已经存在的数据,如果数据不存在,就是类似set功能

Java 开发 2.0: 现实世界中的 Redis :Redis 如何在包含大量读取操作的应用程序中战胜 memcached

此外,我还讨论过较为常见的基于服务器的数据存储,比如 MongoDB 和 CouchDB。每个数据存储都有其优势和劣势,特别是当应用于特定领域时。 本期的 Java 开发 2.0 关注的是 Redis,一种轻量级键值对数据存储。多数 NoSQL 实现本质上都是键值对,但是 Redis 支持非常丰富的值集,其中包括字符串、列表、集以及散列。因此,Redis 通常被称为数据结构服务器。Redis 也以异常快速而闻名,这使得它成为某一特定类型使用案例的最优选择。 当我们想要了解一种新事物时,将其同熟知的事物进行比较可能会有所帮助,因此,我们将通过对比其与 memcached 的相似性以开启 Redis 探索之旅。接着我们将介绍 Redis 的主要功能,这些功能可以使其在某些应用场景可以胜过 memcached。最后我将向您展示如何将 Redis 作为一个传统数据存储用于模型对象。Redis 和 memcached Memcached 是一个众所周知的内存对象缓存系统,通过将目标键和值导入内存缓存运行。因此,Memcached 能回避读取磁盘时发生的 I/O 成本问题。在 Web 应用程序和数据库之间粘贴 memcached 时会产生更好的读取性能。因此,对于那些需要快速数据查询的应用程序,Memcached 是一个不错的选择。其中的一个例子为股票查询服务,需要另外访问数据库获取相对静态数据,如股票名称或价格信息。 MemcacheDB 将Redis 与 memcached 相比较并不公平,它与 MemcacheDB 相比要好的多,MemcacheDB 是一个分布式键值对存储系统,专为数据持久化而设计。MemcacheDB 与 Redis 较为相似,其新增优势可以使其轻松地与 memcached 实现的客户端进行通信。 但是memcached 也有其局限性,其中一个事实就是它所有的值均是简单的字符串。Redis 作为 memcached 的替代者,支持更加丰富的功能集。一些基准 (benchmarks) 也表明 Redis 的速度要比 memcached 快很多。Redis 提供的丰富数据类型使其可以在内存中存储更为复杂的数据,这是使用 memcached 无法实现的。同 memcached 不一样,Redis 可以持久化其数据。 Redis 解决了一个重大的缓存问题,而其丰富的功能集又为其找到了其他用途。由于 Redis 能够在磁盘上存储数据以及跨节点复制数据,因而可以作为数据仓库用于传统数据模式(也就是说,您可以使用 Redis,就像使用 RDBMS 一样)。Redis 还经常被用作队列系统。在本用例中,Redis 是备份和工作队列持久化存储(利用 Redis 的列表类型)的基础。GitHub 是以此种方法使用 Redis 的大规模基础架构示例准备好 Redis,立即开始! 要开始使用 Redis,您需要访问它,可以通过本地安装或者托管供应商来实现访问。如果您使用的 MAC,安装过程可能就不那么简单。如果您使用的是 Windows03,您需要先安装 Cygwin。如果您正在寻找一个托管供应商,Redis4You 拥有一个免费计划。不管您以何种方式访问,您都能够根据本文下列示例进行操作,但是我需要指出的是,使用一个托管供应商进行缓存可能并不是很好的缓存解决方案,因为网络延迟可能会抵消任何性能优势。 您需要通过命令与 Redis 进行交互,这就是说,这里没有 SQL 类查询语言。使用 Redis 工作非常类似于使用传统 map 数据结构,即所有的一切都拥有一个键和一个值,每个值都有多种与之关联的数据类型。每个数据类型都有其自己的命令集。例如,如果您计划使用简单数据类型,比如某种缓存模式,您可以使用命令 set 和 get。 您可以通过命令行 shell 与一个 Reids 实例进行交互。还有多个客户端实现,可以以编程方式与 Redis 进行交互。清单 1 展示了一个使用基础命令的简单命令行 shell 交互:清单1. 使用基础的 Redis 命令 redis 127.0.0.1:6379> set page registration OK redis 127.0.0.1:6379> keys * 1) "foo" 2) "page" redis 127.0.0.1:6379> get page "registration" 在这里,我通过 set 命令将键 "page" 与值 "registration" 相关联。接着,我发出 keys 命令(后缀 * 表示我想看到所有可用的实例键。keys 命令显示有一个 page 值和一个 foo,我可以通过 get 命令检索到与一个键关联的值。请记住,使用 get 检索到的值只能是一个字符串。如果一个键的值是一个列表,那么您必须使用一个特定列表的命令来检索列表元素。(注意,有可以查询值类型的命令)。Java 与 Jedis 集成 对于那些想要将 Redis 集成到 Java 应用程序的编程人员,Redis 团队建议使用一个名为 Jedis 的项目,Jedis 是一个轻量级库,可以将本地 Redis 命令映射到 Java 方法。例如 Jedis 可以获取并设置简单值,如清单 2 所示:清单2. Java 代码中的基础 Redis 命令 JedisPool pool = new JedisPool(new JedisPoolConfig(), "localhost"); Jedis jedis = pool.getResource(); jedis.set("foo", "bar"); String foobar = jedis.get("foo"); assert foobar.equals("bar"); pool.returnResource(jedis); pool.destroy(); 在清单 2 中,我配置了一个连接池并捕获连接,(与您在典型 JDBC 场景中的操作非常相似)然后我在清单的底部设置了返回操作。在连接池逻辑之间,我设置了值 "bar" 和键 "foo",这是我通过 get 命令检索到的。 与memcached 类似,Redis 允许您将过期(expiration)时间关联到一个值。因此我设置了这样一个值(比如,股票临时交易价格),最终将从 Redis 缓存中清除掉。如果我想在 Jedis 中设置一个过期时间,需要在发出 set 调用之后将其和一个过期时间关联。如清单 3 所示:清单3. Redis 值可以设置为终止 jedis.set("gone", "daddy, gone"); jedis.expire("gone", 10); String there = jedis.get("gone"); assert there.equals("daddy, gone"); Thread.sleep(4500); String notThere = jedis.get("gone"); assert notThere == null; 在清单 3 中,我使用了一个 expire 调用将 "gone" 的值设置为在 10 秒钟内终止。调用 Thread.sleep 之后,"gone" 的 get 调用会返回 null。Redis 中的数据类型 使用Redis 数据类型,比如列表和散列需要专用命令用法。例如,我可以通过为键附加值来创建列表。

memcached 的flushAll,是不是不清除数据

调用flush_all的时刻,数据所占的内存并不会被释放,但会被标记为过期,是不能再被取得了,你后来添加的值,会根据需要逐渐占用掉之前的空间,所以,实际应用场景里,不需要做特殊处理。另,不知道你用的client是什么,但memcached协议里flush_all操作是可以设置一个延迟的,你可以检查一下,确认是立即清除。

php的memcached分布式hash算法,如何解决分布不均?crc32这个算法没办法把key值均匀的分布出去

最近也正在看这个,可以参考这篇文章 http://charlee.li/memcached-004.html。参考文中的一段话:余数计算的方法简单,数据的分散性也相当优秀,但也有其缺点。 那就是当添加或移除服务器时,缓存重组的代价相当巨大。 添加服务器后,余数就会产生巨变,这样就无法获取与保存时相同的服务器, 从而影响缓存的命中率。后面提到使用Consistent Hashing来最大限度地减小服务器增减时的缓存重新分布。文中提到的这个库的github地址 https://github.com/RJ/ketama

php面试题 memcache和redis的区别

Redis与Memcached的区别传统MySQL+ Memcached架构遇到的问题  实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题:  1.MySQL需要不断进行拆库拆表,Memcached也需不断跟着扩容,扩容和维护工作占据大量开发时间。  2.Memcached与MySQL数据库数据一致性问题。  3.Memcached数据命中率低或down机,大量访问直接穿透到DB,MySQL无法支撑。  4.跨机房cache同步问题。  众多NoSQL百花齐放,如何选择  最近几年,业界不断涌现出很多各种各样的NoSQL产品,那么如何才能正确地使用好这些产品,最大化地发挥其长处,是我们需要深入研究和思考的问题,实际归根结底最重要的是了解这些产品的定位,并且了解到每款产品的tradeoffs,在实际应用中做到扬长避短,总体上这些NoSQL主要用于解决以下几种问题  1.少量数据存储,高速读写访问。此类产品通过数据全部in-momery 的方式来保证高速访问,同时提供数据落地的功能,实际这正是Redis最主要的适用场景。  2.海量数据存储,分布式系统支持,数据一致性保证,方便的集群节点添加/删除。  3.这方面最具代表性的是dynamo和bigtable 2篇论文所阐述的思路。前者是一个完全无中心的设计,节点之间通过gossip方式传递集群信息,数据保证最终一致性,后者是一个中心化的方案设计,通过类似一个分布式锁服务来保证强一致性,数据写入先写内存和redo log,然后定期compat归并到磁盘上,将随机写优化为顺序写,提高写入性能。  4.Schema free,auto-sharding等。比如目前常见的一些文档数据库都是支持schema-free的,直接存储json格式数据,并且支持auto-sharding等功能,比如mongodb。  面对这些不同类型的NoSQL产品,我们需要根据我们的业务场景选择最合适的产品。  Redis适用场景,如何正确的使用  前面已经分析过,Redis最适合所有数据in-momory的场景,虽然Redis也提供持久化功能,但实际更多的是一个disk-backed的功能,跟传统意义上的持久化有比较大的差别,那么可能大家就会有疑问,似乎Redis更像一个加强版的Memcached,那么何时使用Memcached,何时使用Redis呢?如果简单地比较Redis与Memcached的区别,大多数都会得到以下观点:1 Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,zset,hash等数据结构的存储。2 Redis支持数据的备份,即master-slave模式的数据备份。3 Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。抛开这些,可以深入到Redis内部构造去观察更加本质的区别,理解Redis的设计。在Redis中,并不是所有的数据都一直存储在内存中的。这是和Memcached相比一个最大的区别。Redis只会缓存所有的 key的信息,如果Redis发现内存的使用量超过了某一个阀值,将触发swap的操作,Redis根据“swappability = age*log(size_in_memory)”计 算出哪些key对应的value需要swap到磁盘。然后再将这些key对应的value持久化到磁盘中,同时在内存中清除。这种特性使得Redis可以 保持超过其机器本身内存大小的数据。当然,机器本身的内存必须要能够保持所有的key,毕竟这些数据是不会进行swap操作的。同时由于Redis将内存 中的数据swap到磁盘中的时候,提供服务的主线程和进行swap操作的子线程会共享这部分内存,所以如果更新需要swap的数据,Redis将阻塞这个 操作,直到子线程完成swap操作后才可以进行修改。使用Redis特有内存模型前后的情况对比:VM off: 300k keys, 4096 bytes values: 1.3G usedVM on: 300k keys, 4096 bytes values: 73M usedVM off: 1 million keys, 256 bytes values: 430.12M usedVM on: 1 million keys, 256 bytes values: 160.09M usedVM on: 1 million keys, values as large as you want, still: 160.09M used当 从Redis中读取数据的时候,如果读取的key对应的value不在内存中,那么Redis就需要从swap文件中加载相应数据,然后再返回给请求方。 这里就存在一个I/O线程池的问题。在默认的情况下,Redis会出现阻塞,即完成所有的swap文件加载后才会相应。这种策略在客户端的数量较小,进行 批量操作的时候比较合适。但是如果将Redis应用在一个大型的网站应用程序中,这显然是无法满足大并发的情况的。所以Redis运行我们设置I/O线程 池的大小,对需要从swap文件中加载相应数据的读取请求进行并发操作,减少阻塞的时间。如果希望在海量数据的环境中使用好Redis,我相信理解Redis的内存设计和阻塞的情况是不可缺少的。补充的知识点:memcached和redis的比较1 网络IO模型  Memcached是多线程,非阻塞IO复用的网络模型,分为监听主线程和worker子线程,监听线程监听网络连接,接受请求后,将连接描述字pipe 传递给worker线程,进行读写IO, 网络层使用libevent封装的事件库,多线程模型可以发挥多核作用,但是引入了cache coherency和锁的问题,比如,Memcached最常用的stats 命令,实际Memcached所有操作都要对这个全局变量加锁,进行计数等工作,带来了性能损耗。(Memcached网络IO模型)  Redis使用单线程的IO复用模型,自己封装了一个简单的AeEvent事件处理框架,主要实现了epoll、kqueue和select,对于单纯只有IO操作来说,单线程可以将速度优势发挥到最大,但是Redis也提供了一些简单的计算功能,比如排序、聚合等,对于这些操作,单线程模型实际会严重影响整体吞吐量,CPU计算过程中,整个IO调度都是被阻塞住的。  2.内存管理方面  Memcached使用预分配的内存池的方式,使用slab和大小不同的chunk来管理内存,Item根据大小选择合适的chunk存储,内存池的方式可以省去申请/释放内存的开销,并且能减小内存碎片产生,但这种方式也会带来一定程度上的空间浪费,并且在内存仍然有很大空间时,新的数据也可能会被剔除,原因可以参考Timyang的文章:http://timyang.net/data/Memcached-lru-evictions/  Redis使用现场申请内存的方式来存储数据,并且很少使用free-list等方式来优化内存分配,会在一定程度上存在内存碎片,Redis跟据存储命令参数,会把带过期时间的数据单独存放在一起,并把它们称为临时数据,非临时数据是永远不会被剔除的,即便物理内存不够,导致swap也不会剔除任何非临时数据(但会尝试剔除部分临时数据),这点上Redis更适合作为存储而不是cache。  3.数据一致性问题  Memcached提供了cas命令,可以保证多个并发访问操作同一份数据的一致性问题。 Redis没有提供cas 命令,并不能保证这点,不过Redis提供了事务的功能,可以保证一串 命令的原子性,中间不会被任何操作打断。  4.存储方式及其它方面  Memcached基本只支持简单的key-value存储,不支持枚举,不支持持久化和复制等功能  Redis除key/value之外,还支持list,set,sorted set,hash等众多数据结构,提供了KEYS  进行枚举操作,但不能在线上使用,如果需要枚举线上数据,Redis提供了工具可以直接扫描其dump文件,枚举出所有数据,Redis还同时提供了持久化和复制等功能。  5.关于不同语言的客户端支持  在不同语言的客户端方面,Memcached和Redis都有丰富的第三方客户端可供选择,不过因为Memcached发展的时间更久一些,目前看在客户端支持方面,Memcached的很多客户端更加成熟稳定,而Redis由于其协议本身就比Memcached复杂,加上作者不断增加新的功能等,对应第三方客户端跟进速度可能会赶不上,有时可能需要自己在第三方客户端基础上做些修改才能更好的使用。  根据以上比较不难看出,当我们不希望数据被踢出,或者需要除key/value之外的更多数据类型时,或者需要落地功能时,使用Redis比使用Memcached更合适。  关于Redis的一些周边功能  Redis除了作为存储之外还提供了一些其它方面的功能,比如聚合计算、pubsub、scripting等,对于此类功能需要了解其实现原理,清楚地了解到它的局限性后,才能正确的使用,比如pubsub功能,这个实际是没有任何持久化支持的,消费方连接闪断或重连之间过来的消息是会全部丢失的,又比如聚合计算和scripting等功能受Redis单线程模型所限,是不可能达到很高的吞吐量的,需要谨慎使用。  总的来说Redis作者是一位非常勤奋的开发者,可以经常看到作者在尝试着各种不同的新鲜想法和思路,针对这些方面的功能就要求我们需要深入了解后再使用。  总结:  1.Redis使用最佳方式是全部数据in-memory。  2.Redis更多场景是作为Memcached的替代者来使用。  3.当需要除key/value之外的更多数据类型支持时,使用Redis更合适。  4.当存储的数据不能被剔除时,使用Redis更合适。谈谈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的客户端软件实现非常多,包括C/C++, PHP, Java, Python, Ruby, Perl, Erlang, Lua等。当前Memcached使用广泛,除了LiveJournal以外还有Wikipedia、Flickr、Twitter、Youtube和WordPress等。在Window系统下,Memcached的安装非常方便,只需从以上给出的地址下载可执行软件然后运行memcached.exe –d install即可完成安装。在Linux等系统下,我们首先需要安装libevent,然后从获取源码,make && make install即可。默认情况下,Memcached的服务器启动程序会安装到/usr/local/bin目录下。在启动Memcached时,我们可以为其配置不同的启动参数。1.1 Memcache配置Memcached服务器在启动时需要对关键的参数进行配置,下面我们就看一看Memcached在启动时需要设定哪些关键参数以及这些参数的作用。1)-p <num> Memcached的TCP监听端口,缺省配置为11211;2)-U <num> Memcached的UDP监听端口,缺省配置为11211,为0时表示关闭UDP监听;3)-s <file> Memcached监听的UNIX套接字路径;4)-a <mask> 访问UNIX套接字的八进制掩码,缺省配置为0700;5)-l <addr> 监听的服务器IP地址,默认为所有网卡;6)-d 为Memcached服务器启动守护进程;7)-r 最大core文件大小;8)-u <username> 运行Memcached的用户,如果当前为root的话需要使用此参数指定用户;9)-m <num> 分配给Memcached使用的内存数量,单位是MB;10)-M 指示Memcached在内存用光的时候返回错误而不是使用LRU算法移除数据记录;11)-c <num> 最大并发连数,缺省配置为1024;12)-v –vv –vvv 设定服务器端打印的消息的详细程度,其中-v仅打印错误和警告信息,-vv在-v的基础上还会打印客户端的命令和相应,-vvv在-vv的基础上还会打印内存状态转换信息;13)-f <factor> 用于设置chunk大小的递增因子;14)-n <bytes> 最小的chunk大小,缺省配置为48个字节;15)-t <num> Memcached服务器使用的线程数,缺省配置为4个;16)-L 尝试使用大内存页;17)-R 每个事件的最大请求数,缺省配置为20个;18)-C 禁用CAS,CAS模式会带来8个字节的冗余;2. Redis简介Redis是一个开源的key-value存储系统。与Memcached类似,Redis将大部分数据存储在内存中,支持的数据类型包括:字符串、哈希表、链表、集合、有序集合以及基于这些数据类型的相关操作。Redis使用C语言开发,在大多数像Linux、BSD和Solaris等POSIX系统上无需任何外部依赖就可以使用。Redis支持的客户端语言也非常丰富,常用的计算机语言如C、C#、C++、Object-C、PHP、Python、Java、Perl、Lua、Erlang等均有可用的客户端来访问Redis服务器。当前Redis的应用已经非常广泛,国内像新浪、淘宝,国外像Flickr、Github等均在使用Redis的缓存服务。Redis的安装非常方便,只需从http://redis.io/download获取源码,然后make && make install即可。默认情况下,Redis的服务器启动程序和客户端程序会安装到/usr/local/bin目录下。在启动Redis服务器时,我们需要为其指定一个配置文件,缺省情况下配置文件在Redis的源码目录下,文件名为redis.conf。

memcached-tool怎么安装

分2部分安装memcache的服务打开php的memcache的扩展你说的php_memcached.dll是php的扩展文件安装的话,先下载一个memcached.exe,打开cmd,将文件拖入cmd对话框后会自动出现其所在路径,后跟空格-h可以查看命令安装的话打-dinstall开启服务打-dstart如果不成功说明当前win7下的用户权限不够可以自制一个.bat文件,就是新建一个txt文件,把扩展名改成bat,编辑这个文件内容D:memcached.exe-dinstall保存,然后右键这个bat文件,选择管理员运行即可(注:memcached.exe放在英文目录的路径下)安装完后打开php扩展在php.ini中查找extension=php_memcached.dll如果没有在其他扩展下添加,不要加分号!将php_memcached.dll文件下载,放入php的ext目录下,重启整个服务,phpinfo()一下看看是否可以另注意:php_memcached.dll和memcached.exe两文件要兼容的.版本不同可能会不兼容!

window下memcache怎么卸载

是怎么卸载??兄台

php7无法安装memcache扩展 系统 centos-6.8 Nginx-1.10.2 PHP-7.0.13/5.6.28 memcached-1.4

  一 下载需要的源码包  所有安装包均选用最新的。  1. 下载libevent2.0.22  点击红色部分下载  下载memcached1.4.24  点击红色部分,下载最新版本  下载php扩展memcache3.0.8  选择需要的版本  二 安装详细步骤  首先将以上三个软件包下载到/tmp目录下  1. 安装libevent  cd /tmp #首先进入到该下载包的目录  tar zxvf libevent-2.0.22-stable.tar.gz #解压包cd libevent-2.0.22-stable #进入到解压的目录./configure --prefix=/usr/local #编译前配置,生成Makefile文件,路径可自行更改make; make install #编译+安装  1  测试是否安装成功  看到这些信息,表示成功啦  2. 安装memcached  cd /tmp #首先进入到该下载包的目录  tar zxvf memcached-1.4.24.tar.gz #解压包  cd memcached-1.4.24 #进入到解压的目录  ./configure –with-libevent=/usr/local #编译前配置,生成Makefile文件,路径必须与libevent中一致make; make install #编译+安装  1  测试是否安装成功  表示成功的信息  通过以上操作,就完成了memcached服务器的安装。特别的简单吧!现在就来搞一搞memcache的php扩展安装吧3. 安装扩展  cd /tmp #首先进入到该下载包的目录  tar zxvf memcache-3.0.8.tgz #解压包  cd memcache-3.0.8 #进入到解压的目录  /opt/lampp/bin/phpize #动态为php添加扩展。phpize路径可能不一致,请根据自己的实际情况./configure –enable-memcache –with-php-config=/opt/lampp/bin/php-config –with-zlib-dir #php-config请根据自己环境情况填写make; make install #编译+安装  1  完成以上步骤时,心情愉悦的点击了enter,准备喝口水潇洒一下,结果出现了一下错误(这也是我写这篇博客的原因,要不都懒得记录了)错误信息  看了下代码错误信息,说是zlib.h找不到。找不到就给他安一个嘛。真是的安装zlib  下载zlib-1.2.8.tar.gz  下载地址:http://www.zlib.net/  如图:  红色部分点击  cd /tmp #首先进入到该下载包的目录  tar zxvf zlib-1.2.8.tar.gz #解压包  cd zlib-1.2.8 #进入到解压的目录  ./configure --prefix=/usr/local/zlib  make; make install #编译+安装  1  再进行配置一下系统的文件,加载刚才编译安装的zlib生成的库文件vi /etc/ld.so.conf.d/zlib.conf  加入如下内容后保存退出: /usr/local/zlib/lib也就是添加安装目录的文件路径,库文件。ldconfig 运行之后就会加载安装的库文件了。  OK,到这一步了,此时,重新在memcache的php扩展中执行make;make install命令如果看到以下信息,表示成功:  扩展安装成功  三 配置php.ini文件  首先通过phpinfo函数,找到php.ini的路径,我的是:/opt/lampp/etc/php.ini在其中添加如下内容:  修改extension_dir路径:  extension_dir = “/opt/lampp/lib/php/extensions/no-debug-non-zts-20121212/”  extension=memcache.so  [Memcache]  memcache.allow_failover = 1  memcache.max_failover_attempts=20  memcache.chunk_size =8192  然后重新启动apache,再次通过phpinfo查看一下情况。如果有如下内容,表示配置成功:  信息  四 配置memcached服务器  启动memcached服务器  memcached -d -m 10 -u root -l 127.0.0.1 -p 11211 -c 256 -P /tmp/memcached.pid参数说明:  -d选项是启动一个守护进程,  -m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,-u是运行Memcache的用户,我这里是root,  -l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址127.0.0.1,-p是设置Memcache监听的端口,我这里设置了11211,最好是1024以上的端口,-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid2. 结束memcached进行  kill cat /tmp/memcached.pid  3. 检查memcached是否已经启动  看到绿色框中内容,就表示完成  五 测试php的memcache扩展  <?php  $mem = new Memcache;  $mem->connect("192.168.12.201", 13001);  $mem->set("key","This is a test!", 0, 60);$val = $mem->get("key");  echo $val;  ?>  写在后面:大家有兴趣可以将session改为使用memcache来保存。php自身使用文件的方式,不太好,动不动文件大小总和就上G了。

memcached windows日志在哪

本文较为详细的讲述了php下Memcached的入门知识与实例。分享给大家供大家参考。具体如下: memcache 在什么情况下被使用,什么情况下不要使用? 你在何时应该使用 memcache,又要在何时避免使用它?现在你已经知道了,memcahced 是被设计为减轻数据库教程端压力的,但是你最好能制定一个良好的策略,来想办法让 memcached 来尽可能的缓存那些最影响性能的查询,你可以试着为应用中的所有查询做一些执行时间日志,可以帮助你来分析哪些内容是要重点被缓存的. 现在假设你正在运营一个电子商务网站,你可以在 memcached 中缓存产品的简介、运送信息,或者其它一些需要复杂查询的数据,等等,当一个产品页被加载的时候,上面提到的数据将会跳过数据库查询,直接从缓存中取得,缓存可以大大的改变你的网站整体性能表现,你只需要记得在后台更新产品的时候,把这些缓存一并更新就行了. 还有一些情况下,缓存数据并不是一个好主意,比如在一个数据被频繁更新的时候,每一次数据的更新,我们都需要去同时更新缓存,缓存的命中率不高,会导致一些额外的性能牺牲,这种情况下,或许直接查数据库会更好一些. memcached 的安全性 如果你了解了 memcached 的工作流程,你可能已经注意到了,在访问缓存的过程中,没有任何权限控制的相关流程,如果你的数据不是非常重要的,你大可不必担心这方面的安全问题,如果你需要的话,以下几点可以协助你更完全的使用它: 使用唯一的 key:因为在 memcached 中的数据是以一个大的数组形式存在的,所以你应该使用唯一的 key,访问你的数据的唯一办法就是通过你保存数据时的 key,除此之外再没有其它可查询的办法. 保证你的 memcached 器安全:因为 memcached 本身并没有身份验证机制,所以对 memcached 的服务器查询,都应该通过防火墙进行,你可以在防火墙上设定规则,哪些服务器是允许被访问的,哪些是不允许被访问的. 加密你的数据:你可以将数据和 key 通过加密的方式保存在 memcached 中,这需要花费一些额外的 cpu 时间,但是为了你的数据安全,在情况允许的情况下,这个方法值得你去尝试. 复制代码 代码如下:<?php class mycache { private $cache; function __construct() { $this->cache = new memcache(); // you can replace localhost by memcached server ip addr and port no. $this->cache->connect("localhost", 10987); } function get_data($key) { $data = $this->cache->get($key); if($data != null) return $data; else { if($this->cache->getresultcode() == memcached::res_notfound) { //do the databse query here and fetch data $this->cache->set($key,$data_returned_from_database); } else { error_log("no data for key ".$key); } } } } $cache = mycache(); $cache->get_data("foo"); ?> 希望本文所述对大家的php程序设计有所帮助。

memcache 怎么存储的对象

1、将下载的memcached.exe文件放到磁盘固定的地方,不要删除。打开开始菜单,在输入框里输入cmd按回车。2、在出现的弹出窗中输入c:memcachedmemcached.exe -d install。3、再输入: "c:memcachedmemcached.exe -d start" 启动。NOTE: 以后memcached将作为windows的一个服务每次开机时自动启动。这样服务器端已经安装完毕了。4、查看服务是否开启,在开始菜单中输入框中输入services.msc。5、在弹出的窗口中查找memcached服务,如图所示:6、下载php_memcache.dll,请自己查找对应的php版本的文件,找到php配置文件php.ini加入一行 "extension=php_memcache.dll"。7、查看模块是否安装:新建一个.php文件,输入以下代码运行即可。<?phpphpinfo();?>注:有的应该会有phpinfo.php文件,直接运行即可。在出现的网页里面找memcache模块。如图所示。

手机不支持memcached是什么意思

可能是不兼容的问题,建议咨询一下客服。Memcached是多线程,非阻塞IO复用的网络模型;Redis使用单线程的多路 IO 复用模型。扩展资料:计算机(computer)俗称电脑,是现代一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能。是能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。由硬件系统和软件系统所组成,没有安装任何软件的计算机称为裸机。可分为超级计算机、工业控制计算机、网络计算机、个人计算机、嵌入式计算机五类,较先进的计算机有生物计算机、光子计算机、量子计算机等。

在php中memcached和利用文件缓存哪个效率更好

当然是memcached了,内存读写肯定是最快的。

memcached 和nosql 的关系,memcache属于nosql数据库吗?怎么形容他们的关系呢?

非关系型的数据库统称NoSQLmemcache是非关系型数据库里的一种,属于NoSQL就像mysql属性关系型数据库一样

memcached 连接 失败,是什么原因,有什么解决办法

1、没有开启memcached服务正解:/usr/bin/memcached -d -m 2048 -p 112112、注意port保持一致telnet 127.0.0.1 11211

如何修改memcache内存大小

memcache 本身是一款分布式的高速缓存系统,以 key-value 的形式常驻内存,一般用来做网站或者数据库的缓存使用。特别是对以下场景非常适合用 memcache 来做缓存:1. 频繁访问的数据2. 安全性要求比较低的数据3. 更新比较频繁的小表(用户状态表、物品库存等)

memcached 连接 失败,是什么原因,有什么解决办法

把你的错误代码贴上来. 你确认连接的memcached服务端有权限?你安装了php的memcached扩展吗?

memcached 缓存在哪儿。。我实验成功了。但是我不知道他缓存在哪儿。求指点。

memcached缓存在memcached服务器上面了,按一定的格式存储起来,具体是什么格式我也不太清楚

Memcache如何安装

早就听说memcached是一个不错的分布式内存缓存系统,做了些功课想把这memcache用到实际当中来.因为一个好的缓存系统,能给web应用带来不小的性能提升.做了一些功课之后,做了下面几点总结:memcache适合与web server安装在同一server上 memcache可以在n个端口开n个进程,如果和web server在同一机器的话,还能减少网络开销. 配置简单,启动一个进程就行了,免去了配置文件 我更关心的是,memcache的分布式应用应该如何部署.带着这个问题,我在各搜索引擎上做了进一步的功课.最初找到的办法是,首先启动n个memcache进程,这些进程可以在不同的server的不同端口上.然后使用perl的api可以方便的一次链接多个memcache,存储读取机制不明.不久找到php的一个MemcachedClient类,基本上就是perl里api的再实现.它使用的fscokopen或者socket系列function来直接读取memcache----这说明只要清楚memcache的网络协议,你甚至不用装什么php的memcache extenstion.看了这个类的实现,基本上弄清楚,它的分布式应用差不多就是将不同的key保存在不同的memcache daemon,不会保留多个副本,也就不存在多memcache同步的问题了.过了不久俺又有发现,在最新的php手册上找到了memcache::addServer()这方法,它就是为分布式应用而产生的,有了这个支持的话,php的代码就更简单:PLAIN TEXTPHP: <?php $memcache_obj = new Memcache; $memcache_obj->addServer("memcache_host", 11211); $memcache_obj->addServer("failed_host", 11211); $stats = $memcache_obj->getExtendedStats(); print_r($stats);?> 看来php手册也要与时俱进啊,最好是能够直接使用英文版,否则也不会走这么多弯路了:)

memcached 可以设置数据永不过期吗

定期从DB里查询数据,再刷 到memcached里 这种方法有个缺点是, 有些业务的key可能是变化的,不确定的。 而且不好界定哪些数据是应该查询出来放到缓存中的,难以区分冷热数据。 2.当缓存取到为null时,加锁去查询DB

nodejs用memcached模块操作下边的这几个方法是怎么使用的,直接调用会报错,如memcached.version()

先安装:npm install memcachedvar Memcached = require("memcached");var memcached = new Memcached(Server locations, options);memcached.version()

memcached 连接 失败,是什么原因,有什么解决办法

: 1、没有开启memcached服务 正解:/usr/bin/memcached -d -m 2048 -p 11211 2、注意port保持一致 telnet 127.0.0.1 11211

如何更新MemcacheD Is Your Friend缓存

步骤如下:1、php安装Memcached插件。2、WordPress安装Memcached缓存插件(MemcacheD Is Your Friend)。3、部署Memcached内存缓存图形化界面监控页面。

怎样升级安装mcached-1.4.33

  一、下载Memercached For Windows  二、安装步骤  1、解压到指定目录,如:C:Memcachedmemcached-win32-1.4.4-14。  2、用cmd打开命令窗口,转到解压的目录,输入 “memcached.exe -d install”。  3、打开控制面板,打开服务,可以看到memcached已经在上面可,如果没有启动,则手动启动一下。  4、使用telnet命令 验证缓存服务器是否可用。  开始什么都不显示,回车后输入命令 stats 查看统计信息,说明服务器运作正常。  三、参数介绍  1、以上的安装和启动都是在默认环境下进行的,在安装时可设置如下参数:  -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 最小分配空间,key+value+flags默认是48  -h 显示帮助  如:“memcached -d install -l 127.0.0.1 -m 1024 -c2048”。  2、如果在安装时没有添加参数,可通过修改注册表信息进行设置,打开注册表,找  HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesmemcached  在其中有一个“ImagePath”项,值为:  “C:Memcachedmemcached-win32-1.4.4-14memcached.exe” -d runservice  在后面加上“-m 1024 -c2048”。如下图:  3、输入stats命令后,页面出现的参数介绍。  STAT pid 4356 服务器进程ID  STAT uptime 56625 服务器运行时间,单位秒  STAT time 1225249079 服务器当前的UNIX时间  STAT version1.1.0服务器的版本号  STAT pointer_size 64  STAT rusage_user 151.845489 该进程累计的用户时间(秒:微妙)  STAT rusage_system 121.667603 该进程累计的系统时间(秒:微妙)  STAT ibuffer_size 4096  STAT curr_connections 13 连接数量  STAT total_connections 54136 服务器运行以来接受的连接总数  STAT connection_structures 318 服务器分配的连接结构的数量  STAT cmd_get 100595 取回请求总数  STAT cmd_set 6510 存储请求总数  STAT get_hits 96543 请求成功的总次数  STAT get_misses 4052 请求失败的总次数  STAT bytes_read 4427679 服务器从网络读取到的总字节数  STAT bytes_written 6585596 服务器向网络发送的总字节数  备注:  uptime 是memcached运行的秒数,  cmd_get是查询缓存的次数。 cmd_get/uptime得到平均每秒请求缓存的次数。  cmd_set是设置key=>value的次数。整个memcached是个大hash,用cmd_get没有找到的内容,就会调用cmd_set写进缓存里。  get_hits是缓存命中的次数,缓存命中率 = get_hits/cmd_get *100%。  get_misses加上get_hits等于cmd_get。  total_itemscurr_items表示现在在缓存中的键值对个数。  total_items == cmd_set == get_misses,不过当可用最大内存用光时,如果memcached设置为删掉内容,上面的等式就不成立了。

memcached 连接 失败,是什么原因,有什么解决办法

以下可做参考:1、执行的命令telnet 127.0.0.1 112112、报错提示Trying 127.0.0.1...telnet: connect to address 127.0.0.1: Connection refusedtelnet: Unable to connect to remote host3、/usr/bin/memcached -hmemcached 1.4.13(正常显示了对应的版本)是什么原因导致不能连接到memcached服务呢,telnet的原因吗?iptables没打开11211端口已经找找到问题:1、没有开启memcached服务正解:/usr/bin/memcached -d -m 2048 -p 112112、注意port保持一致telnet 127.0.0.1 11211

linux怎么查看memcached安装目录

1.由于memcached依赖于libevent,因此需要安装libevent。由于linux系统可能默认已经安装libevent,执行命令:rpm -qa|grep libevent查看系统是否带有该安装软件,如果有执行命令:rpm -e libevent-1.4.13-4.el6.x86_64 --nodeps(由于系统自带的版本旧,忽略依赖删除)3. 安装libevent命令:tar zxvf libevent-2.0.21-stable.tar.gz cd libevent-2.0.21-stable ./configure --prefix=/usr/local/libevent make make install至此libevent安装完毕;安装过程中出现:configure: error : no acceptable C compiler found in $PATH错误时是没有安装gcc,运行如下命令:yum install gcc* make*4. 安装memcached命令:tar zxvf memcached-1.4.2.tar.gz cd memcached-memcached-1.4.2 ./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent/makemake install 至此memcached安装完毕;5.当启动memcached时经常不能发现libevent.so;可以通过以下命令检查: 进入/usr/local/memcached/bin目录 LD_DEBUG=help./memcached -v LD_DEBUG=libs ./ memcached。

memcache和mysql的区别

怎么部署mysql和memcache的关系1.首先明确是不是一定要上缓存,当前架构的瓶颈在哪里,若瓶颈真是数据库操作上,再继续往下看。2.明确memcached和redis的区别,到底要使用哪个。前者终究是个缓存,不可能永久保存数据(LRU机制),支持分布式,后者除了缓存的同时也支持把数据持久化到磁盘等,redis要自己去实现分布式缓存(貌似最新版本的已集成),自己去实现一致性hash。因为不知道你们的应用场景,不好说一定要用memcache还是redis,说不定用mongodb会更好,比如在存储日志方面。

memcached 连接 失败,是什么原因,有什么解决办法

1、没有开启memcached服务正解:/usr/bin/memcached -d -m 2048 -p 112112、注意port保持一致telnet 127.0.0.1 11211

怎么查看memcached端口号?

1、windows系统连接memcached端口 cmd命令行中键入telnet 192.168.1.1 11211,这里 11211是memcached绑定的端口号。2、连接上端口后输入 stats命令,即可得到描述Memcached服务器运行情况的参数。stats :显示服务器信息、统计数据等。

Memcached真的过时了吗

这个其实没有什么过时不过时,都是依据你自己的需求和看法来选择。memcached是一套分布式的快取系统,当初是Danga Interactive为了LiveJournal所发展的,但被许多软件(如MediaWiki)所使用。这是一套开放源代码软件,以BSD license授权协议。memcached缺乏认证以及安全管制,这代表应该将memcached服务器放置在防火墙后。memcached的API使用32位元的循环冗余校验(CRC-32)计算键值后,将资料分散在不同的机器上。当表格满了以后,接下来新增的资料会以LRU机制替换掉。由于memcached通常只是当作快取系统使用,所以使用memcached的应用程式在写回较慢的系统时(像是后端的数据库)需要额外的程式码更新memcached内的资料。memcached 是以LiveJournal 旗下Danga Interactive 公司的Brad Fitzpatric 为首开发的一款软件。已成为mixi、hatena、Facebook、Vox、LiveJournal等众多服务中提高Web应用扩展性的重要因素。许多Web应用都将数据保存到RDBMS中,应用服务器从中读取数据并在浏览器中显示。但随着数据量的增大、访问的集中,就会出现RDBMS的负担加重、数据库响应恶化、网站显示延迟等重大影响。这时就该memcached大显身手了。memcached是高性能的分布式内存缓存服务器。一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。Memcached 的守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。但是它并不提供冗余(例如,复制其hashmap条目);当某个服务器S停止运行或崩溃了,所有存放在S上的键/值对都将丢失。Memcached由Danga Interactive开发,其最新版本发布于2010年,作者为Anatoly Vorobey和Brad Fitzpatrick。用于提升LiveJournal . com访问速度的。LJ每秒动态页面访问量几千次,用户700万。Memcached将数据库负载大幅度降低,更好的分配资源,更快速访问。

Redis 和 Memcached 各有什么优缺点,主要的应用场景是什么样的

1. Redis中,并不是所有的数据都一直存储在内存中的,这是和Memcached相比一个最大的区别。 2. Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储。 3. Redis支持数据的备份,即master-slave模式的数据备份。 4. Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。 5、分布式--设定memcache集群,利用magent做一主多从;redis可以做一主多从。都可以一主一从 6、存储数据安全--memcache挂掉后,数据没了;redis可以定期保存到磁盘(持久化) 7、灾难恢复--memcache挂掉后,数据不可恢复; redis数据丢失后可以通过aof恢复 以上参考:PHP程序员,雷雪松的个人博客。

ubuntu 怎样启动memcached 命令

当前项目中,linux下memcached的启动/结束的方式默认情况下memcached安装到/usr/local/bin下。进入安装目录,启动memcached:/usr/local/memcached/bin/memcached -d -c 10240 -m 1024 -u root获取运行状态:echo stats | nc localhost 11211(可以查看出pid) 或使用ps -ef|grep memcached 停止memcached:kill -9 pid (-9表示强制杀死,pid 为进程的进程标识符)-d 选项是启动一个守护进程,-m 是分配给Memcache使用的内存数量,单位是MB,这里是1024MB,默认是64MB-u 是运行Memcache的用户,这里是root-l 是监听的服务器IP地址,默认应该是本机-p 是设置Memcache监听的端口,默认是11211,最好是1024以上的端口-c 选项是最大运行的并发连接数,默认是1024,这里设置了10240,按照你服务器的负载量来设定-P 是设置保存Memcache的pid文件位置-h 打印帮助信息-v 输出警告和错误信息-vv 打印客户端的请求和返回信息ps -ef|grep memcached(命令说明) grep:功能说明:查找文件里符合条件的字符串。|:管道命令操作符ps(process status):功能说明:报告程序状况。连接到 memcached:telnet ip 端口,如telnet 192.168.100.11 11211stats查看状态,flush_all:清楚缓存

redis和memcached的区别

1、性能都比较高,性能对我们来说应该都不是瓶颈总体来讲,TPS方面redis和memcache差不多2、操作的便利性memcache数据结构单一redis丰富一些,数据操作方面,redis更好一些,较少的网络IO次数3、内存空间的大小和数据量的大小redis在2.0版本后增加了自己的VM特性,突破物理内存的限制;可以对keyvalue设置过期时间(类似memcache)memcache可以修改最大可用内存,采用LRU算法4、可用性(单点问题)对于单点问题,redis,依赖客户端来实现分布式读写;主从复制时,每次从节点重新连接主节点都要依赖整个快照,无增量复制,因性能和效率问题,所以单点问题比较复杂;不支持自动sharding,需要依赖程序设定一致hash机制。一种替代方案是,不用redis本身的复制机制,采用自己做主动复制(多份存储),或者改成增量复制的方式(需要自己实现),一致性问题和性能的权衡Memcache本身没有数据冗余机制,也没必要;对于故障预防,采用依赖成熟的hash或者环状的算法,解决单点故障引起的抖动问题。5、可靠性(持久化)对于数据持久化和数据恢复,redis支持(快照、AOF):依赖快照进行持久化,aof增强了可靠性的同时,对性能有所影响memcache不支持,通常用在做缓存,提升性能;6、数据一致性(事务支持)Memcache在并发场景下,用cas保证一致性redis事务支持比较弱,只能保证事务中的每个操作连续执行7、数据分析不支持8、应用场景redis:数据量较小的更性能操作和运算上memcache:用于在动态系统中减少数据库负载,提升性能;做缓存,提高性能(适合读多写少,对于数据量比较大,可以采用sharding)

Redis和Memcached的区别

Redis与Memcached的区别传统MySQL+ Memcached架构遇到的问题  实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题:  1.MySQL需要不断进行拆库拆表,Memcached也需不断跟着扩容,扩容和维护工作占据大量开发时间。  2.Memcached与MySQL数据库数据一致性问题。  3.Memcached数据命中率低或down机,大量访问直接穿透到DB,MySQL无法支撑。  4.跨机房cache同步问题。  众多NoSQL百花齐放,如何选择  最近几年,业界不断涌现出很多各种各样的NoSQL产品,那么如何才能正确地使用好这些产品,最大化地发挥其长处,是我们需要深入研究和思考的问题,实际归根结底最重要的是了解这些产品的定位,并且了解到每款产品的tradeoffs,在实际应用中做到扬长避短,总体上这些NoSQL主要用于解决以下几种问题  1.少量数据存储,高速读写访问。此类产品通过数据全部in-momery 的方式来保证高速访问,同时提供数据落地的功能,实际这正是Redis最主要的适用场景。  2.海量数据存储,分布式系统支持,数据一致性保证,方便的集群节点添加/删除。  3.这方面最具代表性的是dynamo和bigtable 2篇论文所阐述的思路。前者是一个完全无中心的设计,节点之间通过gossip方式传递集群信息,数据保证最终一致性,后者是一个中心化的方案设计,通过类似一个分布式锁服务来保证强一致性,数据写入先写内存和redo log,然后定期compat归并到磁盘上,将随机写优化为顺序写,提高写入性能。  4.Schema free,auto-sharding等。比如目前常见的一些文档数据库都是支持schema-free的,直接存储json格式数据,并且支持auto-sharding等功能,比如mongodb。  面对这些不同类型的NoSQL产品,我们需要根据我们的业务场景选择最合适的产品。  Redis适用场景,如何正确的使用  前面已经分析过,Redis最适合所有数据in-momory的场景,虽然Redis也提供持久化功能,但实际更多的是一个disk-backed的功能,跟传统意义上的持久化有比较大的差别,那么可能大家就会有疑问,似乎Redis更像一个加强版的Memcached,那么何时使用Memcached,何时使用Redis呢? 如果简单地比较Redis与Memcached的区别,大多数都会得到以下观点:1 Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,zset,hash等数据结构的存储。2 Redis支持数据的备份,即master-slave模式的数据备份。3 Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。抛开这些,可以深入到Redis内部构造去观察更加本质的区别,理解Redis的设计。在Redis中,并不是所有的数据都一直存储在内存中的。这是和Memcached相比一个最大的区别。Redis只会缓存所有的 key的信息,如果Redis发现内存的使用量超过了某一个阀值,将触发swap的操作,Redis根据“swappability = age*log(size_in_memory)”计 算出哪些key对应的value需要swap到磁盘。然后再将这些key对应的value持久化到磁盘中,同时在内存中清除。这种特性使得Redis可以 保持超过其机器本身内存大小的数据。当然,机器本身的内存必须要能够保持所有的key,毕竟这些数据是不会进行swap操作的。同时由于Redis将内存 中的数据swap到磁盘中的时候,提供服务的主线程和进行swap操作的子线程会共享这部分内存,所以如果更新需要swap的数据,Redis将阻塞这个 操作,直到子线程完成swap操作后才可以进行修改。使用Redis特有内存模型前后的情况对比:VM off: 300k keys, 4096 bytes values: 1.3G usedVM on: 300k keys, 4096 bytes values: 73M usedVM off: 1 million keys, 256 bytes values: 430.12M usedVM on: 1 million keys, 256 bytes values: 160.09M usedVM on: 1 million keys, values as large as you want, still: 160.09M used当 从Redis中读取数据的时候,如果读取的key对应的value不在内存中,那么Redis就需要从swap文件中加载相应数据,然后再返回给请求方。 这里就存在一个I/O线程池的问题。在默认的情况下,Redis会出现阻塞,即完成所有的swap文件加载后才会相应。这种策略在客户端的数量较小,进行 批量操作的时候比较合适。但是如果将Redis应用在一个大型的网站应用程序中,这显然是无法满足大并发的情况的。所以Redis运行我们设置I/O线程 池的大小,对需要从swap文件中加载相应数据的读取请求进行并发操作,减少阻塞的时间。如果希望在海量数据的环境中使用好Redis,我相信理解Redis的内存设计和阻塞的情况是不可缺少的。 补充的知识点:memcached和redis的比较1 网络IO模型  Memcached是多线程,非阻塞IO复用的网络模型,分为监听主线程和worker子线程,监听线程监听网络连接,接受请求后,将连接描述字pipe 传递给worker线程,进行读写IO, 网络层使用libevent封装的事件库,多线程模型可以发挥多核作用,但是引入了cache coherency和锁的问题,比如,Memcached最常用的stats 命令,实际Memcached所有操作都要对这个全局变量加锁,进行计数等工作,带来了性能损耗。(Memcached网络IO模型)  Redis使用单线程的IO复用模型,自己封装了一个简单的AeEvent事件处理框架,主要实现了epoll、kqueue和select,对于单纯只有IO操作来说,单线程可以将速度优势发挥到最大,但是Redis也提供了一些简单的计算功能,比如排序、聚合等,对于这些操作,单线程模型实际会严重影响整体吞吐量,CPU计算过程中,整个IO调度都是被阻塞住的。  2.内存管理方面  Memcached使用预分配的内存池的方式,使用slab和大小不同的chunk来管理内存,Item根据大小选择合适的chunk存储,内存池的方式可以省去申请/释放内存的开销,并且能减小内存碎片产生,但这种方式也会带来一定程度上的空间浪费,并且在内存仍然有很大空间时,新的数据也可能会被剔除,原因可以参考Timyang的文章:http://timyang.net/data/Memcached-lru-evictions/  Redis使用现场申请内存的方式来存储数据,并且很少使用free-list等方式来优化内存分配,会在一定程度上存在内存碎片,Redis跟据存储命令参数,会把带过期时间的数据单独存放在一起,并把它们称为临时数据,非临时数据是永远不会被剔除的,即便物理内存不够,导致swap也不会剔除任何非临时数据(但会尝试剔除部分临时数据),这点上Redis更适合作为存储而不是cache。  3.数据一致性问题  Memcached提供了cas命令,可以保证多个并发访问操作同一份数据的一致性问题。 Redis没有提供cas 命令,并不能保证这点,不过Redis提供了事务的功能,可以保证一串 命令的原子性,中间不会被任何操作打断。  4.存储方式及其它方面  Memcached基本只支持简单的key-value存储,不支持枚举,不支持持久化和复制等功能  Redis除key/value之外,还支持list,set,sorted set,hash等众多数据结构,提供了KEYS  进行枚举操作,但不能在线上使用,如果需要枚举线上数据,Redis提供了工具可以直接扫描其dump文件,枚举出所有数据,Redis还同时提供了持久化和复制等功能。  5.关于不同语言的客户端支持  在不同语言的客户端方面,Memcached和Redis都有丰富的第三方客户端可供选择,不过因为Memcached发展的时间更久一些,目前看在客户端支持方面,Memcached的很多客户端更加成熟稳定,而Redis由于其协议本身就比Memcached复杂,加上作者不断增加新的功能等,对应第三方客户端跟进速度可能会赶不上,有时可能需要自己在第三方客户端基础上做些修改才能更好的使用。  根据以上比较不难看出,当我们不希望数据被踢出,或者需要除key/value之外的更多数据类型时,或者需要落地功能时,使用Redis比使用Memcached更合适。  关于Redis的一些周边功能  Redis除了作为存储之外还提供了一些其它方面的功能,比如聚合计算、pubsub、scripting等,对于此类功能需要了解其实现原理,清楚地了解到它的局限性后,才能正确的使用,比如pubsub功能,这个实际是没有任何持久化支持的,消费方连接闪断或重连之间过来的消息是会全部丢失的,又比如聚合计算和scripting等功能受Redis单线程模型所限,是不可能达到很高的吞吐量的,需要谨慎使用。  总的来说Redis作者是一位非常勤奋的开发者,可以经常看到作者在尝试着各种不同的新鲜想法和思路,针对这些方面的功能就要求我们需要深入了解后再使用。  总结:  1.Redis使用最佳方式是全部数据in-memory。  2.Redis更多场景是作为Memcached的替代者来使用。  3.当需要除key/value之外的更多数据类型支持时,使用Redis更合适。  4.当存储的数据不能被剔除时,使用Redis更合适。

如何在ubuntu 12.04上面为php5.6安装memcached及扩展

apt-get install memcached启动memcached服务端,使用了memcache用户来启动。memcached -m 64 -p 11211 -u memcache -l 127.0.0.1或者使用root用户来启动,都是可以的。memcached -d -l 127.0.0.1 -p 11211 -m 64 -u root将memcached服务端加入开机启动,ubuntu 12.04上需要打开/etc/init.d/rc.local来添加,这与centos的也不一样。vi /etc/init.d/rc.local /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1或者用root用户来启动。/usr/bin/memcached -d -l 127.0.0.1 -p 11211 -m 64 -u root安装memcached客户端客户端的安装分为安装libmemcached和php的memcached扩展。我们先安装libmemcached,切换目录。cd /usr/local/src/下载libmemcached包。考虑到是php5.6,它只能用php-memcached 2.2.0,为了兼容,所以只下载了libmemcached-1.0.18。其实,libmemcached已经有更新的版本了。wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz解压libmemcached-1.0.18。tar -zxf libmemcached-1.0.18.tar.gz切换目录到libmemcached-1.0.18。cd libmemcached-1.0.18开始编译安装。./configure make make install安装完成后,我们找一下memcached.h是在那个目录的,等下要用。find / -name memcached.h/usr/local/include/libmemcached/memcached.h/usr/local/include/libmemcached-1.0/memcached.h/usr/local/include/libmemcached-1.0/struct/memcached.h/usr/local/src/libmemcached-1.0.18/libmemcached/memcached.h/usr/local/src/libmemcached-1.0.18/libmemcached-1.0/memcached.h/usr/local/src/libmemcached-1.0.18/libmemcached-1.0/struct/memcached.h/usr/local/src/libmemcached-1.0.18/libtest/memcached.h切换目录。cd /usr/local/src/下载php的扩展memcached-2.2.0。如果你是php7,请使用memcached 3x。wget -c http://pecl.php.net/get/memcached-2.2.0.tgz解压memcached-2.2.0的包。tar -zxf memcached-2.2.0.tgz切换目录到memcached-2.2.0。cd memcached-2.2.0在此目录下执行phpize。如果不知道phpize在什么地方,可以用find命令来查找。/usr/local/php-5.6/bin/phpize还是在此目录执行./configure。--with-libmemcached-dir的目录就是你刚刚查找出来的memcached.h的目录,它是上面的第一条。include/libmemcached/是编译时会自动查找的目录,所以我们只需要填上/usr/local/就可以了。./configure --with-php-config=/usr/local/php-5.6/bin/php-config --with-libmemcached-dir=/usr/local/ --disable-memcached-sasl Build complete.Don"t forget to run "make test". Installing shared extensions: /usr/local/php-5.6/lib/php/extensions/no-debug-non-zts-20131226/编译安装成功后,它提示在/usr/local/php-5.6/lib/php/extensions/no-debug-non-zts-20131226/。我们可以用find来查找一下memcached.so。find / -name memcached.so/usr/local/php-5.6/lib/php/extensions/no-debug-non-zts-20131226/memcached.so/usr/local/src/memcached-2.2.0/modules/memcached.so/usr/local/src/memcached-2.2.0/.libs/memcached.so用vi打开php.ini文件,如果你不知道使用的那个php.ini文件,可以使用phpinfo.php来查看。vi /home/wwwroot/lamp/etc/php.ini在php.ini末尾添加下面的代码。extension = /usr/local/php-5.6/lib/php/extensions/no-debug-non-zts-20131226/memcached.so重启php-fpmps aux|grep php-fpm kill -USR2 11473

windows怎么与linux中的memcached链接

当前项目中,linux下memcached的启动/结束的方式 默认情况下memcached安装到/usr/local/bin下。 进入安装目录,启动memcached:/usr/local/memcached/bin/memcached -d -c 10240 -m 1024 -u root 获取运行状态:echo stats nc localhost 11211(可以查看出pid) 或使用ps -efgrep memcached 停止memcached:kill -9 pid (-9表示强制杀死,pid 为进程的进程标识符) -d 选项是启动一个守护进程, -m 是分配给Memcache使用的内存数量,单位是MB,这里是1024MB,默认是64MB -u 是运行Memcache的用户,这里是root -l 是监听的服务器IP地址,默认应该是本机 -p 是设置Memcache监听的端口,默认是11211,最好是1024以上的端口 -c 选项是最大运行的并发连接数,默认是1024,这里设置了10240,按照你服务器的负载量来设定 -P 是设置保存Memcache的pid文件位置 -h 打印帮助信息 -v 输出警告和错误信息 -vv 打印客户端的请求和返回信息 ps -efgrep memcached(命令说明) grep:功能说明:查找文件里符合条件的字符串。 :管道命令操作符 ps(process status):功能说明:报告程序状况。 连接到 memcached: telnet ip 端口,如telnet 192.168.100.11 11211 stats查看状态,flush_all:清楚缓存 查看memcached状态的基本命令,通过这个命令可以看到如下信息: STAT pid 22459 进程ID STAT 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 进程累计系统时间 STAT curr_connections 10 当前打开连接数 STAT total_connections 82 曾打开的连接总数 STAT connection_structures 13 服务器分配的连接结构数 STAT cmd_get 54 执行get命令总数 STAT cmd_set 34 执行set命令总数 STAT cmd_flush 3 指向flush_all命令总数 STAT get_hits 9 get命中次数 STAT get_misses 45 get未命中次数 STAT delete_misses 5 delete未命中次数 STAT delete_hits 1 delete命中次数 STAT incr_misses 0 incr未命中次数 STAT incr_hits 0 incr命中次数 STAT decr_misses 0 decr未命中次数 STAT decr_hits 0 decr命中次数 STAT cas_misses 0 cas未命中次数 STAT cas_hits 0 cas命中次数 STAT cas_badval 0 使用擦拭次数 STAT auth_cmds 0 STAT auth_errors 0 STAT bytes_read 15785 读取字节总数 STAT bytes_written 15222 写入字节总数 STAT limit_maxbytes 1048576 分配的内存数(字节) STAT accepting_conns 1 目前接受的链接数 STAT listen_disabled_num 0 STAT threads 4 线程数 STAT conn_yields 0 STAT bytes 0 存储item字节数 STAT curr_items 0 item个数 STAT total_items 34 item总数 STAT evictions 0 为获取空间删除item的总数 另外一个例子: 启动/结束 memcached -d -m 10 -u root -l 192.168.0.122 -p 11200 -c 256 -P /tmp/memcached.pid -d 选项是启动一个守护进程, -m 是分配给Memcache使用的内存数量,单位是MB,这里是10MB -u 是运行Memcache的用户,这里是root -l 是监听的服务器IP地址,如果有多个地址的话,这里指定了服务器的IP地址192.168.0.122 -p 是设置Memcache监听的端口,这里设置了12000,最好是1024以上的端口 -c 选项是最大运行的并发连接数,默认是1024,这里设置了256,按照你服务器的负载量来设定 -P 是设置保存Memcache的pid文件 kill `cat /tmp/memcached.pid` 获取运行状态 echo stats nc 192.168.1.123 11200 watch "echo stats nc 192.168.1.123 11200" (实时状态)

memcached不是可以存数组的吗

PHP的Memcached的驱动会自动进行serialize和unserialize,你所需要做的是:1. 选取一个合适key,比如 "POST_OF_USER_" . $userId2. 调用set函数把数据丢进去就行了示例代码:全选复制放进笔记// 0. 准备:$cache = new Memcache();$cache->connect("127.0.0.1", 11211); // 请替换为你的memcache服务器地址和端口$userId = // 你自己想办法获取...// 1. 构造cache KEY$cacheKey = "POSTS_OF_USER_" . $userId;// 2. 从缓存中获取数据$posts = $cache->get($cacheKey);if ($posts === false){// 3. 缓存失效了,加载数据$posts = // 你自己想办法加载数据// 4. 保存数据到缓存中$cache->set($cacheKey, $posts); }// OK,可以使用posts了

Memcached怎么读

美母卡取的

memcache重启是什么命令

1、linux环境下:/usr/local/lib/memcached -d -m 2048 -u root -c 1024 -p 11211 -P /tmp/memcached1.pid/usr/local/lib/memcached -d -m 2048 -u root -c 1024 -p 11211 -P /tmp/memcached2.pid2、windows环境下:在windows下我们可以用命令memcached -d install memcached -m 128 -n 128 -c 30720 -p 11211 -d start 把memcached注册为服务,让系统启动时自动运行memcached为了减少单个memcached的负载,可以在一台机器上运行多个实例,如果把多个memcached注册为服务呢,通过SC命令我们可以创建服务建立服务器1:sc create memcached1 binPath= "d:zwampmemcachedmemcached.exe -d runservice -m 128 -c 512 -p 11211" start= auto DisplayName= "memcached1"建立服务器2:sc create memcached2 binPath= "d:zwampmemcachedmemcached.exe -d runservice -m 128 -c 512 -p 11212" start= auto DisplayName= "memcached2"建立服务器3:sc create memcached3 binPath= "d:zwampmemcachedmemcached.exe -d runservice -m 128 -c 512 -p 11213" start= auto DisplayName= "memcached3"另外-p 指定端口号(默认11211) -m 指定最大使用内存大小(默认64MB) -t 线程数(默认4) -l 连接的IP地址, 默认是本机 -d start 启动memcached服务 -d restart 重起memcached服务 -d stop|shutdown 关闭正在运行的memcached服务 -m 最大内存使用,单位MB。默认64MB -M 内存耗尽时返回错误,而不是删除项 -c 最大同时连接数,默认是1024-f 块大小增长因子,默认是1.25-n 最小分配空间,key+value+flags默认是48例如:/home/memcache/bin/memcached -d -m 1024 -u root -l 192.168.1.123 -p 1121 -c 512 -P /tmp/memcached.pid重启:先kill -9 掉进程,再执行启动相关参数的memcache

memcached 和 zend opcache有什么不同

memcached 是变量缓存,比如你可以把一些公共变量缓存到内存里面,不用反复从数据库读取opcache 是代码缓存, 比如一个页面有多个include文件, 他会给合并成一个文件作为缓存,减少服务器的io操作,加载更快

Redis和Memcached的区别

1. Redis中,并不是所有的数据都一直存储在内存中的,这是和Memcached相比一个最大的区别。2. Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储。3. Redis支持数据的备份,即master-slave模式的数据备份。4. Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。5、分布式--设定memcache集群,利用magent做一主多从;redis可以做一主多从。都可以一主一从6、存储数据安全--memcache挂掉后,数据没了;redis可以定期保存到磁盘(持久化)7、灾难恢复--memcache挂掉后,数据不可恢复; redis数据丢失后可以通过aof恢复以上参考:PHP程序员,雷雪松的个人博客。

为什么有的时候从memcached中读取数据的时间超过了1秒

读取数据时间较长可能原因有:1)客户机到memcached服务器之间的网络拥塞2)memcached服务器当前满负荷工作,比如大并发访问memcached服务器导致memcached服务器的负载很重,从而延迟了响应时间如果持续出现这种情况的话,建议分析原因在哪里,如果是并发较大导致的,那么可以考虑增加memcached服务器的数据量将并发访问引导到不同的memcached服务器上从而减缓处理压力

怎么查看memcached启动没

你的环境是什么?win下面:1、windows系统连接memcached端口 cmd命令行中键入telnet 192.168.1.1 11211,这里 11211是memcached绑定的端口号。2、连接上端口后输入 stats命令,即可得到描述Memcached服务器运行情况的参数。stats :显示服务器信息、统计数据等

linux 怎样 查看memcached是否安装成功

一、使用memcache top脚本memcache-top 是一个用 Perl 编写的命令行小工具,用来实时的获取 memcached 缓存服务器的详细信息,例如缓存命中率等。到官网下载脚本,放到用户目录,直接运行即可。/home/nihaoya/memcache-top INSTANCE USAGE HIT % CONN TIME EVICT/s READ/s WRITE/s10.50.11.5:11211 88.8% 69.6% 1123 1.9ms 0.3 13.1K 36.2K 10.50.11.5:11212 88.7% 69.6% 1175 0.6ms 0.3 12.4K 28.1K 10.50.11.5:11213 88.8% 69.4% 1148 0.7ms 0.0 16.6K 32.1K 10.50.12.5:11211 89.3% 81.5% 1460 0.7ms 0.3 17.7K 204.0K 10.50.12.5:11212 89.4% 69.3% 1174 0.6ms 1.0 28.9K 63.5K 10.50.12.5:11213 89.3% 69.4% 1158 0.7ms 0.7 166.3K 194.4K 10.50.15.5:11211 89.3% 71.8% 1472 0.8ms 0.0 37.3K 59.2K 10.50.15.5:11212 89.4% 69.3% 1143 0.7ms 0.7 44.9K 35.4K 10.50.15.5:11213 89.3% 84.5% 1371 0.7ms 0.7 49.0K 187.2K 10.50.9.90:11211 30.2% 76.3% 259 0.7ms 0.0 243 999 10.50.9.90:11212 19.2% 60.3% 261 0.7ms 0.0 40 801 10.50.9.90:11213 17.5% 16.9% 235 0.6ms 0.0 70 600 AVERAGE: 72.4% 67.3% 998 0.8ms 0.3 32.2K 70.2K TOTAL: 23.4GB 11.7K 9.2ms 4.0 386.4K 842.3K 二、使用telnet方式,只能查看某个节点的[nihaoya@SHANGH-39-DX-APP ~]# telnet 127.0.0.1 11211 Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is "^]". stats STAT pid 22362 //memcache服务器的进程ID www.2cto.com STAT uptime 1469315 //服务器已经运行的秒数 STAT time 1339671194 //服务器当前的unix时间戳 STAT version 1.4.9 //memcache版本 STAT libevent 1.4.9-stable //libevent版本 STAT pointer_size 64 //当前操作系统的指针大小(32位系统一般是32bit,64就是64位操作系统) STAT rusage_user 3695.485200 //进程的累计用户时间 STAT rusage_system 14751.273465 //进程的累计系统时间 STAT curr_connections 69 //服务器当前存储的items数量 STAT total_connections 855430 //从服务器启动以后存储的items总数量 STAT connection_structures 74 //服务器分配的连接构造数 STAT reserved_fds 20 // STAT cmd_get 328806688 //get命令(获取)总请求次数 STAT cmd_set 75441133 //set命令(保存)总请求次数 www.2cto.com STAT cmd_flush 34 //flush命令请求次数 STAT cmd_touch 0 //touch命令请求次数 STAT get_hits 253547177 //总命中次数 STAT get_misses 75259511 //总未命中次数 STAT delete_misses 4 //delete命令未命中次数 STAT delete_hits 565730 //delete命令命中次数 STAT incr_misses 0 //incr命令未命中次数 STAT incr_hits 0 //incr命令命中次数 STAT decr_misses 0 //decr命令未命中次数 STAT decr_hits 0 //decr命令命中次数 STAT cas_misses 0 //cas命令未命中次数 STAT cas_hits 0 //cas命令命中次数 STAT cas_badval 0 //使用擦拭次数 STAT touch_hits 0 //touch命令未命中次数 STAT touch_misses 0 //touch命令命中次数 STAT auth_cmds 0 //认证命令处理的次数 STAT auth_errors 0 //认证失败数目 STAT bytes_read 545701515844 //总读取字节数(请求字节数) STAT bytes_written 1649639749866 //总发送字节数(结果字节数) STAT limit_maxbytes 2147483648 //分配给memcache的内存大小(字节) STAT accepting_conns 1 //服务器是否达到过最大连接(0/1) STAT listen_disabled_num 0 //失效的监听数 STAT threads 4 //当前线程数 STAT conn_yields 14 //连接操作主动放弃数目 STAT hash_power_level 16 // STAT hash_bytes 524288 STAT hash_is_expanding 0 STAT expired_unfetched 30705763 STAT evicted_unfetched 0 STAT bytes 61380700 //当前存储占用的字节数 STAT curr_items 28786 //当前存储的数据总数 STAT total_items 75441133 //启动以来存储的数据总数 STAT evictions 0 //为获取空闲内存而删除的items数(分配给memcache的空间用满后需要删除旧的items来得到空间分配给新的items) STAT reclaimed 39957976 //已过期的数据条目来存储新数据的数目 END 退出:quit或者ctrl + ] 然后在按q就行了。 安装telenet方法 1、yum install telnet-server 服务端 2、yum install telnet 客户端 3、vi /etc/xinetd.d/telnet service telnet{ flags = REUSE socket_type = stream wait = no user = root server = /usr/sbin/in.telnetd log_on_failure += USERID disable = yes}将disable项由yes改成no。 4、/etc/init.d/xinetd restart 其他方式: 前项目中,linux下memcached的启动/结束的方式 默认情况下memcached安装到/usr/local/bin下。 进入安装目录,启动memcached:/usr/local/memcached/bin/memcached -d -c 10240 -m 1024 -u root 获取运行状态:echo stats | nc localhost 11211(可以查看出pid) 或使用ps -ef|grep memcached 停止memcached:kill -9 pid (-9表示强制杀死,pid 为进程的进程标识符) -d 选项是启动一个守护进程, -m 是分配给Memcache使用的内存数量,单位是MB,这里是1024MB,默认是64MB -u 是运行Memcache的用户,这里是root -l 是监听的服务器IP地址,默认应该是本机-p 是设置Memcache监听的端口,默认是11211,最好是1024以上的端口 -c 选项是最大运行的并发连接数,默认是1024,这里设置了10240,按照你服务器的负载量来设定 -P 是设置保存Memcache的pid文件位置 -h 打印帮助信息 -v 输出警告和错误信息 -vv 打印客户端的请求和返回信息 ps -ef|grep memcached(命令说明) grep:功能说明:查找文件里符合条件的字符串。 |:管道命令操作符 ps(process status):功能说明:报告程序状况。连接到 memcached: telnet ip 端口,如telnet 192.168.100.11 11211 stats查看状态,flush_all:清楚缓存 查看memcached状态的基本命令,通过这个命令可以看到如下信息: STAT pid 22459 进程ID STAT 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 进程累计系统时间 STAT curr_connections 10 当前打开连接数 STAT total_connections 82 曾打开的连接总数 STAT connection_structures 13 服务器分配的连接结构数STAT cmd_get 54 执行get命令总数 STAT cmd_set 34 执行set命令总数 STAT cmd_flush 3 指向flush_all命令总数 STAT get_hits 9 get命中次数 STAT get_misses 45 get未命中次数 STAT delete_misses 5 delete未命中次数 STAT delete_hits 1 delete命中次数 STAT incr_misses 0 incr未命中次数 STAT incr_hits 0 incr命中次数 STAT decr_misses 0 decr未命中次数 STAT decr_hits 0 decr命中次数STAT cas_misses 0 cas未命中次数STAT cas_hits 0 cas命中次数STAT cas_badval 0 使用擦拭次数 STAT auth_cmds 0 STAT auth_errors 0 STAT bytes_read 15785 读取字节总数 STAT bytes_written 15222 写入字节总数 STAT limit_maxbytes 1048576 分配的内存数(字节) STAT accepting_conns 1 目前接受的链接数 STAT listen_disabled_num 0 STAT threads 4 线程数 STAT conn_yields 0 STAT bytes 0 存储item字节数 STAT curr_items 0 item个数 STAT total_items 34 item总数 STAT evictions 0 为获取空间删除item的总数 另外一个例子:启动/结束 memcached -d -m 10 -u root -l 192.168.0.122 -p 11200 -c 256 -P /tmp/memcached.pid -d 选项是启动一个守护进程, -m 是分配给Memcache使用的内存数量,单位是MB,这里是10MB -u 是运行Memcache的用户,这里是root -l 是监听的服务器IP地址,如果有多个地址的话,这里指定了服务器的IP地址192.168.0.122 -p 是设置Memcache监听的端口,这里设置了12000,最好是1024以上的端口 -c 选项是最大运行的并发连接数,默认是1024,这里设置了256,按照你服务器的负载量来设定 -P 是设置保存Memcache的pid文件kill `cat /tmp/memcached.pid` 获取运行状态 echo stats | nc 192.168.1.123 11200 watch "echo stats | nc 192.168.1.123 11200" (实时状态)

windows环境怎么解决 memcached 未授权访问漏洞

腾讯安全提到过这个,可以安装一个电脑管家在电脑上然后打开工具箱,在里面找到修复漏洞功能使用这个功能,去修复电脑所有检测出的高危漏洞即可

如何用英语发音“Memcached”

The keen whistle sings; the mutinous ones

redis和memcached的区别

支持的类型不同,redis数据类型更多,或者叫更丰富。导致使用场景少。memcache原生不支持分布式,redis可以。memcache的发展不如redismemcache单key没有redis大。

memcached新建的服务启动不了,跪求原因及办法

要将memcached作为系统服务启动,需要在/etc/init.d/目录下新建一个脚本,名称为:memcached。内容如下:[plain] view plain copy #! /bin/bash # # memcached start/stop the memcached daemon # # chkconfig: 35 80 70 # description: memcached is a memory cache server. # prog="memcached" exec=/usr/local/memcached/bin/memcached lockfile=/var/lock/subsys/memcached # source function library. . /etc/rc.d/init.d/functions start() { if [ $UID -ne 0 ]; then echo "User has insufficient privilege." exit 4 fi [ -x $exec ] || exit 5 echo -n $"starting $prog: " daemon $exec -u root -d -P /var/run/memcached.pid retval=$? echo [ $retval -eq 0 ] && touch $lockfile } stop() { if [ $UID -ne 0 ]; then echo "User has insufficient privilege." exit 4 fi echo -n $"Stopping $prog: " if [ -n "`pidfileofproc $exec`" ]; then killproc $exec else failure $"stopping $prog" fi retval=$? echo [ $retval -eq 0 ] && rm -f $lockfile } restart() { stop start } rh_status() { # run checks to determine if the service is running or use generic status status $prog } rh_status_q() { rh_status >/dev/null 2>&1 } case "$1" in "start") rh_status_q && exit 0 $1 ;; "stop") rh_status_q || exit 0 $1 ;; "restart") rh_status_q || exit 7 $1 ;; "status") rh_status ;; *) echo $"Usage: $0 {start|stop|status|restart}" exit 2 ;; esac exit $? 此脚本使用了functions文件里的函数,因此需要将其加载进来。 因为要判断memcached服务的运行状态,所以在调用memcached程序时,传递了pid文件参数。因为在此脚本中判断运行状态以及停止memcached服务时,是使用pid文件来进行的。 由上面的脚本可以看出,提供了四个动作:start、stop、status、restart。memcached服务的启动 通过执行以下命令可以使memcached服务启动:[plain] view plain copy [root@rhl6 init.d]# service memcached start starting memcached: [ OK ] 或[plain] view plain copy [root@rhl6 init.d]# ./memcached start starting memcached: [ OK ] memcached服务开机启动 查看memcached服务是否在chkconfig管理列表:[plain] view plain copy [root@rhl6 init.d]# chkconfig --list memcached service memcached supports chkconfig, but is not referenced in any runlevel (run "chkconfig --add memcached") 由提示信息可以看出,memcached还没有加入chkconfig管理,将其加入chkconfig管理:[plain] view plain copy <p><pre class="plain" name="code">[root@rhl6 init.d]# chkconfig --add memcached 再次查看memcached服务被管理:[plain] view plain copy [root@rhl6 init.d]# chkconfig --list memcached memcached 0:off 1:off 2:off 3:on 4:off 5:on 6:off 可以看到,在运行级别3、5上,memcached服务已经设置为开机启动了。这个设置是在shell脚本中设置的(上面脚本第五行):[plain] view plain copy # chkconfig: 35 80 70 ufeffufeff

在windows上安装memcached要同时安装memcache扩展吗

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。

memcached哪一年发布的

版本发布2012年02月03日,Memcached 1.4.13 发布。2012年08月02日,Memcached 1.4.14 发布。2012年09月05日,Memcached 1.4.15 发布。2015年04月25日,Memcached 1.4.23发布。Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。

memcache 如何卸载呢

方法/步骤 1 将下载的memcached.exe文件放到磁盘固定的地方,不要删除。 打开开始菜单,在输入框里输入cmd按回车。 2 在出现的弹出窗中输入c:memcachedmemcached.exe -d install 3 再输入: "c:memcachedmemcached.exe -d start" 启动。NOTE...

linux怎么查看memcached安装目录

  1.由于memcached依赖于libevent,因此需要安装libevent。由于linux系统可能默认已经安装libevent,执行命令:rpm-qagreplibevent查看系统是否带有该安装软件,如果有执行命令:rpm-elibevent-1.4.13-4.el6.x86_64--nodeps(由于系统自带的版本旧,忽略依赖删除)3.安装libevent命令:tarzxvflibevent-2.0.21-stable.tar.gzcdlibevent-2.0.21-stable./configure--prefix=/usr/local/libeventmakemakeinstall至此libevent安装完毕;安装过程中出现:configure:error:noacceptableCcompilerfoundin$PATH错误时是没有安装gcc,运行如下命令:yuminstallgcc*make*4.安装memcached命令:tarzxvfmemcached-1.4.2.tar.gzcdmemcached-memcached-1.4.2./configure--prefix=/usr/local/memcached--with-libevent=/usr/local/libevent/makemakeinstall至此memcached安装完毕;5.当启动memcached时经常不能发现libevent.so;可以通过以下命令检查:进入/usr/local/memcached/bin目录LD_DEBUG=help./memcached-vLD_DEBUG=libs./memcached。
 首页 上一页  1 2 3 4 5 6  下一页  尾页