关于高并发操作数据库问题

lopds6965921lopds 2014-10-07 07:14:08
如果碰到高并发操作数据库的时候 怎么利用memcache 来缓解数据库压力

因为我以前只用memcache做多人在线游戏有用 感觉在操作数据库方面没什么用哈

比方说读取数据库直接把每次数据库读取出来放到memcache? 那不是更浪费性能
又比方说存入数据库 每次要存入数据库前放入memcache?这样也比原来更浪费性能啊
...全文
372 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
黄袍披身 2014-10-10
  • 打赏
  • 举报
回复
我建议你可以先用内存表 比较一下这个效率差得有多大...然后你就多少有个概念了
傲雪星枫 2014-10-09
  • 打赏
  • 举报
回复
读取 $data = memcache_get_data(); if(!$data){ $data = db_get_data(); memcache_set_data($data); } echo $data; 写入 db_set_data($data); memcache_set_data($data);
傲雪星枫 2014-10-09
  • 打赏
  • 举报
回复
楼上是楼主?
iuwe6965921iuwe 2014-10-09
  • 打赏
  • 举报
回复
引用 4 楼 fdipzone 的回复:
写数据入数据库,把数据从数据库读出。 写数据入文件,把数据从文件读出。 这些你会吗?
会啊 有点看懂了 主要看memcache有没有数据没有数据就从数据库读取 同时放到memcache(这个地方要2步操作么 先读取数据库获得数据 读取数据库memcache) 到如果有数据 就直接读取memcache 插入的时候我更不懂了当db有插入操作时,更新db的同时更新memcache数据。
傲雪星枫 2014-10-08
  • 打赏
  • 举报
回复
写数据入数据库,把数据从数据库读出。 写数据入文件,把数据从文件读出。 这些你会吗?
lopds6965921lopds 2014-10-08
  • 打赏
  • 举报
回复
引用 2 楼 fdipzone 的回复:
流程如下: 1.判断memcache是否有数据,数据是否过期。 2.如果memcache有数据且未过期,直接取出memcahe数据使用。 3.如果memcache没有数据或数据已过期,则读取db获得数据,并把数据写入memcache,留待下次使用。 4.当db有插入操作时,更新db的同时更新memcache数据。
还是不懂。。听的萌萌的。。
傲雪星枫 2014-10-07
  • 打赏
  • 举报
回复
流程如下: 1.判断memcache是否有数据,数据是否过期。 2.如果memcache有数据且未过期,直接取出memcahe数据使用。 3.如果memcache没有数据或数据已过期,则读取db获得数据,并把数据写入memcache,留待下次使用。 4.当db有插入操作时,更新db的同时更新memcache数据。
xuzuning 2014-10-07
  • 打赏
  • 举报
回复
数据库提供有空闲时插入子句,所以插入数据时就不必劳烦你做缓存了 读取数据时的缓存应以查询指令作为缓存键 $a = memcache::get($sql); if(empty($a)) { 查询并读取数据到 $a memcache::set($url, $a); } 返回独到的数据 $a

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧