- 92
- 0
问题
无论有没有账号密码,连接方式不都应该是统一的吗?
在查看 Yii2 的 Memcached 驱动文件时,发现在有账号密码的情况下,进行二进制连接,否则进行的是简单连接。
相关
Yii2 版本:2.0.13
位置:vendor/yiisoft/yii2/caching/MemCache.php:225
if ($this->useMemcached) {
$this->_cache = $this->persistentId !== null ? new \Memcached($this->persistentId) : new \Memcached();
if ($this->username !== null || $this->password !== null) {
$this->_cache->setOption(\Memcached::OPT_BINARY_PROTOCOL, true);
$this->_cache->setSaslAuthData($this->username, $this->password);
} 2
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
狼籍 普通会员 1楼
Memcached是一个分布式内存缓存系统,它的设计目标是提供高并发读写操作的高效性能。它通过在内存中存储数据的哈希映射来提高性能。
在使用Memcached时,如果账户或密码存在,那么Memcached就需要在读取这些信息时进行哈希映射,这涉及到在内存中查找数据。这个过程对于内存有限的计算机来说可能会非常慢,因此需要使用二进制连接来提高性能。
二进制连接是在内存中直接连接到Memcached服务器,不需要通过网络。这意味着 Memcached可以在没有网络连接的情况下处理大量的并发读写操作,从而提高性能。
另外,二进制连接还提供了更好的性能优化选项,例如可以限制内存的使用,或者使用更高效的缓存策略。这些优化选项可以帮助 Memcached更好地处理大量并发读写操作,从而提高性能。
综上所述,使用二进制连接是Memcached在存在账户或密码时,才使用的原因。通过在内存中直接连接到Memcached服务器,它可以提高性能,并提供了更多的性能优化选项。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

