PHP 下可使用哪些“非分布式”内存缓存技术?

2015-10-12 17:41:45 +08:00
 timsims
今天去面试,提到以前的项目使用 Redis ,面试官(他是做.net 的, 不懂 php )问既然你们项目没有用到分布式部署,为什么要用 Redis ,而不直接用本机的内存

我说 Redis 就是和项目放在一台机上的,就是使用本机内存,他说 Redis 、 Memcached 这些是分布式的技术,即使在本机调用也会有消耗(忘了具体说法,我理解是通过端口会造成一定消耗)

于是问题来了, 我猜.net 可以直接保存到内存里,但他的说法如果在 PHP 下是否有道理? PHP 下有哪些“非分布式”内存缓存技术可用?
2487 次点击
所在节点    PHP
9 条回复
xuxu
2015-10-12 17:46:23 +08:00
APC 之类的
timsims
2015-10-12 17:49:39 +08:00
APC 都 deprecated 了
chairuosen
2015-10-12 17:51:45 +08:00
他不知道 PHP 是一次性的呀?
之前项目用的 yac
moro
2015-10-12 22:42:16 +08:00
PHP 有 opcache ,这个是代码缓存
Redis 是内存数据库,有很多数据格式支持,缓存只是当 mamcached 用了。
Memcached 分布式只是放在不同机器上,通过一定算法 hash key 找到指定机器而已,其实还是单机的。
redis3 分布式是非集中式的,每个节点都可以转发。
内存缓存已经不是 php 的范畴,只是 php 拿来用而已。
jhdxr
2015-10-13 00:05:57 +08:00
.net 之类的是可以常驻内存的,所以你可以直接申请一个变量当做缓存用。。。但是 php 是单次请求完了就挂了。。。所以一般内存缓存都是借助别的。。。
zhengkai
2015-10-13 11:49:18 +08:00
跟他讲第 22 条军规吧:

如果你所有服务只用一台机器,说明你压根不需要在乎浪费的那一点点性能
ryd994
2015-10-13 23:19:10 +08:00
他就不考虑可扩展性么?
他就不知道 PHP 一次性么?
还是说他只说希望你答 loopback 的开销所以应该用 sockfile ?
nofeeling
2015-10-15 14:08:53 +08:00
swoole_table
shuimugan
2015-10-19 12:07:36 +08:00
挑个 php 框架看下文档的缓存部分就可以知道 php 常用的缓存组件咯
http://www.yiichina.com/doc/guide/2.0/caching-data
用 redis 个人认为的好处就是管理方便,无论是 cli 还是 gui 工具都不错

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/227454

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX