GVKun编程网logo

ThinkPHP简单使用memcache缓存的方法(thinkphp memcache)

16

在本文中,我们将详细介绍ThinkPHP简单使用memcache缓存的方法的各个方面,并为您提供关于thinkphpmemcache的相关解答,同时,我们也将为您带来关于Discuz!中增加memca

在本文中,我们将详细介绍ThinkPHP简单使用memcache缓存的方法的各个方面,并为您提供关于thinkphp memcache的相关解答,同时,我们也将为您带来关于Discuz!中增加memcache缓存的方法、memcached - php在pageCage、memCache、RedisCache和SSDBCache缓存的使用一般来讲对应哪些应用场景的?、memcached - ThinkPHP3.2.3 使用S方法(Memcache)无法正确输出结果、Memcache缓存技术对于PHP文件缓存的作用和实现方法的有用知识。

本文目录一览:

ThinkPHP简单使用memcache缓存的方法(thinkphp memcache)

ThinkPHP简单使用memcache缓存的方法(thinkphp memcache)

本文实例讲述了ThinkPHP简单使用memcache缓存的方法。分享给大家供大家参考,具体如下:

ThinkPHP的默认缓存方式是以File方式,在/Runtime/Temp 下生成了好多缓存文件。

服务器装了memcached后想给更改成memecache方式

在Conf/config.PHP 中添加

'Memcache','MEMCACHE_HOST' => 'tcp://127.0.0.1:11211','DATA_CACHE_TIME' => '3600',

下载。到你的项目中。

Thinkphp 的 Action调用Memcache方法:

set("uid",'1231'); $cache->get("uid"); $cache->rm("uid"); $cache->clear();

更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》及《》。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

Discuz!中增加memcache缓存的方法

Discuz!中增加memcache缓存的方法

很多站长都有体会,随着坛子越来越大,链接超时的问题越来越严峻。

google后并尝试用这里说的方法来做优化。但发现不够。被缓存的帖子不会在修改或者删除后自动清空缓存。当存在附件的帖子有权限和无权限的人看到的效果一致:要么都不能看到下载链接要么都能看到下载链接。

其实discuz最大的问题是帖子表cdb_threads。所以一般来说对这张表做了cache就会给论坛减轻很大的压力。

笔者做了尝试,效果还可以。所以把方法给大家看看。

先装memcache:http://blog.csdn.net/luojianlong/archive/2008/05/05/2393271.aspx.这里就不做赘述了。

1.在config.inc.PHP中增加

$memcachehost = ''127.0.0.1'';
$memcacheport = 11211;

2.在include/common.inc.PHP中
$mem = new Memcache;
$mem->connect($memcachehost,$memcacheport);

3.在viewthread.PHP中

找到

$newpostanchor = $postcount = $ratelogpids = 0;

$onlineauthors = array();

在下面加上

// added by rubeljl for memcache the first page of viewthread 2009.6.8 start
$postlist       = Array();
$bUpdateMem     = false;
if( 1 == $page ){
        $postlist       = $mem->get( ''viewthread_'' . $tid . ''_1'');
        $bUpdateMem     = empty( $postlist ) ? false : true;
}

$bHasAttachment = false;
if( !is_array( $postlist ) || empty( $postlist ) ){
// added by rubeljl for memcache the first page of viewthread 2009.6.8 end

找到:while($post = $db->fetch_array($query)) {

在下面增加:

if( $post[''attachment''] ){
        $bHasAttachment = true;
}

找到$postlist[$post[''pid'']] = viewthread_procpost($post);

在下面增加:

if( 1 == $page && false === $bHasAttachment ){
                $mem->set( ''viewthread_'' . $tid . ''_1'',$postlist,1000 );
        }
}

4.在topicadmin.PHP中

找到$db->query(DELETE FROM {$tablepre}posts WHERE pid IN ($pids));

下面添加:

$mem->delete( ''viewthread_'' . $tid . ''_1'' );

找到:$db->query(DELETE FROM {$tablepre}myposts WHERE tid=''$othertid'');

下面添加:

$mem->delete( ''viewthread_'' . $tid . ''_1'' );

5.在include/newreply.inc.PHP中

找到$pid = $db->insert_id();

下面添加:$mem->delete( ''viewthread_'' . $tid . ''_1'' );

总结

以上是小编为你收集整理的Discuz!中增加memcache缓存的方法全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

memcached - php在pageCage、memCache、RedisCache和SSDBCache缓存的使用一般来讲对应哪些应用场景的?

memcached - php在pageCage、memCache、RedisCache和SSDBCache缓存的使用一般来讲对应哪些应用场景的?

问题主要是思考,在实际应用场景下,我的团队做法是会对一些浏览量比较少的页面做pagecache缓存处理,然而在一些几乎没人看的页面甚至不设缓存,但是针对一些浏览量较多的会设置memcache缓存,而对于核心业务页面还有一些浏览量很大的页面采用页面缓存pagecache+ssdbcache缓存处理。

使用缓存的目的很明显,就是为了降低服务器压力和数据库读取压力,但是缓存的使用也不能滥用,所以我很困惑这些缓存的使用:它们所对应的最适合的应用场景应该是什么?

立即学习“PHP免费学习笔记(深入)”;

问题详解:
1.以上四种缓存技术的最佳应用场景是什么?
2.你认为最佳的缓存策略是什么?
3.有哪些缓存机制你比较欣赏的?

注:我在团队开发的时候遇到缓存应用的混淆,乱用缓存或者不知道对应的场景应该采取哪些缓存策略才是最适合(没有最好的缓存策略,只有最适合的)。谢谢各路大牛,可以不局限在PHP,因为编程语言基本相通,都是派生同堂嘛,(*^__^*) 嘻嘻,可以针对某个问题解答,希望大牛全部解决,谢谢 。 。 。

回复内容:

问题主要是思考,在实际应用场景下,我的团队做法是会对一些浏览量比较少的页面做pagecache缓存处理,然而在一些几乎没人看的页面甚至不设缓存,但是针对一些浏览量较多的会设置memcache缓存,而对于核心业务页面还有一些浏览量很大的页面采用页面缓存pagecache+ssdbcache缓存处理。

使用缓存的目的很明显,就是为了降低服务器压力和数据库读取压力,但是缓存的使用也不能滥用,所以我很困惑这些缓存的使用:它们所对应的最适合的应用场景应该是什么?

立即学习“PHP免费学习笔记(深入)”;

问题详解:
1.以上四种缓存技术的最佳应用场景是什么?
2.你认为最佳的缓存策略是什么?
3.有哪些缓存机制你比较欣赏的?

注:我在团队开发的时候遇到缓存应用的混淆,乱用缓存或者不知道对应的场景应该采取哪些缓存策略才是最适合(没有最好的缓存策略,只有最适合的)。谢谢各路大牛,可以不局限在PHP,因为编程语言基本相通,都是派生同堂嘛,(*^__^*) 嘻嘻,可以针对某个问题解答,希望大牛全部解决,谢谢 。 。 。

pagecache是所谓是filecache吧?

题主的问题,简单的说1、太多,不好细说。2和3,只有合适,没有最好。好像有点废话

简单来说,现在用file形式cache的概率比较低了,除非是小应用,单机部署,就可以考虑,不然集群部署的时候,file的存储读取都是大问题,并且效率来说,file有IO开销,即使是SSD的物理机(已经很快了),也没内存快。

memcache是主流已久的方案了,如果是做session什么的,或者简单的KV的缓存,很好的选择,应付绝大多数场景都OK,在这几年面对大量NOSQL的压力,也衍生了部分产品,例如memcachedb之类的,都可以用一下,但memcache的本质是缓存,极力不建议做落地存储。

redis是nosql的热门之一了,亮点一堆一堆的,不少项目直接都用来取代mc,只做kv缓存的时候,性能跟mc很接近了。很多人都看中几点,一是可持久化,单纯的mc是做不到的,二是丰富的数据结构,mc的软肋是只能key-value,而redis做队列做广播,还有竞态处理什么的都很完善。所以如果你的业务很复杂,可以考虑redis。但是但是,依然不建议作为落地存储使用

SSDB是什么。。。没接触过,原谅我比较low。。。就不多废话了,总的来说,根据具体业务来考虑用什么缓存,什么方式缓存,先找出目前性能瓶颈再说吧。

memcached - ThinkPHP3.2.3 使用S方法(Memcache)无法正确输出结果

memcached - ThinkPHP3.2.3 使用S方法(Memcache)无法正确输出结果

1.使用tp3.2.3自带的s方法使用memcache,memcache支持已开,根据网上的教程ctrl+v的方法不能够正常输出结果
2.先看图
memcached - ThinkPHP3.2.3  使用S方法(Memcache)无法正确输出结果

这是配置:
memcached - ThinkPHP3.2.3  使用S方法(Memcache)无法正确输出结果

php-ini文件也已经添加相关内容


但是输出结果为false
求帮助

这样子 也是试过的……
memcached - ThinkPHP3.2.3  使用S方法(Memcache)无法正确输出结果
memcached - ThinkPHP3.2.3  使用S方法(Memcache)无法正确输出结果

立即学习“PHP免费学习笔记(深入)”;

回复内容:

1.使用tp3.2.3自带的s方法使用memcache,memcache支持已开,根据网上的教程ctrl+v的方法不能够正常输出结果
2.先看图
memcached - ThinkPHP3.2.3  使用S方法(Memcache)无法正确输出结果

这是配置:
memcached - ThinkPHP3.2.3  使用S方法(Memcache)无法正确输出结果

php-ini文件也已经添加相关内容


但是输出结果为false
求帮助

这样子 也是试过的……
memcached - ThinkPHP3.2.3  使用S方法(Memcache)无法正确输出结果
memcached - ThinkPHP3.2.3  使用S方法(Memcache)无法正确输出结果

立即学习“PHP免费学习笔记(深入)”;

朋友, 你装memcached 服务了吗?

得有个服务才能连接使用, 就像mysql需要一个mysql服务器

没有的话, 使用File速度也还可以的

确认下有没有配置 S 函数使用 memcache,已经 memcache 的地址端口是否正确

看看有没有装memcache服务

Memcache缓存技术对于PHP文件缓存的作用和实现方法

Memcache缓存技术对于PHP文件缓存的作用和实现方法

随着互联网应用程序的不断发展,对于web网站的访问量和数据处理量的提高,程序的性能变得越来越重要。而程序性能的优化,对于一个高流量的网站来说,是至关重要的。而web应用性能提高的关键就在于缓存。

Memcache缓存技术是一个为提高Web应用性能而设计的开源分布式内存缓存系统。Memcache能够将数据缓存在内存中,以提高程序的性能。在Web开发中,缓存技术是非常重要的,因为数据的缓存可以大大减少访问数据库的I/O操作,从而提升程序的运行速度。在经典的LAMP(Linux,Apache,MySql,PHP)架构中,Memcache被广泛应用于处理PHP文件缓存的操作,以提高网站的性能。

在PHP开发中,Memcache的应用主要涉及缓存文件的信息,如数据库查询结果、session数据和数据查询结果等。当程序要访问这些数据时,Memcache会首先检查所需数据是否缓存,如果存在,将会直接返回缓存的数据,从而避免了从数据库或其他资源加载数据的步骤。

要在PHP代码中实现Memcache缓存技术,需要使用Memcache扩展。PHP Memcache扩展是一个PHP模块/插件,可以帮助PHP应用程序访问Memcache实例以及将数据存储到缓存中。要开始使用Memcache,在代码中需要引用memcache扩展,同时实例化Memcache对象。

在PHP代码中,Memcache缓存技术的应用通常涉及以下几个步骤:

立即学习“PHP免费学习笔记(深入)”;

点击下载“修复打印机驱动工具”;

  1. 初始化Memcache并连接到Memcache服务器。在PHP代码中,会创建一个Memcache实例来连接到Memcache服务器。可以使用以下代码创建一个Memcache对象:

    $memcache = new Memcache;
    $memcache->connect(''localhost'', 11211);

  2. 将数据存储到Memcache缓存中。可以使用一个关键字将数据存储到缓存中。下面是一个将字符串存储到缓存中的示例:

    $memcache->set(''mykey'', ''myvalue'', 0, 60);

在该代码示例中,第一个参数是关键字,第二个参数是要存储的值,第三个参数是一个标志位,用于将数据存储到缓存中的方式,第四个参数是在缓存失效之前存储数据的时间长度。

  1. 从Memcache缓存中检索数据。可以使用关键字从缓存中检索存储的值。下面是示例代码:

    $myvalue = $memcache->get(''mykey'');
    if ($myvalue !== false) {

     echo $myvalue;
    登录后复制

    }

在该代码示例中,将使用关键字从缓存中检索存储的值,如果存在,将打印该值。

  1. 从Memcache缓存中删除数据。可以使用一个关键字从缓存中删除数据。下面是一个示例:

    $result = $memcache->delete(''mykey'');
    if ($result) {

     echo ''The key has been deleted successfully!'';
    登录后复制

    }

在该示例代码中,将使用一个关键字从缓存中删除数据,并在成功删除时打印一条消息。

综上所述,Memcache缓存技术对于PHP文件缓存的作用和实现方法是非常重要的。通过在Web应用中使用缓存技术,可以大大提高程序的性能,减少服务器响应时间。而在PHP开发过程中,Memcache扩展提供了使用Memcache缓存技术的便捷方式。对于开发人员来说,掌握Memcache缓存技术的实现与应用,可以帮助他们更好的通过缓存技术来提高Web应用程序的性能。

以上就是Memcache缓存技术对于PHP文件缓存的作用和实现方法的详细内容,更多请关注php中文网其它相关文章!

今天关于ThinkPHP简单使用memcache缓存的方法thinkphp memcache的讲解已经结束,谢谢您的阅读,如果想了解更多关于Discuz!中增加memcache缓存的方法、memcached - php在pageCage、memCache、RedisCache和SSDBCache缓存的使用一般来讲对应哪些应用场景的?、memcached - ThinkPHP3.2.3 使用S方法(Memcache)无法正确输出结果、Memcache缓存技术对于PHP文件缓存的作用和实现方法的相关知识,请在本站搜索。

本文标签:

上一篇thinkPHP内置字符串截取函数用法详解(thinkphp 截取字符串)

下一篇THinkPHP获取客户端IP与IP地址查询的方法(thinkphp in查询)