lavarel中如何使用memcache

lavarel中如何使用memcache

1、总结

一句话总结:

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

 

一、memcache是什么?

键值对内存缓存

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

 

二、为何要使用Memcache?

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


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

 

三、Memcache的实现原理?

键值对 hash表

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

 

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

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

 

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

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

 

 

 

2、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缓存

 

 

 

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

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

 

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

 

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

相关文章
相关标签/搜索