Nó nhận diện object bằng __typename + id của record.
Nhờ vậy cùng một object xuất hiện trong nhiều truy vấn chỉ được lưu một bản, và cập nhật nó ở một nơi tự phản ánh ở mọi màn hình đang hiển thị.
js
// the store is flat, keyed by __typename + id
{
"Post:42": { id: "42", title: "Hello", author: { __ref: "User:7" } },
"User:7": { id: "7", name: "An" } // updating this reflects on every screen
}Điều kiện: schema phải trả về id và client phải hỏi field đó. Thiếu id thì thư viện không chuẩn hoá được, phải đệm theo truy vấn, và cập nhật một chỗ không phản ánh sang chỗ khác.
Phần vẫn phải làm tay: thêm và xoá phần tử khỏi danh sách, vì thư viện không biết record mới thuộc danh sách nào. Đây là phần tốn công nhất khi làm việc với normalized cache.
Một lựa chọn nhẹ hơn cho ứng dụng vừa và nhỏ: dùng thư viện đệm theo truy vấn và làm mới các truy vấn liên quan sau khi ghi.