Class Cache

Bộ nhớ đệm

Tham chiếu đến một bộ nhớ đệm cụ thể.

Lớp này cho phép bạn chèn, truy xuất và xoá các mục khỏi bộ nhớ đệm. Điều này có thể đặc biệt hữu ích khi bạn muốn thường xuyên truy cập vào một tài nguyên tốn kém hoặc chậm. Ví dụ: giả sử bạn có một nguồn cấp dữ liệu RSS tại example.com mất 20 giây để tìm nạp, nhưng bạn muốn tăng tốc độ truy cập vào một yêu cầu trung bình.

function getRssFeed() {
  const cache = CacheService.getScriptCache();
  const cached = cache.get('rss-feed-contents');
  if (cached != null) {
    return cached;
  }
  const result = UrlFetchApp.fetch(
      'http://example.com/my-slow-rss-feed.xml');  // takes 20 seconds
  const contents = result.getContentText();
  cache.put('rss-feed-contents', contents, 1500);  // cache for 25 minutes
  return contents;
}

Bạn vẫn cần đợi 20 giây nếu mục không có trong bộ nhớ đệm, nhưng các lệnh gọi tiếp theo sẽ rất nhanh cho đến khi mục hết hạn trong bộ nhớ đệm sau 25 phút.

Phương thức

Phương thứcKiểu dữ liệu trả vềMô tả ngắn
get(key)String|nullLấy giá trị được lưu vào bộ nhớ đệm cho khoá đã cho hoặc null nếu không tìm thấy giá trị nào.
getAll(keys)ObjectTrả về một Đối tượng JavaScript chứa tất cả các cặp khoá/giá trị được tìm thấy trong bộ nhớ đệm cho một mảng khoá.
put(key, value)voidThêm một cặp khoá/giá trị vào bộ nhớ đệm.
put(key, value, expirationInSeconds)voidThêm một cặp khoá/giá trị vào bộ nhớ đệm, có thời gian hết hạn (tính bằng giây).
putAll(values)voidThêm một tập hợp các cặp khoá/giá trị vào bộ nhớ đệm.
putAll(values, expirationInSeconds)voidThêm một tập hợp các cặp khoá/giá trị vào bộ nhớ đệm, có thời gian hết hạn (tính bằng giây).
remove(key)voidXoá một mục khỏi bộ nhớ đệm bằng khoá đã cho.
removeAll(keys)voidXoá một nhóm mục nhập khỏi bộ nhớ đệm.

Tài liệu chi tiết

get(key)

Lấy giá trị được lưu vào bộ nhớ đệm cho khoá đã cho hoặc null nếu không tìm thấy giá trị nào.

// Gets the value from the cache for the key 'foo'.
const value = CacheService.getScriptCache().get('foo');

Thông số

TênLoạiMô tả
keyStringKhoá để tìm trong bộ nhớ đệm.

Cầu thủ trả bóng

String|null – Giá trị được lưu vào bộ nhớ đệm hoặc null nếu không tìm thấy giá trị nào.


getAll(keys)

Trả về một Đối tượng JavaScript chứa tất cả các cặp khoá/giá trị được tìm thấy trong bộ nhớ đệm cho một mảng khoá.

// Gets a set of values from the cache
const values = CacheService.getDocumentCache().getAll(['foo', 'x', 'missing']);
// If there were values in the cache for 'foo' and 'x' but not 'missing', then
// 'values' is: {'foo': 'somevalue', 'x': 'othervalue'}

Thông số

TênLoạiMô tả
keysString[]Các khoá để tra cứu.

Cầu thủ trả bóng

Object – Một đối tượng JavaScript chứa các cặp khoá/giá trị cho tất cả các khoá có trong bộ nhớ đệm.

Xem thêm


put(key, value)

Thêm một cặp khoá/giá trị vào bộ nhớ đệm.

Độ dài tối đa của một khoá là 250 ký tự. Lượng dữ liệu tối đa có thể lưu trữ cho mỗi khoá là 100 KB. Giá trị sẽ hết hạn trong bộ nhớ đệm sau 600 giây (10 phút).

Giới hạn cho các mục được lưu vào bộ nhớ đệm là 1.000. Nếu có hơn 1.000 mục được ghi, bộ nhớ đệm sẽ lưu trữ 900 mục có thời gian hết hạn xa nhất. Hạn mức này có thể thay đổi.

const cache = CacheService.getScriptCache();
// Puts the value 'bar' into the cache using the key 'foo'
cache.put('foo', 'bar');

Thông số

TênLoạiMô tả
keyStringKhoá để lưu trữ giá trị.
valueStringGiá trị cần lưu vào bộ nhớ đệm.

put(key, value, expirationInSeconds)

Thêm một cặp khoá/giá trị vào bộ nhớ đệm, có thời gian hết hạn (tính bằng giây).

Độ dài tối đa của một khoá là 250 ký tự. Lượng dữ liệu tối đa có thể lưu trữ cho mỗi khoá là 100 KB. Thời gian hết hạn đã chỉ định chỉ là một đề xuất; dữ liệu được lưu vào bộ nhớ đệm có thể bị xoá trước thời gian này nếu có nhiều dữ liệu được lưu vào bộ nhớ đệm.

Giới hạn cho các mục được lưu vào bộ nhớ đệm là 1.000. Nếu có hơn 1.000 mục được ghi, bộ nhớ đệm sẽ lưu trữ 900 mục có thời gian hết hạn xa nhất. Hạn mức này có thể thay đổi.

// Puts the value 'bar' into the cache using the key 'foo', but only for the
// next 20 seconds.
CacheService.getScriptCache().put('foo', 'bar', 20);

Thông số

TênLoạiMô tả
keyStringKhoá để lưu trữ giá trị.
valueStringGiá trị cần lưu vào bộ nhớ đệm.
expirationInSecondsIntegerThời gian tối đa mà giá trị vẫn còn trong bộ nhớ đệm (tính bằng giây). Thời lượng tối thiểu là 1 giây và tối đa là 21.600 giây (6 giờ).

putAll(values)

Thêm một tập hợp các cặp khoá/giá trị vào bộ nhớ đệm.

Tương tự như các lệnh gọi lặp lại đến "put", nhưng hiệu quả hơn vì chỉ thực hiện một lệnh gọi đến lượng dữ liệu có thể lưu trữ cho mỗi khoá là 100 KB. Các giá trị sẽ hết hạn trong bộ nhớ đệm sau 600 giây (10 phút).

Giới hạn cho các mục được lưu vào bộ nhớ đệm là 1.000. Nếu có hơn 1.000 mục được ghi, bộ nhớ đệm sẽ lưu trữ 900 mục có thời gian hết hạn xa nhất. Hạn mức này có thể thay đổi.

// Puts a set of values into the cache with the keys 'foo', 'x', and 'key'.
const values = {
  foo: 'bar',
  x: 'y',
  key: 'value',
};
CacheService.getUserCache().putAll(values);

Thông số

TênLoạiMô tả
valuesObjectMột đối tượng JavaScript chứa các khoá và giá trị chuỗi.

Xem thêm


putAll(values, expirationInSeconds)

Thêm một tập hợp các cặp khoá/giá trị vào bộ nhớ đệm, có thời gian hết hạn (tính bằng giây).

Tương tự như các lệnh gọi lặp lại đến "put", nhưng hiệu quả hơn vì chỉ thực hiện một lệnh gọi đến máy chủ memcache để đặt tất cả các giá trị. Độ dài tối đa của một khoá là 250 ký tự. Lượng dữ liệu tối đa có thể lưu trữ cho mỗi khoá là 100 KB. Thời gian hết hạn được chỉ định chỉ là một đề xuất; dữ liệu được lưu vào bộ nhớ đệm có thể bị xoá trước thời gian này nếu có nhiều dữ liệu được lưu vào bộ nhớ đệm.

Giới hạn cho các mục được lưu vào bộ nhớ đệm là 1.000. Nếu có hơn 1.000 mục được ghi, bộ nhớ đệm sẽ lưu trữ 900 mục có thời gian hết hạn xa nhất. Hạn mức này có thể thay đổi.

// Puts a set of values into the cache with the keys 'foo', 'x', and 'key'.
const values = {
  foo: 'bar',
  x: 'y',
  key: 'value',
};
CacheService.getUserCache().putAll(values, 20);

Thông số

TênLoạiMô tả
valuesObjectMột đối tượng JavaScript chứa các khoá và giá trị chuỗi.
expirationInSecondsIntegerThời gian tối đa mà giá trị vẫn còn trong bộ nhớ đệm, tính bằng giây. Thời gian hết hạn tối thiểu cho phép là 1 giây và thời gian hết hạn tối đa cho phép là 21600 giây (6 giờ). Thời gian hết hạn mặc định là 600 giây (10 phút).

Xem thêm


remove(key)

Xoá một mục khỏi bộ nhớ đệm bằng khoá đã cho.

// Removes any cache entries for 'foo'
CacheService.getUserCache().remove('foo');

Thông số

TênLoạiMô tả
keyStringKhoá cần xoá khỏi bộ nhớ đệm.

removeAll(keys)

Xoá một nhóm mục nhập khỏi bộ nhớ đệm.

// Removes entries from the cache with keys 'foo' and 'x'
CacheService.getDocumentCache().removeAll(['foo', 'x']);

Thông số

TênLoạiMô tả
keysString[]Mảng khoá cần xoá.