一 缓存案例
① 需求
② 个人理解
策略:'不更新'缓存,而是'删除缓存'
大部分观点认为:
1、做缓存不应该是去'更新缓存',而是应该'删除缓存'
2、然后由'下个请求'去缓存,发现'不存在'后再'读取数据库',写入'redis缓存'
高并发场景下,到底先更新缓存还是先更新数据库?
如何保证缓存和数据库一致性
缓存与数据库双写一致
参考博客
二 代码设计
① 基础配置
1、新建 'Django项目' rmysite1
2、配置'数据库'
3、mysql创建'rmysite1'数据库
4、创建'user'子应用
5、'注册'应用
6、'时区'和'语言'
② 模型类创建
1、数据库'同步'
2、数据库'查询'
③ 路由
1、'主路由'配置
2、'子路由'配置
④ 视图函数
⑤ django提供的shell插入数据
⑥ 缓存测试
说明: 由于插入一个数据,数据库中'只有一条数据',所以'id=1',可以理解'user_id=1'
1、第'一次'请求
2、第'二次'请求
3、redis数据库'对比'查看
⑦ update更新代码
1、'子路由'配置
2、'子视图'函数
3、'配置模板'
⑧ 更新测试
1、'更新'内容
2、成功'更新'
3、mysql看'是否'更新
4、'redis'看是否'key'被删除
1、编码转换:ziplist --> hashtabe
2、Hash对象'键或值的长度'小于64Bytess
3、Hash对象的'数值对数量'小于512