在AnySQL.net中搜索标签(Tags) 'Cache' 的结果:

了解了一下Memcached

    Cache从来都是一种主要的优化手段, 从Oracle的角度, Cache技术无所不在. Library Cache Cursor Cache Data Cache Connection Cache / Pool Query Cache Client Data Cache     除了这些Cache上, 在应用程序上也可以加上Cache层, 现在WEB上最热门的Cache软件就是memcached了, 和程序中的数组不同, 它采用服务器客户端方式, 因此可以更好地被很多程序共享, 其基本工作原理如下. 连接到memcached服务器. 根据自定义的key进行查找值,如果找到则返回. 从磁盘中读取或从数据库中查询数据. 写入到memcached服务器. 返回结果值.     想想自已的Blog有两个地方可以用上memcached这个服务, 一个是留言时的验证码, 现在是Cache在磁盘中的, 有待改进....

Movable Type升级失误

    个人网站建在Movable Type平台之上, 用了防Spam留言的Secure Code插件后, 虽然一直停留在MT 3版本上, 倒一直很稳定, 所以也没有升级到MT 4版本, 运行一年下来, 收到的垃圾留言还不到20个, 当然访问量低下是最主要的原因了, 据说Fenng的DBANotes常常收到很多的垃圾留言.     一周前, Movable Type推出了一个经历273天才发现的安全补丁, 由于2006年8月份有过一次站点被黑, 所有页面被删(做数据库的居然不备份自已的Blog数据, 实在是一种耻辱, 不太好意思说出口)的经历, 因此对安全补丁特别小心, 就进行了到3.36版本的升级, 升级总的来说是成功的. 标题上的失误是一周后的今天才发现的.     登录到后台管理中心, 发现居然有了四十条垃圾留言, 怎么进来的? 是Secure Code插件失效了吗? 不是, 因为Secure Code插件还不是MT 3版本标准的插件, 因此每次升级后,...

Oracle 11g性能提升 -- Consistent Client Cache

    10g几乎没有关心, 现在都现11g了, 得关心一下了, 要不然就落伍了. Cache始终是提升性能的重要技术. 除了在前面讲的Server Result Cache, Oracle 11g还增加了一种Client Cache. 第一眼看到时, 我猜测可能和在程序中用数组保存一些查找表差不多, 不过仔看白皮书, 还是要比自已写程序来得方便许多.     这是一种在Oracle Client端的缓冲技术, 通过将中间结果或整个表缓冲在客户端, 当客户端发出查询请求时, Oracle可以直接在这个缓冲区中返回记录, 而不需要去和数据库打交道, 可以大大地着少和服务器端的网络来回, 降底服务器上的SQL调用, 根据Benchmarks测试, 对于只读或极少更新的表, 总的消耗时间可以降低500%, 而服务器上的CPU时间可以降低200%.     要使用这个Cache功能, 也很简单, 首先要使用Oracle 11g的OCI客户端, 如: JDBC-OCI, ODBC,...

Oracle 11g性能提升 -- Server Result Cache

    10g几乎没有关心, 现在都现11g了, 得关心一下了, 要不然就落伍了. Cache始终是提升性能的重要技术, 在Oracle 11g中增加了一种Server Result Cache, 第一眼看到这个名字, 我觉得和MySQL的Query Cache是差不多的技术, 不过仔看白皮书, 还是要比MySQL进步多了.     谁可以共享这些数据? MySQL的Query Cache是根据SQL的文本来匹配的, 只有Query的文本一模一样时才可以共享, 而Oracle的Server Result Cache则只要执行计划一样或部份一样, 并且生命周期一样, 则就可以共享了. 当下面的表数据改变了, Oracle会自动清除这个Cache, 以确保查询结果的正确性. 在以读为主要的系统中, 宣称性能可以提升一倍.     这块内存从SGA中分配, 由RESULT_CACHE_MAX_SIZE控制. Oracle允许你在系统, 会话, 表和语句级(Hint:result_cache)控制是否使用Server Result...

MySQL的绑定(Bind)变量和Query Cache

    在MySQL中并没有Shared Pool来共享SQL及其执行计划, 因此是否共享不是很重要, 在程序中是否使用绑定(Bind)变量也不是很重要. 事实上在目前的版本中, 只有Server Side的编程才能使用绑定变量, 而客户端的程序虽然用了绑定变量, 但实际是上只是被进行了文本替换, 最早我在MySQL的JDBC驱动说明上看到了这一点, 现在用Perl程序(asyncdata.pl)从Oracle向MySQL复制数据时(启动MySQL时指定--log选项)从SQL的日志文件中看到如下记录: Query       DELETE FROM T_OBJECTS WHERE OBJECT_ID='441766' AND 1=1 Query       DELETE FROM T_OBJECTS WHERE OBJECT_ID='441767' AND 1=1 Query       DELETE FROM T_OBJECTS WHERE OBJECT_ID='441768' AND 1=1     而根据MySQL的解释,...

如何泡制具有缓存功能的MT查询模块?

    将Search.pm拷贝成NewSearch.pm.     将NewSearch.pm中的所有"MT::App::Search"替换成"MT::App::NewSearch".     在execute这个子函数前面加一个函数: sub getCacheFileName {     my($str) = @_;     $str =~ s!(.)!uc sprintf "%02x", ord($1)!eg;     $str; }     在execute函数的前面部份加上如下红色部份代码:     return $app->error($app->errstr) if $app->errstr;     my $cachefile = ($ENV{MT_HOME} ? "$ENV{MT_HOME}/searchcache" : 'searchcache')               ."/tags_".$app->param("blog_id")."_"               .getCacheFileName($app->param("search")).".txt";...

禁用Blog的直接搜索功能, 请按Tags进行查找.

    在成功地对Tag的搜索结果进行缓存加速后, 我今日又将默认的缓存1天有效改为2天有效了, 因为我发现自已两天更新一次是很正常的事情. 并且禁用了我网站上的直接搜索功能, 其实对直接搜索进行缓存也没有问题, 主要问题是直接搜索用的关键字太多了, 可能会造成缓存文件太多; 另外两个不同的人在访问时用相同的关键字去查询的机率应当比较小, 所以不值得去缓存它.     可以根据你自已的需要去设置缓存更新时间, 你只要在"NewSearch.pm"找到下面这一行就行了: if( (time() - ((stat $cachefile)[9])) < (3600 * 48))     这儿的红字48表示四十八个小时, 你可以改成你自已需要的值. 如果你改了搜索的模板, 则可以到MT_HOME/searchcache目录下, 删除所有"tags*.txt"文件来马上起用新的搜索模板.     其实很容易看出我改了那些地方, 欢迎其他人继续进行优化....

通过Cache提升MT基于Tag搜索的速度.

    MT-3.3x版本提供了方便的Tag功能, 也提供了按照Tag来进行搜索的功能. 不过MT的搜索功能在资源很紧张的DreamHost上使用时, 速度比较慢, 打开一个Tag的搜索需要4秒钟以上, 实在是一件不让人高兴的事情. 于是我想着如果以将Tag的搜索结果缓存起来, 访问起来就会比较快了, 这个想法是很合理的, 因为一个主页上的Tag数量不会很多, 按Tag搜索的结果变化不大, 除非是你一天内发布了大量的文章.     通过研究Search.pm的代码, 我改写了一份新的Search代码, 取名为"NewSearch". 新的代码会将按Tag搜索的结果缓存起来, 缓存的有效期限为1天, 对于普通的直接搜索则不进行缓存. 这样改进后, 理论上每个Tag搜索一天只有一次会比较慢一点, 其他所有的占击都会从缓存中获得结果. 你可以试试本站上基于Tag的搜索速度.     如果你想用这个功能, 只需要下载新的Search代码, 将解压后的文件放到MT_HOME/lib/MT/App目录下, 在MT_HOME下面建一个searchcache的目录, 并修改MT_HOME下的mt-search.cgi文件, 将下面一行代码: use MT::Bootstrap App => 'MT::App::Search';...

在Lilina中应用静态HTML缓冲来提升访问速度

    我一直用Lilina来做RSS的聚合工具, 因为他够简单. 不过在订阅数超过15时访问就比较慢了, 需要改进一下, 最好是生成静态的HTML缓存文件. 在参考了网上其他人的修改后, 形成了我自已的版本, 只需要修改一个index.php文件, 在这儿我将它命名为index_gen.php, 并作了以下修改(红字部份为新增部份): /* output buffer control start */ $index_file = "index.html"; ob_start("callback"); $rebuild = 0; if ($_GET['force_cache']=1) {         $rebuild = 1; } function callback($str) {  ...

根据标记(Tags)来查找:

分类 | Categories

本站基于MT-3.36免费版, 和Fenng设计的模板.
(©)版权所有, 2004 - 2008, www.AnySQL.net, 保留所有权利.
MSN: loufangxin(a)msn.com, Mail: anysql(at)126.com/support(at)iamdba.com, Skype ID:anysql