您的位置:首页 > wordpress

Redis和Memcached哪个比较好?
wordpress 2024-9-22编辑:深圳网站建设阅读( WordPress 比较好 Redis

最近WordPress大学推出了“WordPress快站”系统,很【hěn】荣幸【xìng】,能【néng】得【dé】到倡萌校长【zhǎng】的测试,初步【bù】看的时候【hòu】,看到WordPress快站目前仅支持【chí】Redis内存缓【huǎn】存,由【yóu】于用【yòng】的是Memcached,今天就针对“Redis和【hé】Memcached用哪个比较好”来进行讨【tǎo】论。

Redis和Memcached两者相似之处

让我们先【xiān】从二者的相【xiàng】似之处谈【tán】起。Memcached与【yǔ】Redis都【dōu】属于内【nèi】存内、键值数据存储方案。它们都【dōu】从属于数据管理解【jiě】决方案中的NoSQL家族,而且都基于同样的键值数【shù】据模型。双方都选【xuǎn】择将全部数据保存在内存当中,这【zhè】自然也就【jiù】让【ràng】它们成为【wéi】非常理【lǐ】想的缓冲层实现方案。从性能表【biǎo】现的角度来看,两类数据【jù】存【cún】储【chǔ】机制【zhì】也具备诸【zhū】多共通性,包括【kuò】拥【yōng】有几乎相【xiàng】同的特征(与指标【biāo】)表现、而【ér】且高度关注工【gōng】作负【fù】载的【de】数据吞吐量与【yǔ】延迟状况【kuàng】。

除了同为内存内键值【zhí】数【shù】据存储方案,Memcached与【yǔ】Redis还都【dōu】是相当成熟而【ér】且极具人气的开源项目。Memcached最初【chū】是由【yóu】Brad Fitzpatrick于2003年开发而成【chéng】,当【dāng】时其直接服务对【duì】象【xiàng】为LiveJournal交友网【wǎng】站【zhàn】。在此之后,Memcached被重新用【yòng】C语言进行了编写(其最初【chū】实现【xiàn】方式为Perl语【yǔ】言)且【qiě】投身于公共领域,并【bìng】在这里【lǐ】逐步发展为现代Web应用程序的构建基石【shí】。Memcached项目的当前开发工作主要【yào】关注其运行稳定性及优化效【xiào】果方面,而不再【zài】积【jī】极为【wéi】其打造更多新型功【gōng】能。

Redis则【zé】由【yóu】Salvatore Sanfilippo于2009年创建,而且时至【zhì】今【jīn】日Sanfilippo仍然担【dān】任着该项目的首席【xí】开【kāi】发者【zhě】以及【jí】惟一维护【hù】者的角色。Redis有时候会【huì】被人们【men】称为“强化版的Memcached”。考虑到从【cóng】Memcached身上【shàng】吸取并借【jiè】鉴到【dào】大量宝贵的经【jīng】验教训,这样的评价其实并不令人意外【wài】。Redis在功能多样性方面要胜过Memcached,这虽然让者更为【wéi】强大也更具【jù】灵活性、但其复杂程度也较后者为甚【shèn】。

作【zuò】为两【liǎng】套被众多【duō】企业采纳并部署在无数【shù】关键性生产任务环【huán】境当中的解决方案,Memcached与【yǔ】Redis在任何一种可行性编【biān】程【chéng】语言领【lǐng】域都拥有【yǒu】能够提供支持的客户端库,而且二者【zhě】也被【bèi】包含在开发人员们使用的多种库及【jí】软件包之【zhī】内。事【shì】实上,现在我们甚至已经很难【nán】找到一套不包含【hán】Memcached或者Redis内置【zhì】支【zhī】持【chí】机【jī】制【zhì】的【de】Web堆【duī】栈。

Memcached与Redis为什么如此【cǐ】受人拥戴?除了二者卓越的【de】实际【jì】效【xiào】果之外,双【shuāng】方各【gè】自极为简便的上手【shǒu】难度【dù】也是又【yòu】一大【dà】加分【fèn】项。无论是【shì】Memcached还是Redis,其使用便捷性在【zài】开发人员当中都可谓广为人【rén】知。只需要【yào】几分【fèn】钟我们就能完成安装工作,并让它们开【kāi】始与应用【yòng】程【chéng】序顺畅协作。换句【jù】话来说,只需投入一【yī】小部分时间与精【jīng】力,大【dà】家就能获得立竿见影且效果极【jí】佳的性能【néng】表现提【tí】升——具体而【ér】言,性能【néng】将直接【jiē】步入新的量级。面对【duì】如此简单而【ér】又【yòu】能【néng】够带来巨大收益的解决方案【àn】,又有谁能抗拒得了它们的诱【yòu】惑【huò】呢?

Redis和Memcached哪个比较好?

Memcached与Redis都属【shǔ】于内存内【nèi】、键值数据存储【chǔ】方案。它们都【dōu】从【cóng】属于数【shù】据管理解决方案中的NoSQL家族【zú】,而且都基于同【tóng】样的键【jiàn】值数据模型。双方都选择将全【quán】部【bù】数【shù】据保存在内存【cún】当【dāng】中【zhōng】,这自然【rán】也就让它们成为非【fēi】常理想的缓冲层实【shí】现方案。从性【xìng】能表现的【de】角度来看,两类数据存储机制也具备诸多共通性,包括拥有几【jǐ】乎相同的特征(与指标)表现、而且【qiě】高【gāo】度关注工作【zuò】负载的数【shù】据吞吐量与延【yán】迟状况。

Redis和Memcached哪个比较好?

再者就【jiù】是没有【yǒu】必要过多的关【guān】心性能,因【yīn】为二者的性能都已经足【zú】够【gòu】高了。由【yóu】于Redis只使用【yòng】单核,而Memcached可以使用【yòng】多核,所以在比【bǐ】较上【shàng】,平均【jun1】每一个核上【shàng】Redis在存储小数据时比【bǐ】Memcached性能更高。而在100k以上的数据中,Memcached性能要【yào】高于Redis,虽然Redis最【zuì】近【jìn】也【yě】在【zài】存储大数据的性能上进【jìn】行【háng】优化【huà】,但【dàn】是比起【qǐ】Memcached,还是【shì】稍有逊色。说了这么【me】多,结论是,无论你使用哪一个,每秒处理请【qǐng】求的【de】次数都【dōu】不会成为瓶颈。(比如瓶颈可能会在网卡)

何时应该使用Memcached

相比Redis,Memcached真的过时了吗?

相【xiàng】对Memcached而言,Redis的面世时间更【gèng】晚且【qiě】具备【bèi】更多功能,因此【cǐ】开发人【rén】员通常【cháng】将其视为默【mò】认性首【shǒu】选方案。不过有两类特殊场景仍然是【shì】Memcached的【de】一家【jiā】天下。首【shǒu】先就是对小型静态数据【jù】进行【háng】缓存处理,最具代【dài】表性的例子就【jiù】是【shì】HTML代码片【piàn】段。Memcached的内【nèi】部内存管理【lǐ】机【jī】制虽然不【bú】像Redis的那样复杂,但却更【gèng】具实际效率——这是【shì】因为Memcached在处【chù】理元【yuán】数据时所消耗【hào】的内存资源相对更少【shǎo】。作为Memcached所【suǒ】支持的惟一一种数据类【lèi】型【xíng】,字符串非常适合用于保存那些只需要进行读取【qǔ】操作的数据,因为字符串本【běn】身【shēn】无需进行进【jìn】一步【bù】处理。

除此之【zhī】外,Memcached在横向扩展方面也比Redis更【gèng】具优势。由于其在设计上【shàng】的【de】思路【lù】倾向以及相对更为简单【dān】的功能设置,Memcached在实现扩展时的难【nán】度比Redis低得【dé】多。不过【guò】根据我们【men】了解【jiě】到【dào】的情况,目【mù】前已经有多【duō】种【zhǒng】经过测试且切实有【yǒu】效的方【fāng】案能够将【jiāng】Redis扩展至多台服【fú】务器之上,而【ér】其即【jí】将【jiāng】发布的3.0版【bǎn】本(感兴趣的朋友【yǒu】可以点【diǎn】击此处查看其候选【xuǎn】版本说明)将包含专门针【zhēn】对横向扩展场景【jǐng】的内【nèi】置集群化机制。

推荐阅读

  • Memcached 内存缓存图形化界面监控页面》
  • 《phpstudy搭建wordpress启用Memcached内存缓存加速》
  • 《宝塔面板通过计划任务定期释放PHP占用的内存》

何时应该使用Redis

我想,关于Redis和Memcached的【de】比【bǐ】较,可能【néng】没【méi】有【yǒu】多少人能比Redis作者本人能说得更好。

如【rú】果【guǒ】要说内存使用效率,使用简【jiǎn】单【dān】的key-value存储的话,Memcached的内存利用率更高,而如果Redis采用【yòng】hash结构来做key-value存储,由【yóu】于其组合【hé】式的压缩,其【qí】内【nèi】存利【lì】用率会高于Memcached。当然,这和你的应用场景和数据特性有【yǒu】关。

如果你对数据【jù】持久化和数据同【tóng】步有所【suǒ】要求,那么推荐你【nǐ】选择Redis,因为这两个特性Memcached都不具备。即使你【nǐ】只是希【xī】望【wàng】在升【shēng】级或者【zhě】重启系统后【hòu】缓存【cún】数据不【bú】会丢失【shī】,选择Redis也是明智的。

当然,最后还得说到你的具体应用需【xū】求【qiú】。Redis相【xiàng】比Memcached来说,拥有【yǒu】更多的数据结构和并支持更丰【fēng】富【fù】的数【shù】据操作,通常在【zài】Memcached里,你需要将数据拿到【dào】客户端来进行类【lèi】似的修改再【zài】set回去。这【zhè】大大增加了网络IO的【de】次数和【hé】数据体积。在Redis中【zhōng】,这些【xiē】复杂的操作通常和一般的【de】GET/SET一样高效。所以,如【rú】果你需要缓存能【néng】够支持更复杂的结【jié】构和操【cāo】作,那【nà】么Redis会是不错的【de】选择。

最终选择

其实自己最终还是用【yòng】Memcached,觉得吧【ba】,同上所【suǒ】述二者的性能【néng】都【dōu】已【yǐ】经【jīng】足够高了【le】。而无论你使用哪一个,每秒处理请求的次数都不会超【chāo】过我这服务器的瓶【píng】颈,而Memcached已经在Linux服务器上【shàng】安装了,并成【chéng】功提【tí】速【sù】10倍以上(网页末尾有【yǒu】时间显示,各位小【xiǎo】伙伴可以看看),并且【qiě】WordPress后台同样只【zhī】需要安装【zhuāng】一个插【chā】件即可。目前对【duì】于【yú】我来说并没有额外的需求,等哪天真【zhēn】有需要了【le】,或者一【yī】时兴【xìng】起【qǐ】了,再换【huàn】Redis玩。

服务范围:WordPress搭建【jiàn】、WordPress主题开发【fā】、WordPress二次【cì】开发、WordPress插件开发
其它【tā】服务:网【wǎng】站建设、企业邮【yóu】箱、数字证书ssl、400电话、
技术标签:企业网站、外贸网站、外贸商城、其它问题
联系方式:电话:13714666846 微信同号

企业网站定制

企业网站定制 根据企业需求,量身定制设计

企业网站定制:2800元起
添加微信 请说明来意
联系我们
站内搜索 MORE+

24小时服务热线 0755-29765948
  • 地址:深圳市罗湖区人民北路2033号206
  • 电话:0755-29765948 传真【zhēn】:82256610
  • 手机:13714666846 18948334877
  • 邮箱:gong@city96.com 164761418@qq.com
  • 粤ICP备14049207号
创意化数字品牌整合网络营销
营销网站让你坐等商机坐佣客户,Rss

版权所有:深圳市网商在线科技有限公司

版权所有:深圳市网商在线科技有限公司
友情连接link: