- 浏览: 77902 次
- 性别:
- 来自: 珠海
文章分类
最新评论
-
kennyluo:
网页上发布的代码上缺少了"//",注意&q ...
apply a Texture Image to a Cube -
kyng:
图片放到目录下。。。修改对应名称 。。怎么还出错!!!
Ex ...
apply a Texture Image to a Cube
别每天OO,这个配置怎么改,这段代码哪错了,没劲,好的程序不光是代码写的好,整体架构很重要,多了解程序之外的东西,这篇不再单单是程序方面的东西了,会写到从程序到服务器的设置,会比较多,但个人的经验有限,知道的就这么多,不知道的我也没法写呀, 文章说的不好大家就当我说梦话得了。
所有程序例子都来自网络
普遍缓存技术
数据缓存:这里所说的数据缓存是指数据库查询缓存,每次访问页面的时候,都会先检测相应的缓存数据是否存在,如果不存在,就连接数据库,得到数据,并把查询结果序列化后保存到文件中,以后同样的查询结果就直接从缓存表或文件中获得。
用的最广的例子看Discuz的搜索功能,把结果ID缓存到一个表中,下次搜索相同关键字时先搜索缓存表。
举个常用的方法,多表关联的时候,把附表中的内容生成数组保存到主表的一个字段中,需要的时候数组分解一下,这样的好处是只读一个表,坏处就是两个数据同步会多不少步骤,数据库永远是瓶颈,用硬盘换速度,是这个的关键点。
页面缓存:
每次访问页面的时候,都会先检测相应的缓存页面文件是否存在,如果不存在,就连接数据库,得到数据,显示页面并同时生成缓存页面文件,这样下次访问的时候页面文件就发挥作用了。(模板引擎和网上常见的一些缓存类通常有此功能)
时间触发缓存:
检查文件是否存在并且时间戳小于设置的过期时间,如果文件修改的时间戳比当前时间戳减去过期时间戳大,那么就用缓存,否则更新缓存。
内容触发缓存:
当插入数据或更新数据时,强制更新缓存。
静态缓存:
这里所说的静态缓存是指静态化,直接生成HTML或XML等文本文件,有更新的时候重生成一次,适合于不太变化的页面,这就不说了。
以上内容是代码级的解决方案,我直接CP别的框架,也懒得改,内容都差不多,很容易就做到,而且会几种方式一起用,但下面的内容是服务器端的缓存方案,非代码级的,要有多方的合作才能做到
内存缓存:
Memcached是高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度。
这里说下Memcached的例子:
<?php
$memcache = new Memcache;
$memcache->connect('localhost', 11211) or die ("Could not connect");
$version = $memcache->getVersion();
echo "Server's version: ".$version."\n";
$tmp_object = new stdClass;
$tmp_object->str_attr = 'test';
$tmp_object->int_attr = 123;
$memcache->set('key', $tmp_object, false, 10) or die ("Failed to save data at the server");
echo "Store data in the cache (data will expire in 10 seconds)\n";
$get_result = $memcache->get('key');
echo "Data from the cache:\n";
var_dump($get_result);
?>
读库的例子:
<?php
$sql = 'SELECT * FROM users';
$key = md5($sql); //memcached 对象标识符
if ( !($datas = $mc->get($key)) ) {
// 在 memcached 中未获取到缓存数据,则使用数据库查询获取记录集。
echo "n".str_pad('Read datas from MySQL.', 60, '_')."n";
$conn = mysql_connect('localhost', 'test', 'test');
mysql_select_db('test');
$result = mysql_query($sql);
while ($row = mysql_fetch_object($result))
$datas[] = $row;
// 将数据库中获取到的结果集数据保存到 memcached 中,以供下次访问时使用。
$mc->add($key, $datas);
} else {
echo "n".str_pad('Read datas from memcached.', 60, '_')."n";
}
var_dump($datas);
?>
发表评论
-
FastReport问题整理
2012-06-09 19:58 3094部分来自网上,部分 ... -
关于C# WinForm FastReport Studio的使用方法:
2012-06-09 19:56 2231using System; using System. ... -
FastReport studio 动态加载数据集 (zhuan)
2012-06-09 19:56 1239测试使用的FastReport S ... -
[转载]了解IL反编译工具Ildasm.exe
2012-05-29 22:06 0Ildasm.exe 的使用方法 示例: 在应用 ... -
从ipa提取图片资源,还原PNG文件
2012-05-14 15:44 5033iOS 开发过程中,在code和测试阶段结束后,你需要用xco ... -
PHP缓存技术:memcache函数详解之一
2012-02-14 04:59 902Memcache函数库是在PECL( ... -
PHP缓存技术:memcache函数详解之二
2012-02-14 04:56 1225memcache::debug bool memcac ... -
PHP企业级应用之常见缓存技术篇
2012-02-14 04:50 1103php的缓冲器: 有eaccelerator, apc ... -
php缓存技术详解
2012-02-14 04:48 845一、缓存技术: 有些信息比方经常不变的,但是还是 ... -
FreeFileSync 文件比较同步系统
2012-02-04 00:06 1202http://sourceforge.net/proj ... -
[图文]Openfiler应用篇(五)Accounts之AD认证
2012-02-03 20:16 1202一、Win2003服务器域控制器准备 首先 ... -
[图文]Openfiler应用篇(四) FTP和Quota
2012-02-03 20:14 2217本篇我们讨论openfiler FTP ... -
[图文]Openfiler应用篇(三) Accounts
2012-02-03 20:12 884openfiler帐户(Accounts)设置,是openfi ... -
[图文]Openfiler应用篇(二) SMB/CIFS server
2012-02-03 20:12 1301一、建立share-1逻辑卷 本篇我们讨论openfile ... -
[图文]Openfiler应用篇(一)iSCSI
2012-02-03 20:11 1279本文主要讲解Openfile iSCSI 设置和应用,首 ... -
手机产品交互设计样式
2012-01-28 15:51 763很多人都说,手机产品交互限制因素很多,过小的屏幕分辨率, ... -
Domain Locking SWFs
2011-08-12 14:05 774By domain locking (or site lock ... -
CentOS系统下如何打开端口
2011-07-21 10:48 1075在CentOS系统使用中,我们会遇到很多的问题。例如CentO ... -
基于角色管理的系统访问控制(2)
2010-02-21 11:24 1045方案设计 3.1. 安全保护 ... -
基于角色管理的系统访问控制(1)
2010-02-21 11:24 988安全管理系统核心思想是在基于角色控制思想的基础上提取改进而来的 ...
相关推荐
php课程(共100多节),让你从小白成神,最主流的PHP技术! 有: 1:环境配置与代码调试 2:PHP的数据类型与源码调试 3:常用PHP运算类型介绍与应用 4: PHP条件语句介绍与应用 5:PHP循环语句的介绍与应用 6:PHP数组...
第2篇 PHP与数据库 第13章 关系型数据库的基础知识 204 13.1 关系型数据库与关系型数据库系统的 13.1 介绍 204 13.2 关系型数据库系统的结构与运行过程 205 13.2.1 关系型数据库系统的层次结构 205 13.2.2 关系型...
移动性 无论能否获得与企业系统的连接,SQL Anywhere 所提供的企业级数据库都能够在前台系统和设备上运行。它的同步技术确保了可通过无线和有线网络与后台数据库、应用程序服务器和消息传递系统有效地交换数据。 ...
由国内著名技术社区联合推荐的2012年IT技术力作:《高性能Linux服务器构建实战:运维监控、性能调优与集群应用》,即将上架发行,此书从Web应用、数据备份与恢复、网络存储应用、运维监控与性能优化、集群高级应用等...
数据缓存,用于缓存从数据库查询出的结果集,兼容常见的 MemCache、eAccelerator、xCache 等数据缓存加速技术,同时也自建文件和数据库两种模式,方便各类用户; 页面缓存,可将解析好的页面整体缓存到缓存文件...
数据缓存,用于缓存从数据库查询出的结果集,兼容常见的 MemCache、eAccelerator、xCache 等数据缓存加速技术,同时也自建文件和数据库两种模式,方便各类用户; 页面缓存,可将解析好的页面整体缓存到缓存文件,在...
Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。 设定字符串为“张三,你好,我是李四” 产生张三的密钥对(keyPairZhang) 张三生成公钥(publicKeyZhang...
Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密 Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。 设定字符串为“张三,你好,我是李四”...
在web 2.0应用中,博客(Blog)是web 2.0核心应用中最典型、最流行的代表之一,也是web 2.0技术应用的最直观的表现,是web 2.0精神和理念的具体体现。 1.2. 问题的提出 Blog记载了日常发生的事情和自己的兴趣爱好,把...