I already went through many urls like below tried to understand what can I achieved in my project. In My project, I've 25 thousand
records which is pure static data which will not often gets changed. Around 90% opeations will be of GET (fetch data from using various conditions like findByUserIdAndGroupId
or 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
My current database is Postgres
(around 12-15 tables only), since data is static 25K records
, we're planning to move into redis (Redis as DB.. i.e., persistance store). But our current Postgres model is so complex, which has @ManyToMany, @OneToMany and @ManyToOne
kind of relationships with each other*(hardly any data which has no relationship)* and business need bi-directional seaching mostly.
I found found that Redis
doesn't support queries like ignoreCase, IN, LIKE
etc. which would need for us as we mostly do the GET
operations.
So considering above facts, I had the following queries. I know that Redisis not SQL, but I hope relationship can be done in Redis using SET to some extents. We've plan to use Spring Data Redis to perform CRUD
operations instead of traditional RedisTemplate
Queries.
1) How to model the data (POJO classes using @RedisHash
) in order to achieve complex relationships. Since I need both ways of searching.
2) We're using PCF, so replication (Master-slave), will there be any issues to deploy redis in three diff data centers. Considering 1 Master & 2 salve?
We did not found any materials over web, which will suggest how to model data in such complex relationship or to what extents, complex modelling is possible. We know Redis is mainly support denarmalization, but what if we need relationship?
How to model Data in Redis for values Complex Data structure?
What will be the advantages of Redis
over postgres
under such conditions other than the Fast-Read ?..