mirror of
				https://github.com/TeaOSLab/EdgeAdmin.git
				synced 2025-11-04 05:00:25 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			139 lines
		
	
	
		
			7.3 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			139 lines
		
	
	
		
			7.3 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
{$layout}
 | 
						||
 | 
						||
	{$template "policy_menu"}
 | 
						||
 | 
						||
	<form method="post" class="ui form" data-tea-action="$" data-tea-success="success">
 | 
						||
		<input type="hidden" name="cachePolicyId" :value="cachePolicy.id"/>
 | 
						||
		<table class="ui table definition selectable">
 | 
						||
			<tr>
 | 
						||
				<td class="title">策略名称 *</td>
 | 
						||
				<td><input type="text" name="name" maxlength="100" ref="focus" v-model="cachePolicy.name"/> </td>
 | 
						||
			</tr>
 | 
						||
			<tr>
 | 
						||
				<td class="color-border">缓存类型 *</td>
 | 
						||
				<td>
 | 
						||
					<select class="ui dropdown auto-width" name="type" v-model="policyType" @change="changePolicyType">
 | 
						||
						<option v-for="type in types" :value="type.type">{{type.name}}</option>
 | 
						||
					</select>
 | 
						||
				</td>
 | 
						||
			</tr>
 | 
						||
 | 
						||
			<!-- 文件缓存选项 -->
 | 
						||
			<tbody v-if="policyType == 'file'">
 | 
						||
				<tr>
 | 
						||
					<td class="color-border">缓存目录 *</td>
 | 
						||
					<td>
 | 
						||
						<input type="text" name="fileDir" maxlength="500" v-model="cachePolicy.options.dir"/>
 | 
						||
						<p class="comment">存放文件缓存的目录,通常填写绝对路径。</p>
 | 
						||
					</td>
 | 
						||
				</tr>
 | 
						||
                <tr>
 | 
						||
                    <td class="color-border">缓存硬盘最大用量</td>
 | 
						||
                    <td>
 | 
						||
                        <size-capacity-box :v-name="'capacityJSON'" :v-value="cachePolicy.capacity" :v-count="0" :v-unit="'gb'"></size-capacity-box>
 | 
						||
                        <p class="comment">单个节点上缓存所在硬盘的最大用量,超出此用量或硬盘接近用尽时,将会自动尝试清理旧数据,如果为0表示没有限制。</p>
 | 
						||
                    </td>
 | 
						||
                </tr>
 | 
						||
                <tr v-if="cachePolicy.options.memoryPolicy != null && cachePolicy.options.memoryPolicy.capacity != null">
 | 
						||
                    <td class="color-border">内存最大容量</td>
 | 
						||
                    <td>
 | 
						||
                        <size-capacity-box :v-name="'fileMemoryCapacityJSON'" :v-value="cachePolicy.options.memoryPolicy.capacity" :v-count="1" :v-unit="'gb'"></size-capacity-box>
 | 
						||
                        <p class="comment">单个节点上作为一级缓存的内存最大容量,可以作为硬盘缓冲区和存储热点缓存内容,如果为0表示不使用内存作为一级缓存。</p>
 | 
						||
                    </td>
 | 
						||
                </tr>
 | 
						||
                <tr v-if="cachePolicy.options.memoryPolicy == null || cachePolicy.options.memoryPolicy.capacity == null">
 | 
						||
                    <td class="color-border">内存最大容量</td>
 | 
						||
                    <td>
 | 
						||
                        <size-capacity-box :v-name="'fileMemoryCapacityJSON'" :v-count="0" :v-unit="'gb'"></size-capacity-box>
 | 
						||
                        <p class="comment">作为一级缓存的内存最大容量,可以作为硬盘缓冲区和存储热点缓存内容,如果为0表示不使用内存作为一级缓存。</p>
 | 
						||
                    </td>
 | 
						||
                </tr>
 | 
						||
			</tbody>
 | 
						||
 | 
						||
            <tbody v-if="policyType != 'file'">
 | 
						||
                <tr>
 | 
						||
                    <td>缓存最大容量</td>
 | 
						||
                    <td>
 | 
						||
                        <size-capacity-box :v-name="'capacityJSON'" :v-value="cachePolicy.capacity" :v-count="0" :v-unit="'gb'"></size-capacity-box>
 | 
						||
                        <p class="comment">单个节点上允许缓存的最大容量,如果为0表示没有限制。</p>
 | 
						||
                    </td>
 | 
						||
                </tr>
 | 
						||
            </tbody>
 | 
						||
            <tr>
 | 
						||
                <td>最大内容长度</td>
 | 
						||
                <td>
 | 
						||
                    <size-capacity-box :v-value="cachePolicy.maxSize" :v-name="'maxSizeJSON'" :v-count="32" :v-unit="'mb'"></size-capacity-box>
 | 
						||
                    <p class="comment">允许缓存的单个内容最大尺寸,如果为0表示没有限制。</p>
 | 
						||
                </td>
 | 
						||
            </tr>
 | 
						||
			<tr>
 | 
						||
				<td colspan="2"><more-options-indicator></more-options-indicator></td>
 | 
						||
			</tr>
 | 
						||
            <tbody v-show="moreOptionsVisible && policyType == 'file'">
 | 
						||
                <tr>
 | 
						||
                    <td class="color-border">缓存硬盘最小空余空间</td>
 | 
						||
                    <td>
 | 
						||
                        <size-capacity-box :v-name="'fileMinFreeSizeJSON'" :v-value="cachePolicy.options.minFreeSize" :key="'minFreeSizeJSON'"></size-capacity-box>
 | 
						||
                        <p class="comment">缓存硬盘保留的最小空余空间,如果为0表示使用默认(目前默认保留5GiB)。</p>
 | 
						||
                    </td>
 | 
						||
                </tr>
 | 
						||
                <tr>
 | 
						||
                    <td class="color-border">启用MMAP</td>
 | 
						||
                    <td>
 | 
						||
                        <checkbox name="enableMMAP" v-model="cachePolicy.options.enableMMAP"></checkbox>
 | 
						||
                        <p class="comment">选中后,表示允许系统自动利用MMAP提升缓存读取性能。</p>
 | 
						||
                    </td>
 | 
						||
                </tr>
 | 
						||
                <tr>
 | 
						||
                    <td class="color-border">缓存文件句柄缓存</td>
 | 
						||
                    <td>
 | 
						||
                        <input type="text" name="fileOpenFileCacheMax" v-model="fileOpenFileCacheMax" maxlength="6" value="0" style="width: 10em"/>
 | 
						||
                        <p class="comment"><pro-warning-label></pro-warning-label>保持在内存中的缓存文件句柄的数量,提升缓存文件打开速度,同时也会占用系统更多的内存,建议数量不超过缓存文件数量的百分之一;0表示不启用。</p>
 | 
						||
                    </td>
 | 
						||
                </tr>
 | 
						||
                <tr v-show="teaIsPlus">
 | 
						||
                    <td class="color-border">开启Sendfile</td>
 | 
						||
                    <td>
 | 
						||
                        <checkbox name="fileEnableSendfile" v-model="cachePolicy.options.enableSendfile"></checkbox>
 | 
						||
                        <p class="comment"><pro-warning-label></pro-warning-label><plus-label></plus-label>使用sendfile提升发送缓存文件的效率。</p>
 | 
						||
                    </td>
 | 
						||
                </tr>
 | 
						||
            </tbody>
 | 
						||
			<tbody v-show="moreOptionsVisible">
 | 
						||
                <tr>
 | 
						||
                    <td>同步写入压缩缓存</td>
 | 
						||
                    <td>
 | 
						||
                        <checkbox name="syncCompressionCache" v-model="cachePolicy.syncCompressionCache"></checkbox>
 | 
						||
                        <p class="comment">选中后,在压缩设置开启的情况下,在缓存源站内容的同时,也会同步写入压缩缓存;不选中,表示在源站内容缓存后,下一次调用才会缓存压缩内容,防止同一时间内硬盘IO负载过高。</p>
 | 
						||
                    </td>
 | 
						||
                </tr>
 | 
						||
                <tr>
 | 
						||
                    <td>预热超时时间</td>
 | 
						||
                    <td>
 | 
						||
                        <time-duration-box :v-name="'fetchTimeoutJSON'" :v-value="cachePolicy.fetchTimeout" maxlength="6"></time-duration-box>
 | 
						||
                        <p class="comment">预热读取源站的超时时间,默认20分钟。</p>
 | 
						||
                    </td>
 | 
						||
                </tr>
 | 
						||
				<tr>
 | 
						||
					<td>描述</td>
 | 
						||
					<td>
 | 
						||
						<textarea maxlength="200" name="description" rows="3" v-model="cachePolicy.description"></textarea>
 | 
						||
					</td>
 | 
						||
				</tr>
 | 
						||
				<tr>
 | 
						||
					<td>启用当前策略</td>
 | 
						||
					<td>
 | 
						||
						<div class="ui checkbox">
 | 
						||
							<input type="checkbox" name="isOn" value="1" v-model="cachePolicy.isOn"/>
 | 
						||
							<label></label>
 | 
						||
						</div>
 | 
						||
					</td>
 | 
						||
				</tr>
 | 
						||
			</tbody>
 | 
						||
		</table>
 | 
						||
 | 
						||
        <h4>默认缓存条件</h4>
 | 
						||
        <http-cache-refs-config-box :v-cache-refs="cachePolicy.cacheRefs" :v-cache-policy-id="cachePolicy.id" :v-max-bytes="cachePolicy.maxSize"></http-cache-refs-config-box>
 | 
						||
 | 
						||
		<submit-btn></submit-btn>
 | 
						||
	</form> |