2012-07-04 5 views
7

LocalStorage WebStorage của HTML5 có kích thước tối đa là 5MB.Kích thước tối đa của HTML5 localStorage có bao gồm các tên khóa không?

Điều này có bao gồm các tên chính không?

Ví dụ: nếu tôi sử dụng các tên chính "khá dài một tên-và-này-là-chỉ-1" thay vì "key1", tôi có thể hết dung lượng sớm hơn không?

Về chủ đề có liên quan một chút; có bất kỳ quy ước thực tế nào để đặt tên các khóa localStorage không? Các xung đột không gian tên được ngăn chặn như thế nào khi sử dụng các tập lệnh JS của bên thứ ba?

Trả lời

8

Điều này có bao gồm các tên chính không?

Có những điều đó, chúng trở thành một phần của dữ liệu, ví dụ: chúng xác định dữ liệu bạn lưu trữ và sau đó truy xuất để lưu cũng được lưu.

Các xung đột không gian tên được ngăn chặn như thế nào khi sử dụng tập lệnh JS của bên thứ ba?

Đó là một câu hỏi hay, tôi thường sử dụng tiền tố localStorage với tên ứng dụng. Mặc dù một cách tiếp cận tốt hơn sẽ là tạo ra một băm ví dụ như một số thuật toán chấp nhận một chuỗi như tên ứng dụng, vv và sau này khi đọc bạn sử dụng chúng một lần nữa.

+0

Tôi hiện đang chọn tiền tố cho ứng dụng của mình (hoặc đúng hơn là , jQuery plug-in) tên là tốt. Một băm sẽ làm việc chỉ làm việc nếu có thể lặp lại, trong trường hợp đó bạn cũng có thể chỉ cần sử dụng tên. – Martijn

+0

@Martijn: Vâng, tôi có nghĩa là một băm duy nhất không có cơ hội va chạm và mã hóa-có thể và giải mã (tiết kiệm, truy xuất) :) Đó là một chủ đề khác nhau mặc dù – Blaster

6

Lưu ý đầu tiên rằng việc triển khai này phụ thuộc vào the norm doesn't give a limit. Vì vậy, bạn không nên dựa vào kích thước.

Thứ hai, có, giới hạn trong trình duyệt hiện tại bao gồm tên: đây là kích thước của dung lượng lưu trữ ("dung lượng đĩa").

Để tránh va chạm, tôi sử dụng không gian tên (ví dụ: myplugin.mypart.myval). 5 MB đã lớn đối với một bộ nhớ có thể bị xóa hoặc không khả dụng nữa vào bất kỳ lúc nào nên tôi không bao giờ nghĩ đến việc giảm kích thước của các phím ...

+0

Vì vậy, nó sẽ là lợi ích để sử dụng vài phím và kết hợp dữ liệu nếu có thể? – Martijn

+0

Nếu bạn thực sự cần tối đa hóa việc sử dụng không gian, vâng. Nhưng hãy cẩn thận rằng có những giới hạn cố hữu trong việc sử dụng một không gian không được kiểm soát trong một trình duyệt có thể được thay thế hoặc tệ hơn (hầu hết mọi người có nhiều hơn một trình duyệt). –

+1

Nó không phải là quá nhiều về việc giảm thiểu dung lượng lưu trữ của riêng tôi, mà là tối đa hóa không gian có sẵn cho các kịch bản JS khác. 5MB là khá nhiều không gian ... trừ khi mọi tập lệnh JS bắt đầu xử lý 5MB là "khá nhiều không gian". – Martijn