memcache和数据库的使用技巧

1、加速无数据的访问速度
毋庸置疑取数据先去取下memcache里的数据,如果没有再去数据库取数据
但这样如果我取100次都是没有的那么我得去数据库去取100次 如果还是重复的。。。那么效率就不高了

解决办法

  1. //在数据库取数据
  2.         if (!$row)//如果没有数据
  3.             memcache_set($dbh->memcache, $cacheid, 'x', 0, 300);
  4.         else//有数据
  5.             memcache_set($dbh->memcache, $cacheid, $id, 0, 0);

不知道大家是否有看出这样处理的巧妙,为什么会往memcache里面设置一个’x'的值?还是300秒就过期了?
呵呵 原来是这样的:
如果没有数据,很平常的到数据库去取数据
  如果数据存在于数据库,那么就给memcache里面设置数据,并且不过期,
  如果数据不存在于数据库,那么就给memcache里面设置一个值为x的数据,但过期时间比较短,这样放置不久将来会也许数据库会存在这个数据,在不过期的时间里如果再访问这个数据,那么就直接取memcache的数据,就不需要到数据库去查询这个不存在的数据了,在海量数据和海量访问的时候,这样处理的效率很高呢


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值