介绍:memcache是一种缓存技术,它可以把你的数据放入内存,从而通过内存访问,因为内存读取速度很快,所以memcached技术的主要目的就是提速。

   在memcached中维护了一张大的hashtable表,该表是在内存,标的结构式key=>value

   memcached中可以保存的数据类型(字串,数值,数组,对象,布尔值,二进制数据,null)

安装:cmd进入到memcached.exe所在的文件夹

   memcached.exe -d install 安装memcached

   memcached.exe -d start 启动memcached服务

     memcached.exe -p 11212 在指定的端口上启动memcached服务,此时不要关闭控制台

   memcached默认的端口是11211

   memcached.exe -d stop|shutdown 关闭正在运行的memcached服务

   memcached.exe -d uninstall 拆卸安装的memcached服务

   memcached.exe -d restart 重新启动memcached服务

   memcached.exe -c 1000 同时最大连接数,默认是1024

   memcached.exe -m 最大内存使用,单位是mb,默认是64mb,最大是2gb

   memcached.exe -h 显示帮助

   memcached.exe -f块大小增长因子,默认是1.25

使用telnet对memcached进行crud操作

   打开到memcached的链接 telnet 127.0.0.1 11211

    get 读取一个值 get name

    set 设置一个值,如果键名存在,则更新这个键值 set name 0 60 5

    add 添加一个键值对  add name 0 60 5

    replace 替换一个键名的值 replace name 0 60 5

    append 给一个存在的键添加数据 append name 0 60 5

    preappend 在一个键值的前面添加数据 preappend name 0 60 5

    delete 删除一个键值对 delete name

    flush_all 清除所有的数据

    stats 列举出memcached的使用情况

使用php对memcached进行crud操作

   首先安装php的memcached扩展  php_memcached.dll(注意与使用的php的版本要相同)

   

    

<?php//创建一个memcache实例$mem=new Memcache();//建立连接if(!$mem->connect("127.0.0.1",11211)){die("连接失败");}//增加一个字符串if($mem->set('name','keyboard',MEMCACHE_COMPRESSED,60)){echo "添加成功";}//添加数值if($mem->set('num1',100,MEMCACHE_COMPRESSED,60)){echo "添加成功";}//添加数组$arr=array("beijing","shanghai");if($mem->set('arr1',$arr,MEMCACHE_COMPRESSED,60)){echo "添加成功";}//添加对象class Page{public $number;public $list;public $total;public function __construct($num,$li,$to){$this->number=$num;$this->list=$li;$this->to=$to;}}$page=new Page(100,10,5000);if($mem->set('obj1',$page,MEMCACHE_COMPRESSED,60)){echo "添加成功";}//读取$num=$mem->get('num1');//更新$num=$mem->replace('num1',10000,MEMCACHE_COMPRESSED,60);//删除$mem->delete('num1');
?>

    

 使用php实现memcache的分布式缓存

假设我的电脑上有两个memcache

将数据写入到memcache中,write.php

<?php$mem=new Memcache();$mem->addServer("127.0.0.1",11211);$mem->addServer("127.0.0.1",99999);for($i=0;$i<100;$i++){$mem->set("val".$i,$i,MEMCACHE_COMPRESSED,100);}
?>

将数据从memcache中读出,read.php

<?php$mem=new Memcache();$mem->addServer("127.0.0.1",11211);$mem->addServer("127.0.0.1",99999);for($i=0;$i<100;$i++){$mem->set("val".$i,$i,MEMCACHE_COMPRESSED,100);}
?>

将session数据保存到memcache中

保证memcache扩展开启,memcachd运行
设置php.ini中session.save_handler=memcache
设置php.ini中session.save_path=tcp://localhost:11211

也可以通过php函数 ini_set() 函数在页面设置.

    

转载于:https://www.cnblogs.com/keyboard/archive/2013/01/24/2875079.html

内存缓存之memcache的使用相关推荐

  1. php memcache内存大小,PHP memcache 内存缓存 数据库查询 应用 高洛峰 细说PHP

    PHP memcache 内存缓存 数据库查询 应用 高洛峰 细说PHP 发布时间:2020-06-22 18:23:10 来源:51CTO 阅读:232 作者:津沙港湾 栏目:数据库 PHP mem ...

  2. 分布式缓存之Memcache

    〇.为什么要用分布式缓存 1.软件从单机到分布式 走向分布式第一步就是解决:多台机器共享登录信息的问题. 例如:现在有三台机器组成了一个Web的应用集群,其中一台机器用户登录,然后其他另外两台机器共享 ...

  3. 「GoCN酷Go推荐」高性能内存缓存 ristretto

    背景 ristretto 是 dgraph 团队开源的一款高性能内存缓存库,旨在解决高并发场景下的缓存性能和吞吐瓶颈.dgraph 专攻的方向是高性能图数据库,ristretto 就是其图数据库和 K ...

  4. C#开源磁盘/内存缓存引擎

    前言 昨天写了个 <基于STSdb和fastJson的磁盘/内存缓存>,大家可以先看看.下午用到业务系统时候,觉得可以改进一下,昨晚想了一个晚上,刚才重新实现一下. 更新 1. 增加了对批 ...

  5. Android 图片缓存之内存缓存技术LruCache,软引用

    Android 图片缓存之内存缓存技术LruCache,软引用

  6. 图片缓存之内存缓存技术LruCache,软引用

    图片缓存之内存缓存技术LruCache,软引用 每当碰到一些大图片的时候,我们如果不对图片进行处理就会报OOM异常, 这个 问题曾经让我觉得很烦恼 ,后来终于得到了解决, 那么现在就让我和大家一起分享 ...

  7. mongodb 3.2配置内存缓存大小为MB/MongoDB 3.x内存限制配置

    mongodb 3.2配置内存缓存大小为MB/MongoDB 3.x内存限制配置 转载自勤奋的小青蛙 mongodb占用内存非常高,这是因为官方为了提升存储的效率,设计就这么设计的. 但是大部分的个人 ...

  8. 【Android 内存优化】Bitmap 内存缓存 ( Bitmap 内存复用 | 弱引用 | 引用队列 | 针对不同 Android 版本开发不同的 Bitmap 复用策略 | 工具类代码 )

    文章目录 一.Bitmap 复用池 二.弱引用 Bitmap 内存释放 三.从 Bitmap 复用池中获取对应可以被复用的 Bitmap 对象 1.Android 2.3.3(API 级别 10)及以 ...

  9. 【Android 内存优化】Bitmap 内存缓存 ( Bitmap 缓存策略 | LruCache 内存缓存 | LruCache 常用操作 | 工具类代码 )

    文章目录 一.Bitmap 内存缓存策略 二.LruCache 内存缓存 三.LruCache 常用操作 四.LruCache 工具类 五.源码及资源下载 官方参考 : Google 官方提供的 内存 ...

最新文章

  1. tensorflow.python.framework.errors_impl.DataLossError:
  2. java017.Set集合
  3. Work From Anywhere
  4. 7.18 collection random os sys等模块
  5. mysql mos login_MySQL 中常用的函数
  6. elementui的tree组件页面显示不出数据_只要10分钟,教你配置出炫酷的数据可视化大屏...
  7. Python 对象的身份迷思:从全体公民到万物皆数
  8. L1-051 打折-PAT团体程序设计天梯赛GPLT
  9. 【Mac】Mac 使用 zsh 后, mvn 命令无效
  10. 【语音加密】基于matlab GUI语音信号加密解密【含Matlab源码 295期】
  11. EPUB PDF DOCX格式转换及主流格式电子书制作终极攻略(内含用WORD制作精美EPUB方法)...
  12. 一个计算机爱好者的不完整回忆(十六)我的第一台电脑
  13. Neural Turing Machines-NTM系列
  14. Android Ibeacon 算法,iBeacon定位算法
  15. Matlab数字图像处理学习记录【1】——准备与基本原理
  16. 2022年MinGW-w64的安装及配置教程(傻瓜式)
  17. python excel画图哪个好_Python excel 画图
  18. 灵隐寺招聘:没有KPI、佛系上班、一切随缘
  19. 项目1----泰戈尔诗集
  20. 古玩文物字画寄售系统源码

热门文章

  1. 波士顿动力新年视频第一发,机器人狗能为朋友开门了!
  2. AI博弈论:DeepMind让智能体在非对称博弈中找纳什均衡
  3. DeepMind 的2017:有 AlphaGo,更有社会责任
  4. 文武双全,AI 女神们的修炼手册!
  5. 新基建来势汹汹,开发者如何捍卫其安全?
  6. 聊聊springboot elasticsearch healthIndicator
  7. 微服务后如何做一次系统梳理
  8. 查找命令find的用法
  9. VMware vSphere快照之间的互相关系
  10. linux中生成考核用的GPT分区表结构修复案例