lavarel中如何使用memcache

一、总结

一句话总结:

composer下载包,配置,使用函数

1、memcache是什么?

键值对内存缓存

MemCache是一个自由、源码开放、高性能、分布式的分布式内存对象缓存系统,MemCaChe是一个存储键值对的HashMap,在内存中对任意的数据(比如字符串、对象等)使用key-value存储,数据可以来自数据库调用、API调用,或者页面渲染的结果。MemCache设计理念就是小而强大,它简单的设计促进了快速部署、易于开发并解决面对大规模的数据缓存的许多难题

2、为什么要使用Memcache?

通过在内存中缓存数据和对象来减少读取数据库的次数

主要用于动态Web应用以减轻数据库的负载。
它通过在内存中缓存数据和对象来减少读取数据库的次数,
从而提高了网站访问的速度。

3、Memcache的实现原理?

键值对 hash表

memcache处理的原子是每一个key、val,key会通过一个hash表转换成hash的key,便于查找对比以及竟可能的做到散列。同时mem用的是一个二级散列,通过一个hash表来维护。

4、memcache有两个核心组件:服务端和客户端 如何工作?

总结:标准的服务端和客户端工作模式
在一个memcache组件查询中,client先通过key的hash值来确定kv在service端的位置,当server端确定后,客户端就会发一个请求到server端。让它来查找出确切数据,因为这之间没有交互以及多播协议,因此mem带给网络的影响最小

5、使用memcache的公司有哪些?

Yahho,facebook,搜狐,新浪,豆瓣。Wikipedia等

二、lavarel中使用memcache

更改cache.php中cache_driver值为memcached。

use Cache; #控制器中使用缓存

    public function memcache(){
Cache::put('memcache','hello,world',1); #写入缓存(key,value,time)
dd(Cache::get('memcache')); #获取缓存
}

参考:laravel操作memcache笔记! - 简书
https://www.jianshu.com/p/2a3baf32348a

三、memcache如何在TP框架项目中使用

参考:memcache如何在项目中使用_百度经验
https://jingyan.baidu.com/article/ca2d939d1c74fceb6c31ce8f.html

当用户发生一个动态请求的时候,先去memcache服务器里面查询缓存数据,当首次查询的时候,memcache里面肯定是没有数据的,这个时候需要php程序去MySQL数据库里面获取数据,将获取先缓存一份到memcache服务器里面,在把数据返回给用户。当第二次发生相同的动态的请求的时候,这个时候由于上一次memcache里面已经缓存了对应的查询数据,这个memcache就可以直接的返回数据,而不需要MySQL数据库的参与,减少了MySQL数据库的压力。对于这种架构来说,由于memcache是处于旁边的,这种缓存系统叫做旁路式缓存系统。

对于下面这种结构,缓存数据的获取不依赖php程序,缓存系统自身有能力可以从MySQL数据库里面获取数据,在将数据缓存到本地的缓存系统里面,下次直接从缓存系统里面返回数据的这种架构叫做穿透式缓存系统。

 

lavarel中如何使用memcache的更多相关文章

  1. 仿联想商城laravel实战---7、lavarel中如何给用户发送邮件

    仿联想商城laravel实战---7.lavarel中如何给用户发送邮件 一.总结 一句话总结: 设置邮件服务器,比如163邮箱 lavarel中配置邮件服务,在.env中 控制器中使用Mail对象发 ...

  2. js插件---webuploader 使用(lavarel中使用)

    js插件---webuploader 使用(lavarel中使用) 一.总结 一句话总结: 多去看几个具体使用的实例,很多blog教程都有坑,多看几个交叉印证可以没那么多坑 1.webuploader ...

  3. 后盾网lavarel视频项目---lavarel中的tinker是什么

    后盾网lavarel视频项目---lavarel中的tinker是什么 一.总结 一句话总结: 是用来调试laravel,可以打印变量或对象信息,显示函数代码,对数据库写入和查询数据 laravel中 ...

  4. legend3---4、lavarel中session使用注意

    legend3---4.lavarel中session使用注意 一.总结 一句话总结: session('key',$value)不是存值,是设置默认值,session(['key'=>$val ...

  5. PHP中的数据库二、memcache

    :first-child, ol li > :first-child, ul li ul:first-of-type, ol li ol:first-of-type, ul li ol:firs ...

  6. Windows下Memcache的安装与在php中使用

    memcache dll插件和测试例子下载地址: http://pecl.php.net/package/memcache Windows下Memcache的安装方法 Memcached官方:http ...

  7. 在php中使用Memcache

    在上一篇博客中我写到了memcache的安装和管理,在这一篇博客中我将写到的是在php中如何使用memcache. 一.安装memcache扩展 首先我们通过phpinfo()函数查看一下我们当前的p ...

  8. 使用Memcache在PHP中调试方法的介绍及应用

    使用Memcache在PHP中调试方法的介绍及应用 如果我们在网络开发中,特别是大访问量的web项目开发中,为了提高响应速度,减少数据查询运算,那么我们都会选用memcahce.首先我们必须要安装,接 ...

  9. Memcache 在win7x64中安装配置

    Memcached从0.2.0开始,要求PHP版本大于等于5.2.0. 环境:phpstudy集成环境 目标:实现php用memcache 下载:memcache for win 64 http:// ...

随机推荐

  1. Phpthink入门基础大全(CURD部分)

    [ad code=1 align=center] $data[1]['name'] = ‘阳光雨' $data[1]['email'] = 'sccscc@vip.qq.com' $User>a ...

  2. 干货:Java正确获取客户端真实IP方法整理

    在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的.但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实I ...

  3. 2019-7-29-asp-dotnet-core-从-Frp-获取用户真实-IP-地址

    title author date CreateTime categories asp dotnet core 从 Frp 获取用户真实 IP 地址 lindexi 2019-07-29 08:28: ...

  4. JS对象 指定分隔符连接数组元素join() join()方法用于把数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的。

    指定分隔符连接数组元素join() join()方法用于把数组中的所有元素放入一个字符串.元素是通过指定的分隔符进行分隔的. 语法: arrayObject.join(分隔符) 参数说明: 注意:返回 ...

  5. scala入门基础学习

    1.Scala基础语法 区分大小写 类名 - 对于所有的类名的第一个字母要大写.如果需要使用几个单词来构成一个类的名称,每个单词的第一个字母要大写. 方法名称 - 所有的方法名称的第一个字母用小写. ...

  6. erlang 开发建议

    * 确保没有任何编译警告 * Erlang中String采用list实现,32位系统中,其1个字符用8个字节的空间(4个保存value, 4个保存指针).因此string速度较慢,空间占用较大 * 在 ...

  7. ERROR 1872

    解决 > start slave; ERROR (HY000): Slave failed to initialize relay log info structure from the rep ...

  8. JavaScript - 判断当前使用的浏览器类型

    <script> window.onload = function() { // 判断当前使用的浏览器类型 var browserType = navigator.userAgent.to ...

  9. 判断MDI窗体的子窗体是否存在

    //***************************************************************************//函 数名: CreateForm//返 回 ...

  10. myeclipse CTRL+1功能

    有时候,在myeclipse或者eclipse中自动编译代码有错误,我们把鼠标放在错误一行能够自动显示出问题原因,但是有时显示问题让人有些匪夷所思,不知所云何物. 此时可以使用<ctrl> ...