首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    PHP数据库操作二:memcache用法分析

    本文实例讲述了PHP数据库操作之memcache用法。分享给大家供大家参考,具体如下: 在一个高并发的web应用中,数据库存取瓶颈一直是个大问题,一旦达到某个极限,数据库很容易崩溃,但是如果我们把常用的数据放到内存中,在需要的时候从内存中取,不光读取速度快,而且节约数据库IO。 memcache简介 Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。 memcache的mem是内存(memory),cache是缓存,结合是内存缓存的意思。我们应用memcache时,读取数据先从memcache内读取,若查找不到再去数据库里查找,并将数据存入memcache,待下次查找时便能轻易找到。 需要注意: memcache是内存型的数据库 ,因为内存的关闭释放的特性,memcache也无法持久化存储内容; memcache内部是分块存储,所以大于1M的数据也无法存储。 memcache依赖libevent库,安装前需确认已经安装了libevent库。 memcache是一个轻量级的内存型数据库,只支持key-value型的存储。 memcache中没有关于用户,密码的设置,所以在配置时要配置防火墙的端口限制连接,以达到安全的目的。 使用repcached也能轻易实现memcache的单master单slave主从复制。 memcache的应用场景 存储大量不需要持久存储或数据库内已存在不会变动的数据。 读取数据非常频繁数据,要求小于1M。 数据类型简单的key-value型数据。 计算好的结果和渲染后的网页模板文件。 因其原子递增性,可以用来计数。 因为可以设置数据过期时间的特性,存储期限数据。不过需要注意,memcache会在分配的内存不足时以最近最少使用原则(LRU)重用内存,可能会导致信息提前被删除。 用memcache存储session信息,以达到多服务器session共享。需要配置:php.ini:

    02

    数据结构初步(十)- 二叉树概念与堆的介绍

    节点的度:一个节点含有的子树的个数。 叶子节点/终端节点:度为0的节点。 分支节点/非终端节点:度不为0的节点。 父节点/双亲节点:含有至少一个子节点的节点。 子节点:一个节点含有的子树的根节点,称为该节点的子节点。 兄弟节点:具有相同父节点的节点,互称为兄弟节点。 树的度:一棵树中最大节点的度。 节点的层次:从跟开始定义,根为第1层,根的子节点为第二层,…,以此类推。 数的高度或深度:树中节点的最大层次。 堂兄弟节点:父节点在同一层的节点。 节点的祖先:从根到该节点所经分支上的所有节点。 子孙:以某一节点为根节点的子树中所有节点都是该节点的子孙。 森林:一颗及一颗以上的树组成的集合。

    01

    PHP深复制与浅复制

    PHP5使用了Zend引擎II,对象被储存于独立的结构Object Store中,而不像其它一般变量那样储存于Zval中(在PHP4中对象和一般变量一样存储于Zval)。在Zval中仅存储对象的指针而不是内容(value)。当我们复制一个对象或者将一个对象当作参数传递给一个函数时,我们不需要复制数据。仅仅保持相同的对象指针并由另一个zval通知现在这个特定的对象指向的Object Store。由于对象本身位于Object Store,我们对它所作的任何改变将影响到所有持有该对象指针的zval结构----表现在程序中就是目标对象的任何改变都会影响到源对象。.这使PHP对象看起来就像总是通过引用(reference)来传递。所以以上的tv2和tv1其实是指向同一个电视机实例,我们对tv1或则tv2所做的操作其实都是针对这同一个实例。因此我们的“复制”失败了。看来直接变量赋值的方式并不能拷贝对象,为此PHP5提供了一个专门用于复制对象的操作,也就是 clone 。这就是对象复制的由来。

    01
    领券