Memcache知识点梳理
2016-07-09 21:05
260 查看
http://369369.blog.51cto.com/319630/833234/
1、检查客户端的请求数据是否在memcached中,如有,直接把请求数据返回,不再对数据库进行任何操作,路径操作为①②③⑦。
2、如果请求的数据不在memcached中,就去查数据库,把从数据库中获取的数据返回给客户端,同时把数据缓存一份到memcached中(memcached客户端不负责,需要程序明确实现),路径操作为①②④⑤⑦⑥。
3、每次更新数据库的同时更新memcached中的数据,保证一致性。
4、当分配给memcached内存空间用完之后,会使用LRU(Least Recently Used,最近最少使用)策略加上到期失效策略,失效数据首先被替换,然后再替换掉最近未使用的数据。
手动清除memcached缓存方法
telnet localhost 11211
flush_all
php 调用
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
$memcache_obj->flush();
全热数据?
其实就是同步更新redis, 异步写数据库
全内存,不用文件
持久都在数据库
这个文件实测还是影响性能的
对,全热数据当然内存大。
每核32g 4核开3个实例,1个实例跑系统的别的东西
比如只维护两张表到内存
测试的时候可以先关闭到缓存,这样改一下数据库数据就是最新的了
或者通过接口来改数据
而不是直接动数据库
不然你改了数据库,就得重新预热内存数据了
memcache一旦重启电脑 数据就会清空了
1、检查客户端的请求数据是否在memcached中,如有,直接把请求数据返回,不再对数据库进行任何操作,路径操作为①②③⑦。
2、如果请求的数据不在memcached中,就去查数据库,把从数据库中获取的数据返回给客户端,同时把数据缓存一份到memcached中(memcached客户端不负责,需要程序明确实现),路径操作为①②④⑤⑦⑥。
3、每次更新数据库的同时更新memcached中的数据,保证一致性。
4、当分配给memcached内存空间用完之后,会使用LRU(Least Recently Used,最近最少使用)策略加上到期失效策略,失效数据首先被替换,然后再替换掉最近未使用的数据。
手动清除memcached缓存方法
telnet localhost 11211
flush_all
php 调用
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
$memcache_obj->flush();
全热数据?
其实就是同步更新redis, 异步写数据库
全内存,不用文件
持久都在数据库
这个文件实测还是影响性能的
对,全热数据当然内存大。
每核32g 4核开3个实例,1个实例跑系统的别的东西
比如只维护两张表到内存
测试的时候可以先关闭到缓存,这样改一下数据库数据就是最新的了
或者通过接口来改数据
而不是直接动数据库
不然你改了数据库,就得重新预热内存数据了
memcache一旦重启电脑 数据就会清空了
相关文章推荐
- Redis 和 Memcached 的区别
- Linux下安装memcache PHP扩展
- PHP中加速、缓存扩展的区别和作用详解(eAccelerator、memcached、xcache、APC )
- Apache+mod_jk+Tomcat+Memcached win32集群环境搭建
- Centos7 安装memcached
- memcache学习
- memcached 安装
- PHP中加速、缓存扩展的区别和作用详解(eAccelerator、memcached、xcache、APC )
- Memcache和Redis缓存技术
- redis与memcached的区别
- spring3+security3+struts2+mybatis+memcached+gbac权限架构开源项目
- Memcache
- memcached 常用命令及使用说明
- Xmemcached与Spring 3.0的集成
- Xmemcached用户指南
- Xmemcached使用之与Spring整合
- Python - 利用python编写的memcached启动脚本
- Redis和Memcache对比及选择
- Redis与Memcached的区别
- 自己动手搭建Nginx+memcache+xdebug+php运行环境绿色版 For windows版