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

  1. 云栖社区>
  2. 博客>
  3. 正文

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

codyl 2016-02-09 13:15:00 浏览2587
展开阅读全文


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


 

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

 

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

 

         应用场景一

 

         首页

 

         寻找讲师

 

         讲师入门

 

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

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

        

         应用场景二


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


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

 

         应用场景三


         个人中心


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

 

         应用场景四

 

         分布式问题

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

 

         总结

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

网友评论

登录后评论
0/500
评论
codyl
+ 关注