开发者社区> 温水煮青蛙> 正文

redis存储关系性数据库数据

简介:   最近公司数据库内存占用比较高,一直在着手寻找解决方案。虽然大家都知道系统架构有很多不合理的地方,但是我们是金融公司,系统庞大,业务牵扯繁多,大家都不敢轻易对系统动大手术。   最后决定先给数据库中常用的一些静态表先加一层缓存。
+关注继续查看
    最近公司数据库内存占用比较高,一直在着手寻找解决方案。虽然大家都知道系统架构有很多不合理的地方,但是我们是金融公司,系统庞大,业务牵扯繁多,大家都不敢轻易对系统动大手术。
    最后决定先给数据库中常用的一些静态表先加一层缓存。抛开数据库优化配置不说,数据库访问量下来了,内存肯定也不会高到哪里去。
    因为这里缓存以后会存储更多需要精细化控制的表信息,而且结合分布式场景的需要,所以选择redis来存储,而不是简单的选择mybatis的二级缓存。
    那么问题来了,怎么将数据库的信息,存到redis且又方便查询呢?
id name age date
1  zzy  18  2017
    因为场景的需求至少是根据表任意字段组合查询的,所以在选redis数据结构的时候就需要支持模糊查询。那么就只有选String数据结构了,用keys()这个函数就可以模糊查询了,这里模糊查询其实只是正则表达式匹配。
    user:id:1:name:zzy:age:18:date:2017作为key,value就是你整个数据内容了。        keys(user:*age:18*),这样就可以查询user表中age=18的数据了,拿到value就随便你怎么搞了。
    redsi的持久化,这里不需要,每次启动程序都重新加在最新的数据到cache。
    查询数据时,查询方直接连接redis查,查不到数据时再去查数据库。但是如果你查数据库没有的数据,访问会一直穿透到数据库,redis不起作用。但是别怕,你可以把没查到的数据也记录到redis,给个过期时间,至少可以过滤大量这种操作对数据库的访问。
    为了统一管理,数据的增删改都调用服务。前面先加数据库,后面再加cache,至少在调用添加服务失败时,数据库的也会因为异常而回滚。这个操作redis的服务是需要部署多机的,为了避免程序启动时重复的去加载数据库,重复的去和redis数据做对比。这里考虑了用zookeeper选举的这一特性,在zookeeper同一目录上去注册监听,谁先注册上,谁就拥有权利去加在数据库。

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

相关文章
一日一技:如何从 Redis 的列表中一次性 pop 多条数据?
一日一技:如何从 Redis 的列表中一次性 pop 多条数据?
36 0
宕机了,Redis数据丢了怎么办?
前言 什么是AOF? 三种写回策略 日志文件太大怎么办? AOF重写会阻塞主线程吗? AOF的缺点 总结 什么是RDB? 给哪些数据做快照? 快照时能够修改数据吗? 多久做一次快照? 增量快照 AOF和RDB混合使用 总结 总结
28 0
谷粒学院——Day11【首页数据显示和添加Redis缓存】
谷粒学院——Day11【首页数据显示和添加Redis缓存】
154 0
【SpringBoot实战专题】「开发实战系列」从零开始教你舒服的使用RedisTemplate操作Redis数据
【SpringBoot实战专题】「开发实战系列」从零开始教你舒服的使用RedisTemplate操作Redis数据
72 0
【Redis 技术探索】「数据迁移实战」手把手教你如何实现在线 + 离线模式进行迁移 Redis 数据实战指南(数据检查对比)
【Redis 技术探索】「数据迁移实战」手把手教你如何实现在线 + 离线模式进行迁移 Redis 数据实战指南(数据检查对比)
85 0
【Redis 技术探索】「数据迁移实战」手把手教你如何实现在线 + 离线模式进行迁移 Redis 数据实战指南(scan模式迁移)
【Redis 技术探索】「数据迁移实战」手把手教你如何实现在线 + 离线模式进行迁移 Redis 数据实战指南(scan模式迁移)
85 0
【Redis 技术探索】「数据迁移实战」手把手教你如何实现在线 + 离线模式进行迁移Redis数据实战指南(离线同步数据)
【Redis 技术探索】「数据迁移实战」手把手教你如何实现在线 + 离线模式进行迁移Redis数据实战指南(离线同步数据)
135 0
【Redis技术探索】「数据迁移实战」手把手教你如何实现在线+离线模式进行迁移Redis数据实战指南(在线同步数据)
【Redis技术探索】「数据迁移实战」手把手教你如何实现在线+离线模式进行迁移Redis数据实战指南(在线同步数据)
154 0
【Redis源码分析专题】(1)从本质分析你写入Redis中的数据为什么不见了?
【Redis源码分析专题】(1)从本质分析你写入Redis中的数据为什么不见了?
51 0
Redis学习12:删除策略:过期数据、数据删除策略、逐出策略
过期的数据真的删除了吗? 过期数据是指曾经有效的数据,并不是立马被删除的。
75 0
+关注
温水煮青蛙
zengzhiyuanlhl@foxmail.com
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
Redis Cluster的基本原理
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
相关实验场景
更多