使用redis缓存session问题

来源:12-5 Django缓存优化之Redis缓存

爱编程的运维

2021-06-15

老师您好:
    1. 配置了redis缓存session,登录网站,发现redis 0库中和数据库中均有session数据,并且数据一致。

    2. 使用navicat工具手动删除mysql数据库中的session数据,这个时候,redis 0库中有session数据,Mysql的django_sessions表中无数据。

http://img.mukewang.com/szimg/60c86a14090d1d5118270356.jpg

http://img.mukewang.com/szimg/60c86b2d09b7d49410090235.jpg

    3. 这时候,我登录好的网站,再点击其它页面,会跳转到登录界面。

疑问:

    配置了redis缓存,按理说不是应该先查找redis中的数据,如果没有才会找mysql数据库,redis有数据的话,不是应该直接返回吗?那redis中明明有session数据, 并且没有过期,为啥还需要我重新登录?是有什么机制可以检测到我偷偷后台删了session?
    还是说我上述的查找缓存逻辑不对?那正确的逻辑是怎样的?

写回答

1回答

Jack

2021-06-17

您好,一般设计网站就是配置了redis缓存,用户请求会让先查找redis中的数据,如果没有才会找mysql数据库。可能是缓存没有生效

0
0

Django高级实战 开发企业级问答网站

融合Django高级用法/算法/设计模式/TestCase测试/云计算打造项目

900 学习 · 756 问题

查看课程