Memcached真的过时了吗
这两年 Redis火得可以,Redis也常常被当作 Memcached的挑战者被提到桌面上来。关于Redis与Memcached的比较更是比比皆是。然而,Redis真的在功能、性能以及内存使用效率上都超越了Memcached吗?
没有必要过于关注性能,因为二者的性能都已经足够高了。由于Redis只使用单核,而Memcached可以使用多核,所以二者比较起来,平均每一个核上,Redis在存储小数据时比Memcached性能更高。而在100k以上的数据中,Memcached性能要高于Redis。虽然Redis最近也在存储大数据的性能上进行优化,但是比起Memcached,还是稍有逊色。说了这么多,结论是,无论你使用哪一个,每秒处理请求的次数都不会成为瓶颈。
在内存使用效率上,如果使用简单的key-value存储,Memcached的内存利用率更高。而如果Redis采用hash结构来做key-value存储,由于其组合式的压缩,其内存利用率会高于Memcached。当然,这和你的应用场景和数据特性有关。
如果你对数据持久化和数据同步有所要求,那么推荐你选择Redis。因为这两个特性Memcached都不具备。即使你只是希望在升级或者重启系统后缓存数据不会丢失,选择Redis也是明智的。
当然,最后还得说到你的具体应用需求。Redis相比Memcached来说,拥有更多的数据结构,并支持更丰富的数据操作。通常在Memcached里,你需要将数据拿到客户端来进行类似的修改再set回去。这大大增加了网络IO的次数和数据体积。在Redis中,这些复杂的操作通常和一般的GET/SET一样高效。所以,如果你需要缓存能够支持更复杂的结构和操作,那么Redis会是不错的选择。
memcached 1.4.5后怎么启动
因为1.4.5开始就不是作为一个服务了,而是作为一个任务,要启动就:
1、先创建任务,在cmd内打如下指令
schtasks /create /sc onstart /tn memcached /tr "'c:\memcached\memcached.exe' -m 512"
注意:你需要使用真实的路径替代 c:\memcached\memcached.exe。
注意:-m 512 意思是设置 memcached 最大的缓存配置为512M。
注意:我们可以通过使用 "c:\memcached\memcached.exe -h" 命令查看更多的参数配置。
2、同样cmd打指令:
memcached //会没有任何反应,就表示你现在已经开启任务了
或者
手动双击你的memcached.exe ,然后就跳出个框,就启动了
jQuery真的过时了吗
jQuery真的过时了:
以下内容可能会引起看官的不适,非喜轻喷。
我来换个角度,尝试发掘一下问题背后的问题,也尝试从新角度回答类似“XX是否过时"的问题。
事
情的经过不一定是这样的:出于众所周知或者众所不知的原因,题主想要学习web前端开发,在简单的学习之后,打算找一个框架/库来学一下,度娘告诉题主很
多相关内容,于是题主没了主意,因为jQuery名气太大了,到处都在用它,因为jQuery太老了,还值不值得学习,于是才有了这个提问。
提个新问题:题主为什么会问出这样的问题?
直白的说,题主缺乏对前端各种框架、库的了解,无法进行整体对比与分析。
往深了看,题主缺乏对事物发展的一般规律的了解,也就是世界观尚未成型。
纵观世上之物,状态无非两种:
1. 存在过
2. 存在着
纵观世上之物,结局无非两种:
1. 死得早
2. 死得晚
即然消失已是必然,是否曾经存在过就没有意义了呢?答案谁都清楚。
于人类而言,肉体太容易消失,而精神可以较长时期的存在。
于前端而言,jQuery迟早消失,可是jQuery的一些思想,不是在其它地方活得好好的么!
尽管jQuery已经存在10余年了,可是jQuery一直在维护,还在开发新版本3.0,谁敢保证jQuery新版本不会带来一场新的革命呢!
所以,这根本不是一个可以用会或者不会来回答的问题,要学会用发展的眼光去看待事物。
流行的未必能成为经典
经典是长久的流行
作为一个库,jQuery能在计算机软件领域存在十余年,绝非偶然。它的选择符、易用的API、跨浏览器兼容、DOM元素批处理、插件提供的代码复用等等,个个特性都有强大的理论支持。
对于眼里只有API的人来说,jQuery可能已经过时了,尽管如此,当下,它仍然好用。
对于题主来说,个人以为,jQuery代表的前端水平,已经远远超过你了。
不管题主是出于要学习的目的,还是要使用的目的,jQuery都可以选择,但可能不是最佳选择。
memcached 的flushAll,是不是不清除数据
没有flushAll,只有flush()函数,只是标记数据为删除,没有真正删除数据
memcached可以持久化吗
memcached 是缓存系统,通过名字就可以看出来,官网也明确说了(Free & open source, high-performance, distributed memory object caching system),之所以是缓存系统,就说明它不会作为可靠的数据存储,所以并不支持持久化。
另一个是redis,他是一个存储系统,官网也说了。只不过redis是在内存中存储的,所以速度快,因为是存储系统,所以可以作为一个可靠的数据存储系统。支持持久化。
memcached 可以设置数据永不过期吗
Memcached 的set方法有个参数expiration time,设为0表示永不过期。
可以下载TreeNMS管理工具,进行操作验证。
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将数据库负载大幅度降低,更好的分配资源,更快速访问。
怎么设置memcached的数据为永不过期
定期从DB里查询数据,再刷
到memcached里 这种方法有个缺点是,
有些业务的key可能是变化的,不确定的。 而且不好界定哪些数据是应该查询出来放到缓存中的,难以区分冷热数据。 2.当缓存取到为null时,加锁去查询DB,只允许一个线程去查询DB 这..