NoSQL之Redis(三) --- Redis在项目中的运用-阿里云开发者社区

开发者社区> 数据库> 正文
登录阅读全文

NoSQL之Redis(三) --- Redis在项目中的运用

简介:


NoSQL之Redis(三) --- Redis在项目中的运用


 

         又是一个喧闹的新年,少了的不是年味,变了的是人们的内心。难得的假期静下心来回顾上一年,展望下一年。思考,总结,陪陪家人是否更值得去做?养精蓄锐,是不是又能更好迎接来年的挑战?年轻不是放纵的资本,需要的事更好的珍惜眼前的时光。

 

         本文笔者会简单的描述一下Redis在“jrkj”这个项目中的哪些场景中使用的,以及是如何使用的。

 

         应用场景一

 

         首页

 

         寻找讲师

 

         讲师入门

 

         我们知道在每一个项目中都会存在一些不会经常变动的数据,如果每次需要这些数据的时候都从数据库中读取的话,一方面是效率问题,另一方面也会增加数据库中的压力。

         在上述三个地方系统都会默认的先从redis中读取数据,只要将redis中没有数据或者数据不全时才会从数据库中读取,并同时向Redis中备份一份(这样下一个请求来了又会从redis中读取)。

        

         应用场景二


         查看更多讲师(功能未上线)


         在系统中我们还会遇到一些这样的情况,分页查询查询数据,默认我会将第一页的数据存入缓存中,第一次查询第二页的时候我会将第二页的数据也存入缓存中,以此类推。同样是减少直接对数据库的操作。

 

         应用场景三


         个人中心


         当用户登录的时候,我会将其个人信息存入redis中,如果用户登录之后在其个人中心的相关页面需要用的其个人信息的地方直接从redis中读取。当用户修改个人信息的时候同时会更新redis中的数据,这样就保证了redis中的数据和数据库中是同步的。

 

         应用场景四

 

         分布式问题

         该系统属于分布式系统,不可避免的就有这么一个问题需要解决——如何保证session共享的问题。我使用的是在用户登录的时候生成一个唯一标识(UUID)保证用户的唯一性,将其如用户信息一同放入缓存中,登录之后用户访问任何页面都会带着一个UUID通过这个UUID作为Key可以在缓存中获取该用户的个人信息。

 

         总结

         产品年前刚上线,并没有正真的运行起来,需要优化的地方还有很多,年后融资推广什么的希望一切都顺利。其实,刚才在场景一种笔者并没有说明如何将那些静态数据存入redis以及什么时候去更新这些数据,怎么更新这些数据然后存入缓存中,笔者都没有没有详细的写明,欲知原因请阅读下一篇博客。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章