Trước khi trả lời, bạn có phiền chia sẻ mã triển khai RedisTemplate của mình không? (Hay phần này được tạo bởi chú thích @RedisHash?) Bản thân tôi là người mới sử dụng Spring-Data-Redis và không biết về chú thích @RedisHash và muốn xem nó.
Dù sao đi nữa, về cơ bản những gì đang xảy ra ở đây là kho lưu trữ Spring-Data-Redis đang chèn đối tượng Person vào các cấu trúc dữ liệu khác nhau được Redis hỗ trợ ban đầu cho các mục đích khác nhau.
Redis hỗ trợ các cấu trúc dữ liệu khác nhau như:
-
HashRedis tạo một bản đồ các trường chuỗi và giá trị chuỗi để đại diện cho toàn bộ đối tượng Person của bạn. Nếu bạn thực hiện
HGETALL persons:{your person id}
nó sẽ hiển thị tất cả các trường và giá trị khác nhau được liên kết với Đối tượng người của bạnHASH holding property values for id "c5cfd49d-6688-4b83-a9b7-be55dd1c36ad" in keyspace "persons"
-
SetRedis chèn chuỗi thô cơ bản và lập chỉ mục các thực thể dựa trên trường của chúng. Do đó, có rất nhiều
SET
hoạt động trong Redis DB của bạn. Bạn có thể xem các chỉ mục củafirstName
vàlastName
trong tập dữ liệu của bạnSET holding all ids known in the keyspace "persons"
-
ZSetĐây là thao tác Redis cho
Sorted Sets
cấu trúc dữ liệu. Đó là một tập hợp các chuỗi có thứ tự.In short with sorted sets you can do a lot of tasks with great performance that are really hard to model in other kind of databases.
Có vẻ như Dữ liệu mùa xuân tự động chèn dữ liệu vị trí dưới dạng tập hợp được sắp xếp để tối ưu hóa hoạt động CRUD.
Bạn có thể đọc thêm tại đây:
https://github.com/spring-projects/spring-data-examples/blob/master/redis/repositories/README.md
https://redis.io/topics/data-types