This topic created in 3885 days ago, the information mentioned may be changed or developed.
今天去面试,提到以前的项目使用 Redis ,面试官(他是做.net 的, 不懂 php )问既然你们项目没有用到分布式部署,为什么要用 Redis ,而不直接用本机的内存
我说 Redis 就是和项目放在一台机上的,就是使用本机内存,他说 Redis 、 Memcached 这些是分布式的技术,即使在本机调用也会有消耗(忘了具体说法,我理解是通过端口会造成一定消耗)
于是问题来了, 我猜.net 可以直接保存到内存里,但他的说法如果在 PHP 下是否有道理? PHP 下有哪些“非分布式”内存缓存技术可用?
9 replies • 2015-10-19 12:07:36 +08:00
 |
|
1
xuxu Oct 12, 2015
APC 之类的
|
 |
|
2
timsims Oct 12, 2015
APC 都 deprecated 了
|
 |
|
3
chairuosen Oct 12, 2015
他不知道 PHP 是一次性的呀? 之前项目用的 yac
|
 |
|
4
moro Oct 12, 2015
PHP 有 opcache ,这个是代码缓存 Redis 是内存数据库,有很多数据格式支持,缓存只是当 mamcached 用了。 Memcached 分布式只是放在不同机器上,通过一定算法 hash key 找到指定机器而已,其实还是单机的。 redis3 分布式是非集中式的,每个节点都可以转发。 内存缓存已经不是 php 的范畴,只是 php 拿来用而已。
|
 |
|
5
jhdxr Oct 13, 2015 1
.net 之类的是可以常驻内存的,所以你可以直接申请一个变量当做缓存用。。。但是 php 是单次请求完了就挂了。。。所以一般内存缓存都是借助别的。。。
|
 |
|
6
zhengkai Oct 13, 2015
跟他讲第 22 条军规吧:
如果你所有服务只用一台机器,说明你压根不需要在乎浪费的那一点点性能
|
 |
|
7
ryd994 Oct 13, 2015 via Android
他就不考虑可扩展性么? 他就不知道 PHP 一次性么? 还是说他只说希望你答 loopback 的开销所以应该用 sockfile ?
|