我已经浏览了许多如下所示的URL,试图了解我可以在我的项目中实现什么。在我的项目中,我25 thousand
记录了纯静态数据,这些数据 不会 经常被更改。约有90%的操作是GET(使用findByUserIdAndGroupId
或findByUserAndGroupId
,findAddressByUserId
等各种条件来获取数据)。
Why Should I use Redis when I have PostgreSQL as my database for Django?
https://db-engines.com/en/system/PostgreSQL%3BRedis
https://dzone.com/articles/10-traits-of-redis
我当前的数据库是Postgres
(仅在 12-15个表 左右),由于数据是静态的25K records
,因此我们打算进入redis(Redis作为DB ..,即持久性存储)。但是我们当前的Postgres模型是如此复杂,彼此之间具有@ManyToMany, @OneToMany and @ManyToOne
类型的关系*(几乎没有任何没有关系的数据)*,并且业务大多需要双向搜索。
我发现Redis
不支持诸如ignoreCase, IN, LIKE
之类的查询,因为我们主要执行GET
操作,因此我们需要这些查询。
因此,考虑到以上事实,我有以下查询。我知道Redisis不是SQL,但是我希望可以在一定程度上在 Redis中使用SET 完成关系。我们计划使用 Spring Data Redis 来执行CRUD
操作,而不是传统的RedisTemplate
查询。
1)如何为数据建模(使用@RedisHash
的POJO类)以实现复杂的关系。因为我需要两种搜索方式。
2)我们正在使用PCF,因此复制(主从)将在三个diff数据中心中部署Redis时出现任何问题。考虑1个主人和2个从属吗?
我们没有在网上找到任何资料,这将建议如何以这种复杂的关系对数据进行建模,或者在何种程度上可以进行复杂的建模。我们知道Redis主要是支持裁军,但是如果我们需要关系怎么办?
How to model Data in Redis for values Complex Data structure?
在快速阅读以外的其他条件下,Redis
比postgres
有什么优势?。