# 页面缓存

### 使用场景

表单插件需要用到缓存的场景，在页面关闭时销毁



### 页面缓存接口

`kd.bos.form.IPageCache`

```java
public interface IPageCache {
    /**
	 * 设置字段缓存
	 * 
	 * @param keyName 字段标识
	 * @param value 字段缓存值
	 */
	void put(String keyName,String name);
    /**
	 * 批量设置字段缓存
	 * 
	 * @param values 字段缓存值键值对
	 */
	void put(Map<String, String> values);
	/**
	 * 获取字段缓存值
	 * @param keyName 字段标识
	 */
	String get(String keyName);
	/**
	 * 获取字段缓存值
	 * @param keyName 字段标识
	 */
	void remove(String keyName);
	
	void expireAfter(int timeout);

	Map<String, String> getAll();
	
	void putBigObject(String key,String name);
	
	String getBigObject(String key);
	
	void removeBigObject(String keyName);
}
```

### 插件获取方式和示例

```java
// 取当前页面的缓存
IPageCache iPageCache =this.getPageCache().put("newBookId", "Book-0001");
String bookid = this.getPageCache().get("newBookId");
```

```java
// 取父页面的缓存
IPageCache iPageCache = this.getView().getParentView().getService(IPageCache.class);
String pageId = iPageCache.get("newBookId");
```



