Memcached 和 Redis 有什么区别,WordPress 使用哪个做缓存好?
前面介绍了使用 Memcached 内存缓存来提高 WordPress 站点速度,看到大家留言最多的问题,就是关于 Redis 和 Memcached 的比较。今天就给大家做一个简单介绍。
Memcached 和 Redis 有什么区别
Memcached 是一个分布式内存缓存系统,设计简单易用,非常适合用作缓存或会话存储。
Redis 是一个内存中的数据结构存储,它提供了一系列丰富的特性,它作为缓存、数据库、消息代理和队列非常有用。
Redis 的作者 Salvatore Sanfilippo 曾经对这两种基于内存的数据存储系统进行过比较:
- Redis 支持服务器端的数据操作:Redis 相比 Memcached 来说,拥有更多的数据结构和并支持更丰富的数据操作,通常在 Memcached 里,你需要将数据拿到客户端来进行类似的修改再 set 回去。这大大增加了网络 IO 的次数和数据体积。在 Redis 中,这些复杂的操作通常和一般的 GET/SET 一样高效。所以,如果需要缓存能够支持更复杂的结构和操作,那么 Redis 会是不错的选择。
- 内存使用效率对比:使用简单的 key-value 存储的话,Memcached 的内存利用率更高,而如果 Redis 采用 hash 结构来做 key-value 存储,由于其组合式的压缩,其内存利用率会高于 Memcached。
- 性能对比:由于 Redis 只使用单核,而 Memcached 可以使用多核,所以平均每一个核上 Redis 在存储小数据时比 Memcached 性能更高。而在 100k 以上的数据中,Memcached 性能要高于 Redis,虽然 Redis 最近也在存储大数据的性能上进行优化,但是比起 Memcached,还是稍有逊色。
总结一下:Memcached 是解决简单缓存问题的可靠选择,而 Redis 通过提供更丰富的功能和各种各样的特性而优于 Memcached,这些特性对于解决复杂的场景更有优势。
WordPress 使用哪个做缓存好?
如果单纯作为内存缓存来使用,两者其实没有什么区别,那么为什么 WPJAM Basic 为什么使用 Memcached 呢?
首先因为使用简单的 key-value 存储的话,Memcached 的内存利用率更高,另外我们一开始就选择了 Memcached 做 WordPress 的内存缓存的存储介质,并且在使用 Memcached 做内存缓存过程中,针对出现的各种的问题,我也做了很多的优化,比如我们在后台「WPJAM」菜单下的「系统信息」中展示「Memcached」的各种信息。
当然如果你已经使用了 Redis 做内存缓存或者更熟悉 Redis,WordPress 官方插件库也有很多第三方提供了 Redis 的 object-cache.php,和使用 Memcached 一样,只需要将对应的 object-cache.php 上传到 wp-content 目录即可。
也有很多小伙伴问,WPJAM Basic 会不会集成 Redis,这个可以明确的说,目前作为简单缓存功能,Memcached 已经足够好用,不会再花时间集成 Redis。当然,我也会使用 Redis 做其他功能的开发,比如 Redis 天然单线程,在花生小店秒杀的功能中就是使用 Redis 进行处理的,还有一些简单的消息队列处理,也是基于 Redis 进行二次开发的。
所以最后总结说一下,如果简单的内存缓存,建议使用 Memcached,WPJAM Basic 也优化得非常完善,如果要进行复杂的程序开发,比如上面说的电商的秒杀功能 ,消息队列系统,那么 Redis 才是发挥其长处的地方。
相关文章
- 实时更新:Redis实现强力数据库缓存(redis实时更新)
- 用Spark轻松写入Redis(spark写入redis)
- Redis的强大持久化保障(redis的持久化机制)
- 缓存破坏性行为:重塑实时数据缓存之路——删除Redis缓存(删除redis)
- 如何实现 Redis 的多连接管理?(redis多连接)
- 利用Redis缓存实现网站数据预热(redis 缓存预热)
- php中使用Redis:更快更灵活的缓存实现(redis的php扩展)
- 如何使用Redis进行远程连接(怎样连接redis)
- Redis如何设置高效的缓存机制(怎么用redis设置缓存)
- 深入理解Redis缓存技术(怎么理解redis缓存)
- 基于Redis的缓存系统开发技术(开发redis)
- 网络融合网页与Redis的连接(网页与redis通讯)
- 优雅用于Redis实现更轻松的缓存管理(用过redis)
- 实现高性能缓存Redis学习之旅(用实现缓存redis)
- 本地缓存与Redis谁更快(本地缓存和redis谁快)
- 清理微服务环境的Redis缓存大幅提升系统性能(清除微服务redis缓存)
- 测试Redis缓存提升网络性能的有力帮手(测试 redis缓存)
- 缓存拥抱未来构建基于注解式Redis缓存的架构(注解式redis)
- 合二为一两个Redis的整合之路(两个redis合并)
- SSM框架搭建优化基于Redis的缓存策略(ssm集成redis缓存)
- 分布式环境下Redis过期监控实践(分布式redis过期监听)
- 用Redis来加速网站导航条的加载(导航条用redis做缓存)
- Redis实现高性能高可用的高并发系统(redis 高并发高可用)
- 精准掌握Redis集群运维管理(redis 集群运维管理)
- Redis提升应用层性能的利器(redis集成在哪一层)
- Redis实现的存储技术有哪些(redis里面存什么)
- 破解钥匙Redis配置文件的开启(redis配置文件打开)
- 实时监控Redis中Key的过期状态(redis过期实时触发)
- 利用Redis重塑复杂密码的安全防护屏障(redis设置复杂密码)
- Redis解压后悲剧闪退(redis解压后闪退)
- Redis预防缓存血崩的最佳护航(redis 缓存血崩)