如何用redis存储mysql数据和关联关系?,数据库报错 -问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

如何用redis存储mysql数据和关联关系?,数据库报错

2020-06-01 16:17:45 452 1

"

最近在开发一个通过配置组合功能的项目,这些配置数据可以遇见会被频繁访问,所以想在mysql上面加一层redis把这些数量不是非常大的配置做缓存,并在增删改的时候把数据从mysql更新后再从redis中更新,但是表和表之间有关联关系。

问:

这些关系应该怎么保存?如何方便的通过条件从redis中查询到多个表的数据?

" ![image.png](https://ucc.alicdn.com/pic/developer-ecology/ce24ee06c01d4b3ea88bd86180872796.png)
取消 提交回答
全部回答(1)
  • python小菜菜
    2020-06-01 16:17:53

    "

    超级简单。

    Nosql数据库设计师,50%的工作就是给主键起个名,这话一点都不错,彻底从烦人的设计字段名称中解脱出来。

    1、统一表名。关系型数据库中的表名经常会用到下划线分割,用作hash键的时候显得不够简洁,比如一张表叫tm_user,转换成hash键的时候就叫user就可以了。

    2、统一主键。要求所有表中的自增主键完全一致,“完全”包括名称和数据类型,比如user这张表,主键就叫id,而不能是user_id。

    3、设计主键。还是以上面的user举例,user一般称为hash键,而这张的id称为范围键(range key),主键按照"hash:range"的形势构造,key="user:1"表示存放的是mysql中user这张表的id为1的用户行数据。假设你的Nosql需要对应mysql多库,将库名也放进hashkey中,比如"crm:user:1"这样

    4、设计value格式。这里推荐用json格式。Nosql中数据类型和关系型数据库不一样,没有那么多复杂的类型。key永远是string类型,而value的类型分两种:

    基础类型:string和number类型;

    保留字:true、false、null

    具体可以参考json的数据规范ecma-404文档。

    5、举例,假设你的user表只要两个字段,id和name,最后格式就是这样:

    "user:1"="{"id":1,"name":"红薯"}"

    ######如何存储数据,我有一篇博文,可以看看,如何维护关系,可以深入了解redis的几种存储类型的典型应用, http://my.oschina.net/yuyidi/blog/499951
    ######回复 @yalishizhude : redis等非关系型存储系统从来不是为了解决关系型数据库的痛点,而是能有一种更简易的方式或更灵活的方式且高效的进行存储热点数据。我写的那遍文章的时候我才是刚了解redis,对redis的理解也比较局限,当初想法很单纯,想用redis去替代mysql等关系型数据库。上面我也只是介绍了如何进行存储mysql中表的关系数据而已且做了对比怎样才能做到更灵活。######并不能解决表关联的问题,对条件支持也很不友好,需要全量查询之后再反序列化比对。######同问" ![image.png](https://ucc.alicdn.com/pic/developer-ecology/e309e757eebd468ba273353c60c06b85.png)
    0 0
相关问答

1

回答

mysql主从配置在linux环境下,数据库报错

2020-06-01 19:32:48 286浏览量 回答数 1

1

回答

【RDS】RDS MySQL如何终止会话?

2022-01-12 16:17:02 444浏览量 回答数 1

1

回答

RDS MySQL如何终止会话?

2022-01-07 14:15:23 871浏览量 回答数 1

0

回答

管理数据源 添加 RDS for MySQL 数据源

2017-10-25 11:21:53 1862浏览量 回答数 0

0

回答

RDS for MySQL 的性能参数表

2017-10-19 13:56:55 3219浏览量 回答数 0

0

回答

RDS for MySQL 的禁用关键字表

2017-10-19 13:57:34 2080浏览量 回答数 0

0

回答

RDS for MySQL 5.7如何创建用户

2017-10-18 16:21:56 1974浏览量 回答数 0

1

回答

rds mysql 5.6 出现锁等待问题

2017-10-04 10:11:47 2529浏览量 回答数 1

1

回答

RDS mysql 事件创建完成无效

2017-09-22 18:34:59 2801浏览量 回答数 1

2

回答

RDS mysql 修改账号密码, 是否需要重启mysql

2017-08-24 15:40:18 5079浏览量 回答数 2
3
文章
302
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载