关于缓存故障解决方案

**问题背景**
    最近用PHP做了个API接口,为了性能所有数据先读取redis,当取出结果为空时再读取mysql,然后缓存至
redis(常规操作)。
**问题**
    昨天领导提出一个问题,当redis故障,宕机等根本连接不上的情况时,直接读取MySQL;并且希望可以在程序
中设置一个故障连接的次数限制,比如连续访问5次都超时,直接略过redis,或者改用其他缓存,memcache等。等
故障排除后再自动,或者手动的恢复到redis缓存。

    领导提出这个要求可能是因为该接口直接面向C端,不希望用户看到空数据时的样子。

    以前从来没有考虑过这种情况,毫无头绪,感觉在程序中实现起来比较复杂,求各位大牛指点。或者有什么更
好的缓存故障后的解决办法。

阅读 2.6k
2 个回答
当取出结果为空时再读取mysql

你都说了,redis里没有数据才回去mysql。
怎么会造成接口为空呢?

你需要抽屉里备把菜刀

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题