redis的科学用法
关于 redis 的推荐使用方案:
- 代码层面,应用服务应当具备合理的自动重连机制;
- 当redis启动时,从mysql从库读取所有表键值并存入redis;
- 读场景:读redis->没有,读mysql->把mysql数据写回redis,有的话直接从redis中取;
- 写场景:若并发不高的话,写mysql->成功,再写redis;若并发高则采取异步写,写入redis缓存就直接返回,定期或特定动作将数据保存到mysql,可以做到多次更新、一次保存;
- 设置expire失效时间,只将经常访问的数据缓存到redis,体现缓存的优势;
注:如果缓存中存储的数据量与mysql数据库的一致,那么就无法体现出缓存的优势了。给缓存中的每条数据设置一个过期时间,比如30秒,如果30秒后这条数据没有被第二次访问,就会在缓存中被删除。而如果30秒内,这条数据被再次访问了,那么就重新给这条数据设置一个过期时间。
以上方案的好处是:
- 当redis迁移或服务短期不可用的时候,不会影响到业务(短期内mysql连接数增多);