b/s: 基于浏览器和服务器架构 web程序

c/s: QQ SVN client客户端+ 服务器

简单的基于文本行的协议: 
redis 
memcache

区别: 
都是存储数据的,memcache直接保存到内存中,redis 保存到内存中,关闭之后保存到硬盘中,memcache 重启电脑,关闭服务都会造成数据丢失 
(1)保存在内存中 
(2)重启电脑,重启服务全部数据都消失 
(3)LRU算法,根据最近使用的变量,将长时间没使用的变量删除

PHP如何操作memcache 
1,php加载扩展php_memcache.dll 扩展 
序列化 
反序列化 
memcache可以保存的数据:字符串,数值,数组,对象 
当我们获得memcache中保存的对象的时候,需要提供这个类的定义,否则,提示不知道是哪个类的对象 
memcahe 和 redis: redis还可以保存 hash, 数据结构 
 

2,memcached client操作 
C/S 通过客户端连接服务端 
添加php_memcache.dll,但是我们没有权限修改 php的配置文件 
但是还想使用内存memcache 
还可以使用client操作 
通过socket技术, 
mysql查询 
查询的英文 进行排序 
中文-----sphinx 中文检索引擎 
关闭 memcache扩展 
使用socket技术完成php对memcache的CRUD操作 
dll 封装的函数类库,通过这些开辟内存空间,保存数据 
那么可不可以,自己写函数和dll封装的一样? 
思路就是将dll中c语言开发的类库,转化成php语言 
网络界的活雷锋,共享了php类文件 

如果出现notice级别的错误,修改php error_reporting + E_ALL+NOTICE 
Memcache的生存周期: 
重启memcached、重启操作系统会导致全部数据消失。另外,内容容量达到指定值之后,就基于LRU(LeastRecently Used)算法自动删除不使用的缓存。 
如果设置expire为0,表示永远不过期,直到机器重启或服务重启 
欲加之罪何患无辞 
将session 的数据保存到memcache中 
session的数据默认情况下,保存在file 文件中 
但是我们可以通过修改php的配置,让他保存在其他地方 
1,让memcache来处理session 
2,
 
寸但是如何获得session变量的时候,不再是name属性,而是通过session_id来保存的 
session_id 
浏览器访问 服务器的时候,服务器给浏览器分配session_id 然后在通过session_id找 对应的值 
如果sessaion保存的是对象的话,获得的时候,累的信息会丢失 
但是现在还有问题: 
如果没有权限修改php的配置怎么办? 
ini_set() 可以在php文件中,设置php的一些配置 
安全问题: 
 
现在谁都可以访问我的memcache 
解决之道: 
防火墙

转载于:https://blog.51cto.com/happyliu/1547839

PHP操作Memcache实例介绍相关推荐

  1. mysql 事务操作详细实例介绍

    1.打开mysql 本人由于重装了系统之后,不能快速正确找到mysql客户端,所以需要使用cmd窗口来运行命令行程序. 如果在打开cmd窗口时就使用mysql命令,会出现如下错误: 这是由于没有目前还 ...

  2. SpringBoot 精通系列-SpringBoot如何操作Memcache

    导语   随着公司的业务速度的提高,数据持久化的问题就凸显出来,很多的场景下使用的是缓存技术来解决请求数据库的压力,这种也是缓存技术使用最多的场景之一,当然在高并发.分布式Session场景下,也会使 ...

  3. Nginx反向绑定域名方法和详细操作应用实例:Google和Gravatar

    2019独角兽企业重金招聘Python工程师标准>>> 反向绑定域名,即将域名B绑定到域名A上,用户只要访问B就等同于进入A,内容都是由A提供,它有点像建立了一个A的镜像.什么时候要 ...

  4. 实例介绍Cocos2d-x开关菜单

    开关菜单是MenuItemToggle类实现的,它是一种可以进行两种状态切换的菜单.它可以通过下面的函数创建: [html] view plaincopy static MenuItemToggle* ...

  5. php django mysql配置文件_Mysql学习Django+mysql配置与简单操作数据库实例代码

    <Mysql学习Django+mysql配置与简单操作数据库实例代码>要点: 本文介绍了Mysql学习Django+mysql配置与简单操作数据库实例代码,希望对您有用.如果有疑问,可以联 ...

  6. Qt 操作words实例 --- 幼儿快算题生成器

    Qt 操作words实例 - 幼儿快算题生成器 幼儿教育一直受到重视,一年级开始,一般学校都会要求口算达标,为了更好的促进孩子学习,是否可以制作这样一款word 口算练习题生成器呢?不妨用Qt来试试看 ...

  7. .NET多线程总结和实例介绍

    摘要:.Net提供了许多多线程编程工具,可能是因为太多了,所以掌握起来总是有一些头疼,我在这里讲讲我总结的一些多线程编程的经验,希望对大家有帮助. 1.多线程的总结 不需要传递参数,也不需要返回参数 ...

  8. python变量的赋值操作_Python中关于变量赋值操作的实例分享

    这篇文章主要介绍了Python编程之变量赋值操作,结合实例形式分析了Python赋值.位移.多元赋值操作符等相关操作使用技巧,需要的朋友可以参考下 本文实例讲述了Python编程之变量赋值操作.分享给 ...

  9. linux动态追踪神器——Strace实例介绍【转】

    Strace是Linux下一款通用的进程动态跟踪工具,用来追踪程序执行时的系统调用和所接收的信号.其应用方法如下图(部分). 首先,简单说说它的使用参数,Strace的参数包括输出参数.过滤参数.统计 ...

最新文章

  1. 一张有趣的图--《teach yourself c++ in 21 days》
  2. 更改linux主机名称
  3. 数组reduce()方法
  4. DRF的@action装饰器
  5. matlab plv,脑电脑网络分析代码使用流程介绍
  6. Ubuntu下利用python实现自动打卡系统全过程
  7. 草图大师(2018)
  8. 史上最全的点线面距离公式与推导过程(图文介绍)
  9. html里怎么旋转视频文件,拍摄的视频如何旋转 三种方法教你旋转视频
  10. 【FPGA学习笔记】VHDL语言(五)语言风格描述:行为描述,数据流描述,结构化描述
  11. Google Chrome浏览器的回退功能快捷键
  12. (字节流与字符流)OutputStream字节输出流
  13. [工具使用]Wireshark
  14. kubernetes 对 rook 进行扩容
  15. 08年普元软件发展回顾与09年展望
  16. JavaWeb-Day01
  17. 好久不见,甚是想念!!!
  18. c语言分蛋糕均匀正方形,分蛋糕(C - 二分查找)
  19. 王衠:爱游戏电视游戏平台将实现宽带支付
  20. Matlab实现图像压缩

热门文章

  1. Fedora最小化安装后没有ifconfig命令
  2. 基于WF4的新平台-流程模式-(9)表单路由启动传入
  3. [转]SharePoint对象模型性能考量
  4. 暴力技术(一)——BFS广(宽)度优先搜索
  5. 2019牛客暑期多校训练营(第三场) B-Crazy Binary String
  6. DSF深搜入门全排列笔记nyoj366
  7. spring基础——普通bean xml注入
  8. Docker初级选手(一)
  9. android 判断照片清晰度_手机如何拍出更清晰的照片?带你走进变焦与对焦的世界...
  10. 卸载nginx php mysql_ubuntu16.04彻底删除nginx+php