我很少有人对PHP中的服务器端缓存感到困惑。我正在使用Yii2来设置MemCache。我的问题是: -
1.如何使用id?
获取缓存变量的过期时间\Yii::$app->cache->set('cacheId',$counter,$expireTime); //set cache with id cacheId
2.如果我在没有$ expireTime的情况下设置相同的缓存ID /覆盖缓存ID。它将采用默认的过期时间或之前的时间吗?
\Yii::$app->cache->set('cacheId',\Yii::$app->cache->get(cacheId)+1); //overwrite cachewith id cacheId.
代码看起来在Yii2中,但我的问题与PHP中的服务器端缓存机制有关。
谢谢你。
答案 0 :(得分:3)
问题1。
Yii2没有提供检索到期时间的方法,请参阅API Documentation。 如果你检查PHP Reference,MemCache也不支持这个,所以如果这个信息对你的场景至关重要,你必须自己存储它或使用支持它的缓存实现。
问题2。
是的,如果用set
覆盖缓存的项目,将应用一个全新的到期时间,因此如果没有给出,将使用默认值。