PHP扩展memcache和memcached的区别
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。
PHP的客户端目前常用的有两个,一个是memcache,另一个是memcached,两个客户端只差了一个字母,这两个的区别是什么呢?
- 服务器中的memcached进程跑的是memcached服务;
- 实现了memcached接口的PHP扩展memcache,在PHP框架之内实现的;
- 实现了memcached接口的PHP扩展memcached,基于libmemcached实现;
手册是最好的说明(大家没事还是多看看官方说明吧):
memcached
memcached类官方说明
memcached扩展包
memcache
memcache类官方说明
memcache扩展包
- 下面是PHP官网给予的相应解释
- For those confuse about the memcached extension and the memcache extension, the short story is that both of them are clients of memcached server, and the memcached extension offer more features than the memcache extension.
大致意思是memcached extension和memcache extension都是memcached server的客户端,memcached extension比memcache extension的功能要多。
不带d的memcache版本,这个版本出的比较早,是一个原生版本,完全在php框架内开发的。与之对应的带d的memcached是建立在libmemcached的基础上,所以相对来说,memcached版本的功能更全一些。
两个都支持一致性hash算法:
- memcache
# 修改php.ini
[Memcache]
Memcache.allow_failover = 1
Memcache.hash_strategy = consistent
Memcache.hash_function = crc32
- memcached
$memcachedObj = new memcached();
$memcachedObj->setOption(Memcached::OPT_DISTRIBUTION,Memcached::DISTRIBUTION_CONSISTENT);
$memcachedObj->setOption(Memcached::OPT_LIBKETAMA_COMPATIBLE,true);
另外说一下session在memcached(注意这个是指memcached服务)中的存储,下面是配置
# memcache:
session.save_handler = memcache
session.save_path = "tcp://localhost:11211"
# memcached:
session.save_handler = memcached
session.save_path = "localhost:11211"
分类:
PHP&mysql
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2017-07-11 判断PC或mobile设备
2017-07-11 sql语法:inner join on, left join on, right join on详细使用方法
2017-07-11 windows下使用命令行运行PHP
2017-07-11 Windows下用cmd命令实例讲解yii2.0 的控制台定时任务
2017-07-11 解决苹果手机点击返回键页面不刷新问题
2017-07-11 获取ip,获取客户端浏览器,获取客户端访问操作系统,获取客户端访问设备
2017-07-11 过滤特殊字符(包括过滤emoji表情)