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 tiền 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 trên 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 phải chờ 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ứcLoại dữ liệu trả vềMô tả ngắn
get(key)StringLấ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ị 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, với 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, với 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 tập hợp các 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');

Tham số

TênLoạiMô tả
keyStringkhoá để tra cứu trong bộ nhớ đệm

Cầu thủ trả bóng

String – giá trị được lưu vào bộ nhớ đệm hoặc giá trị rỗng 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ị 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' would be: {'foo': 'somevalue', 'x': 'othervalue'}

Tham số

TênLoạiMô tả
keysString[]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ả khoá tìm thấy 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 khoá là 250 ký tự. Mỗi khoá có thể lưu trữ tối đa 100 KB dữ liệu. Giá trị này 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 bạn ghi hơn 1.000 mục, thì bộ nhớ đệm sẽ lưu trữ 900 mục lâu nhất trước khi hết hạn. Giới hạn 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');

Tham số

TênLoạiMô tả
keyStringkhoá để lưu trữ giá trị trong
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, với thời gian hết hạn (tính bằng giây).

Độ dài tối đa của khoá là 250 ký tự. Mỗi khoá có thể lưu trữ tối đa 100 KB dữ liệu. Thời gian hết hạn được chỉ định chỉ là đề xuất; dữ liệu được lưu vào bộ nhớ đệm có thể bị xoá trước thời điểm 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 bạn ghi hơn 1.000 mục, thì bộ nhớ đệm sẽ lưu trữ 900 mục lâu nhất trước khi hết hạn. Giới hạn 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);

Tham số

TênLoạiMô tả
keyStringkhoá để lưu trữ giá trị trong
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à 21600 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 máy chủ memcache để đặt tất cả các giá trị. Độ dài tối đa của khoá là 250 ký tự. Mỗi khoá có thể lưu trữ tối đa 100 KB dữ liệu. 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 bạn ghi hơn 1.000 mục, thì bộ nhớ đệm sẽ lưu trữ 900 mục gần hết hạn nhất. Giới hạn 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);

Tham 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, với 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 khoá là 250 ký tự. Mỗi khoá có thể lưu trữ tối đa 100 KB dữ liệu. 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 điểm 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 bạn ghi hơn 1.000 mục, thì bộ nhớ đệm sẽ lưu trữ 900 mục gần hết hạn nhất. Giới hạn 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);

Tham số

TênLoạiMô tả
valuesObjectĐối tượng JavaScript chứa 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 được phép là 1 giây và thời gian hết hạn tối đa được 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');

Tham số

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

removeAll(keys)

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

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

Tham số

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