您的位置:首页 > 数据库 > Memcache

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一旦重启电脑 数据就会清空了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: