Avatar
1
Hồng Quân Nguyễn Beginner
Synchronous Redis trong Spring boot
chào mn, em có sử dụng Redis trong project của mình. Hiện tại em có 2 module cần thao tác trên một tập thuê bao với tốc độ nhanh(vì nếu truy vấn dưới database thì rất chậm do dữ liệu nhiều).Em hướng sẽ cache hết tập thuê bao này trên Redis. em có 2 hướng:
  1. chỉ cache id và sau đó sẽ truy vấn theo từng id(id có index nên em nghĩ sẽ nhanh)
  2. cache cả toàn bộ thông tin nhưng như thế nếu thuê bao cập nhật thông tin thì trên cache sẽ phải đồng bộ như nào.
  • cả 2 đều phải lấy dữ liệu kiểu đồng bộ thì trong Java có thư viện nào hỗ trợ không ạ?
  • Nếu cache trên redis mà redis sập, dữ liệu bị mất đi thì phải làm sao ạ?
  • Mn còn ý tưởng nào hay thì góp ý giúp em với :D
  • Answer
java redis spring boot
Remain: 5
1 Answer
Avatar
monkey Beginner
monkey Beginner
  1. Anh chưa hiểu là cơ sở dữ liệu của em thiết kế như thế nào mà tại sao lại chậm, em đang chỉ sử dụng đến truy vấn findById thôi nhỉ? Hay câu lệnh truy vấn của em là khác?
  2. Việc lưu toàn bộ dữ liệu lên redis cũng là 1 phương án, redis nó cũng lưu dữ liệu ra disk và có replica nên có sập thì cũng vẫn còn dữ liệu. Nếu em lưu cả dữ liệu trên redis và mysql thì cũng sẽ có nguy cơ bị bất đồng bộ dữ liệu nên anh nghĩ là nên xem xét, cá nhân anh thấy lưu vào mysql chỉ để backup và truy vấn làm report thì ok.
  3. Cá nhân anh vẫn đang dùng mysql, anh vẫn thấy truy vấn rất nhanh nếu dữ liệu được đánh index một cách hợp lý nên anh cũng không cần dùng đến redis và lại phải maintain phức tạp.
  • 0
  • Reply