redis应用的总结

#写在前面

对最近项目应用redis做一个简单总结,项目中的营业网点资料和客户资料等模块以后的资料量势必会随着业务的扩张会越来越大,可能会造成系统性能瓶颈及用户体验不佳等,所以根据老大的建议,把相应模块对应的表名+表关键字作为key,优先从redis缓存中拿数据,减少对数据库CRUD操作避免负载过大。

#这里,我们会专门写一个接口来实现redis处理的逻辑

查询的逻辑:根据我们生成的key,来判断redis里是否存在这样的key,若存在,直接从redis里面取,不存在,从数据库(ORACLE)里面取。注意:在从redis里取得时候,会做这样一个操作:就是我们定义了一个缓存对象CacheObject,缓存对象有两个属性,一个布尔值用来判断redis是否需要同步更新oracle最新数据,另一个是泛型的数据集合,至于为什么是泛型,是因为这样我们查询哪个模块的数据就返回哪个模块的数据而不必为每个模块重新去定义。当缓存对象里的布尔值为true时,从redis里获得数据后把布尔值从新设置为false,并更新缓存对象到redis里。

这部分的代码如下:

定义的缓存对象:

查询缓存处理:

通用查询接口:

更新的逻辑:

一旦我们修改或者增加资料到数据库(oracle),我们同时设置缓存对象的布尔值为true,并将其存到redis中,当下次我们查询的时候会根据这个布尔值同步最新数据到redis(见上面的查询逻辑)

更新逻辑代码:

删除逻辑:

删除数据库数据时,同时删除redis中的数据

删除代码:

#写在最后

以上只是让大家知道redis缓存的处理逻辑,如果大家有更好的意见,欢迎到博客左侧的小窗骚扰我(...呸呸呸...联系我)。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Python爬虫实战

Python爬虫利器:Requests库的使用

写了一些爬虫,从urllib库转到requests库,到目前为止,个人感觉requests库是最简单易用的HTTP库,以下这段话来自requests官网:

981
来自专栏PHP技术大全

通过代码审计找出网站中的XSS漏洞实战(三)

笔者此前录制了一套XSS的视频教程,在漏洞案例一节中讲解手工挖掘、工具挖掘、代码审计三部分内容,准备将内容用文章的形式再次写一此,前两篇已经写完,内容有一些关联...

982
来自专栏逸鹏说道

关于long的争议和思考

先普及一下VS开发Linux的知识点 VS2017的安装:https://www.cnblogs.com/dunitian/p/8051985.html 创建项...

3558
来自专栏行者常至

struts工作流程

1153
来自专栏FreeBuf

如何通过追踪代码自动发现网站之间的“关联”

几年前Lawrence Alexander发表了一篇使用Google Analytics查找网页之间的关联的文章,去年,我也发布了一个关于如何使用Python自...

2378
来自专栏我是攻城师

关于kafka连接的一个小问题

3674
来自专栏coding for love

在线商城项目01-项目初始化简介

会有如下图所示命令提示,一路默认即可。这里值得一说的的是eslint,我选择了standard,这点并不是强制的。你可以选择不使用eslint,也可以使用Sta...

922
来自专栏纯洁的微笑

jvm系列(十一):Java 8-从持久代到metaspace

译者 梅小西,原文出处:http://blog.csdn.net/wang8118/article/details/45765869 Java 8介绍了一些新语...

3886
来自专栏PHP技术大全

通过代码审计找出网站中的XSS漏洞实战(三)

笔者此前录制了一套XSS的视频教程,在漏洞案例一节中讲解手工挖掘、工具挖掘、代码审计三部分内容,准备将内容用文章的形式再次写一此,前两篇已经写完,内容有一些关联...

1552
来自专栏程序小工

【实战】Tp5+小程序(三)--微信登录与令牌

ThinkPHP5 从入门到深入学习,结合实战项目深入理解 ThinkPHP5 的特性和使用方法。深入学习 api 开发,学习微信登录和令牌的相关知识,并理解微...

2.3K3

扫码关注云+社区

领取腾讯云代金券