服务器端采用PHP + zend框架。
问题:
我有巨大的数据appox5000记录和列的数量是5在input.txt文件。我喜欢将所有数据只读入内存一次,然后向每个浏览器请求发送一些数据。但是如果我更新了input.txt文件,那么更新后的数据必须自动同步到该内存位置。
所以我需要通过使用内存缓存来解决这个问题,technique.but缓存技术已经过期了,如果在缓存过期之前更新了input.txt,那么我需要自动同步到那个内存位置。
现在我使用的是zend framework 1.10,在zend framework中可以吗?谁能给我几行zendfrmawork的代码?
我没有使用memchached服务器(分布式)的选项。
只有zend framwork。
发布于 2010-05-24 12:04:31
使用zend框架可以缓存类似的内容。在线查看Zend文档-它并不完整,但可以让你领先一步:http://framework.zend.com/manual/en/zend.cache.introduction.html
发布于 2010-11-12 23:20:29
像这样使用延迟加载(1h缓存通常是可以的)。
function getData() {
$cache = ...; //get your memory cache here
$cacheId = 'MyCacheId'; //cache id for your data
$loadTimeCacheId = 'dataLoadCacheId'; //cache id for data load timestamp
$cacheLength = 3600; //seconds
$data = $cache->load($cacheId);
$loadTime = (int) $cache->load($loadTimeCacheId);
if (!$data || filemtime('/path/to/your/file') > $loadTime) {
$data = ...; //real loading here
$cache->save($data, $cacheId, array(/*no tags*/), $cacheLength); //save data to cache
$cache->save(time(), $loadTimeCacheId, array(/*no tags*/), $cacheLength); //save load timestamp
}
return $data;
}发布于 2010-11-13 20:30:12
最好的选择是使用指向您的文件和Zend_Cache_Backend_Memcached的Zend_Cache_Frontend_File。实际上,除了Memcache或APC之外,没有其他方法可以在内存中存储任何内容。如果没有外部扩展IMO,则无法完成此操作。
https://stackoverflow.com/questions/2894624
复制相似问题