Redis
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> Redis

Quy ước đặt tên và các ký tự hợp lệ cho khóa Redis

Một phần của điều này đã được giải đáp ở đây, nhưng đây không hoàn toàn là sự trùng lặp, vì bạn đang hỏi về các ký tự được phép cũng như các quy ước.

Đối với các ký tự hợp lệ trong các khóa Redis , sách hướng dẫn giải thích hoàn toàn điều này:

Khóa Redis là khóa an toàn nhị phân, điều này có nghĩa là bạn có thể sử dụng bất kỳ chuỗi nhị phân nào làm khóa, từ chuỗi như "foo" đến nội dung của tệp JPEG. Chuỗi trống cũng là một khóa hợp lệ.

Một số quy tắc khác về khóa:

Các khóa rất dài không phải là một ý kiến ​​hay, ví dụ như khóa 1024 byte là một ý tưởng tồi không chỉ về bộ nhớ mà còn vì việc tra cứu khóa trong tập dữ liệu có thể yêu cầu một số lần so sánh khóa tốn kém. Ngay cả khi nhiệm vụ trước mắt là khớp với sự tồn tại của một giá trị lớn, thì việc sử dụng băm nó (ví dụ với SHA1) là một ý tưởng tốt hơn, đặc biệt là từ quan điểm của bộ nhớ và băng thông.

Các phím rất ngắn thường không phải là một ý kiến ​​hay. Có rất ít điểm khi viết "u1000flw" làm chìa khóa nếu thay vào đó bạn có thể viết "người dùng:1000:người theo dõi". Cái sau dễ đọc hơn và không gian được thêm vào là nhỏ so với không gian được sử dụng bởi chính đối tượng khóa và đối tượng giá trị. Mặc dù các phím ngắn rõ ràng sẽ tiêu tốn ít bộ nhớ hơn một chút, nhưng công việc của bạn là tìm số dư phù hợp.

Cố gắng gắn bó với một lược đồ. Ví dụ:"object-type:id" là một ý tưởng hay, như trong "user:1000". Dấu chấm hoặc dấu gạch ngang thường được sử dụng cho các trường nhiều từ, như trong "comment:1234:reply.to" hoặc "comment:1234:reply-to".

Kích thước khóa tối đa được phép là 512 MB.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Thông báo hết hạn Redis Key với Jedis

  2. Sự khác biệt giữa khu vực và BoundBox từ mã nguồn của Redis

  3. Sử dụng memcached hoặc Redis trên aws -asticache

  4. Làm cách nào để kiểm tra xem redis có đang chạy hay không trước khi tôi khởi động bình (và khởi động nếu không)?

  5. Hệ thống chưa được khởi động với systemd as init system (PID 1). Không thể hoạt động