mirror of
https://github.com/1Panel-dev/1Panel.git
synced 2025-03-14 01:34:47 +08:00
fix: redis 配置增加范围限制
This commit is contained in:
parent
e1992de7af
commit
2061e00b29
@ -143,7 +143,7 @@ export namespace Database {
|
|||||||
timeout: number;
|
timeout: number;
|
||||||
maxclients: number;
|
maxclients: number;
|
||||||
requirepass: string;
|
requirepass: string;
|
||||||
maxmemory: number;
|
maxmemory: string;
|
||||||
}
|
}
|
||||||
export interface RedisPersistenceConf {
|
export interface RedisPersistenceConf {
|
||||||
appendonly: string;
|
appendonly: string;
|
||||||
|
@ -396,7 +396,7 @@ export default {
|
|||||||
rdbHelper1: 'In seconds, insert',
|
rdbHelper1: 'In seconds, insert',
|
||||||
rdbHelper2: 'The data',
|
rdbHelper2: 'The data',
|
||||||
rdbHelper3: 'Meeting either condition triggers RDB persistence',
|
rdbHelper3: 'Meeting either condition triggers RDB persistence',
|
||||||
rdbInfo: 'Rule list has 0 value, please confirm and try again!',
|
rdbInfo: 'Ensure that the value in the rule list ranges from 1 to 100000',
|
||||||
},
|
},
|
||||||
container: {
|
container: {
|
||||||
createContainer: 'Create container',
|
createContainer: 'Create container',
|
||||||
|
@ -409,7 +409,7 @@ export default {
|
|||||||
rdbHelper1: '秒內,插入',
|
rdbHelper1: '秒內,插入',
|
||||||
rdbHelper2: '条数据',
|
rdbHelper2: '条数据',
|
||||||
rdbHelper3: '符合任意一个条件将会触发RDB持久化',
|
rdbHelper3: '符合任意一个条件将会触发RDB持久化',
|
||||||
rdbInfo: '规则列表存在 0 值,请确认后重试!',
|
rdbInfo: '请确认规则列表中值在 1-100000 之间',
|
||||||
},
|
},
|
||||||
container: {
|
container: {
|
||||||
createContainer: '创建容器',
|
createContainer: '创建容器',
|
||||||
|
@ -73,14 +73,19 @@
|
|||||||
<el-col :span="1"><br /></el-col>
|
<el-col :span="1"><br /></el-col>
|
||||||
<el-col :span="10">
|
<el-col :span="10">
|
||||||
<el-form-item :label="$t('database.timeout')" prop="timeout">
|
<el-form-item :label="$t('database.timeout')" prop="timeout">
|
||||||
<el-input clearable type="number" v-model.number="form.timeout" />
|
<el-input clearable type="number" v-model.number="form.timeout">
|
||||||
|
<template #append>{{ $t('home.Second') }}</template>
|
||||||
|
</el-input>
|
||||||
<span class="input-help">{{ $t('database.timeoutHelper') }}</span>
|
<span class="input-help">{{ $t('database.timeoutHelper') }}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('database.maxclients')" prop="maxclients">
|
<el-form-item :label="$t('database.maxclients')" prop="maxclients">
|
||||||
<el-input clearable type="number" v-model.number="form.maxclients" />
|
<el-input clearable type="number" v-model.number="form.maxclients" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('database.maxmemory')" prop="maxmemory">
|
<el-form-item :label="$t('database.maxmemory')" prop="maxmemory">
|
||||||
<el-input clearable type="number" v-model.number="form.maxmemory" />
|
<el-input clearable type="number" v-model.number="form.maxmemory">
|
||||||
|
<template #append>mb</template>
|
||||||
|
</el-input>
|
||||||
|
|
||||||
<span class="input-help">{{ $t('database.maxmemoryHelper') }}</span>
|
<span class="input-help">{{ $t('database.maxmemoryHelper') }}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
@ -178,6 +183,21 @@ interface DialogProps {
|
|||||||
|
|
||||||
const changeTab = (val: string) => {
|
const changeTab = (val: string) => {
|
||||||
activeName.value = val;
|
activeName.value = val;
|
||||||
|
switch (val) {
|
||||||
|
case 'conf':
|
||||||
|
loadConfFile();
|
||||||
|
break;
|
||||||
|
case 'persistence':
|
||||||
|
persistenceRef.value!.acceptParams({ status: redisStatus.value });
|
||||||
|
break;
|
||||||
|
case 'tuning':
|
||||||
|
case 'port':
|
||||||
|
loadform();
|
||||||
|
break;
|
||||||
|
case 'status':
|
||||||
|
statusRef.value!.acceptParams({ status: redisStatus.value });
|
||||||
|
break;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const changeLoading = (status: boolean) => {
|
const changeLoading = (status: boolean) => {
|
||||||
@ -189,11 +209,6 @@ const acceptParams = (prop: DialogProps): void => {
|
|||||||
redisName.value = prop.redisName;
|
redisName.value = prop.redisName;
|
||||||
settingShow.value = true;
|
settingShow.value = true;
|
||||||
loadConfFile();
|
loadConfFile();
|
||||||
if (redisStatus.value === 'Running') {
|
|
||||||
statusRef.value!.acceptParams({ status: prop.status });
|
|
||||||
persistenceRef.value!.acceptParams({ status: prop.status });
|
|
||||||
loadform();
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const portRef = ref();
|
const portRef = ref();
|
||||||
@ -220,7 +235,6 @@ function callback(error: any) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
const onChangePort = async (formEl: FormInstance | undefined) => {
|
const onChangePort = async (formEl: FormInstance | undefined) => {
|
||||||
console.log('asdqwdwqd');
|
|
||||||
if (!formEl) return;
|
if (!formEl) return;
|
||||||
const result = await formEl.validateField('port', callback);
|
const result = await formEl.validateField('port', callback);
|
||||||
if (!result) {
|
if (!result) {
|
||||||
@ -260,7 +274,7 @@ const submtiForm = async () => {
|
|||||||
let param = {
|
let param = {
|
||||||
timeout: form.timeout + '',
|
timeout: form.timeout + '',
|
||||||
maxclients: form.maxclients + '',
|
maxclients: form.maxclients + '',
|
||||||
maxmemory: form.maxmemory + '',
|
maxmemory: form.maxmemory + 'mb',
|
||||||
};
|
};
|
||||||
loading.value = true;
|
loading.value = true;
|
||||||
await updateRedisConf(param)
|
await updateRedisConf(param)
|
||||||
@ -311,7 +325,7 @@ const loadform = async () => {
|
|||||||
form.name = res.data?.name;
|
form.name = res.data?.name;
|
||||||
form.timeout = Number(res.data?.timeout);
|
form.timeout = Number(res.data?.timeout);
|
||||||
form.maxclients = Number(res.data?.maxclients);
|
form.maxclients = Number(res.data?.maxclients);
|
||||||
form.maxmemory = Number(res.data?.maxmemory);
|
form.maxmemory = Number(res.data?.maxmemory.replaceAll('mb', '')) / 1048576;
|
||||||
form.port = Number(res.data?.port);
|
form.port = Number(res.data?.port);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -48,13 +48,13 @@
|
|||||||
<td width="32%">
|
<td width="32%">
|
||||||
<el-input type="number" v-model="row.second"></el-input>
|
<el-input type="number" v-model="row.second"></el-input>
|
||||||
</td>
|
</td>
|
||||||
<td width="60px">
|
<td width="80px">
|
||||||
{{ $t('database.rdbHelper1') }}
|
{{ $t('database.rdbHelper1') }}
|
||||||
</td>
|
</td>
|
||||||
<td width="32%">
|
<td width="32%">
|
||||||
<el-input type="number" v-model="row.count"></el-input>
|
<el-input type="number" v-model="row.count"></el-input>
|
||||||
</td>
|
</td>
|
||||||
<td width="12%">
|
<td width="10%">
|
||||||
{{ $t('database.rdbHelper2') }}
|
{{ $t('database.rdbHelper2') }}
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
@ -89,7 +89,11 @@
|
|||||||
<el-table-column type="selection" fix />
|
<el-table-column type="selection" fix />
|
||||||
<el-table-column :label="$t('commons.table.name')" show-overflow-tooltip prop="fileName" />
|
<el-table-column :label="$t('commons.table.name')" show-overflow-tooltip prop="fileName" />
|
||||||
<el-table-column :label="$t('database.source')" prop="backupType">
|
<el-table-column :label="$t('database.source')" prop="backupType">
|
||||||
<template #default="{ row }">{{ $t('setting.' + row.source) }}</template>
|
<template #default="{ row }">
|
||||||
|
<span v-if="row.source">
|
||||||
|
{{ $t('setting.' + row.source) }}
|
||||||
|
</span>
|
||||||
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column :label="$t('file.dir')" show-overflow-tooltip prop="fileDir" />
|
<el-table-column :label="$t('file.dir')" show-overflow-tooltip prop="fileDir" />
|
||||||
<el-table-column :label="$t('commons.table.createdAt')" :formatter="dateFormat" prop="createdAt" />
|
<el-table-column :label="$t('commons.table.createdAt')" :formatter="dateFormat" prop="createdAt" />
|
||||||
@ -270,7 +274,7 @@ const onSave = async (formEl: FormInstance | undefined, type: string) => {
|
|||||||
}
|
}
|
||||||
let itemSaves = [] as Array<string>;
|
let itemSaves = [] as Array<string>;
|
||||||
for (const item of form.saves) {
|
for (const item of form.saves) {
|
||||||
if (item.count === 0 || item.second === 0) {
|
if (item.count < 0 || item.count > 100000 || item.second < 0 || item.second > 100000) {
|
||||||
MsgInfo(i18n.global.t('database.rdbInfo'));
|
MsgInfo(i18n.global.t('database.rdbInfo'));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -290,6 +294,7 @@ const onSave = async (formEl: FormInstance | undefined, type: string) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const loadform = async () => {
|
const loadform = async () => {
|
||||||
|
console.log('adqwdqw');
|
||||||
form.saves = [];
|
form.saves = [];
|
||||||
const res = await redisPersistenceConf();
|
const res = await redisPersistenceConf();
|
||||||
form.appendonly = res.data?.appendonly;
|
form.appendonly = res.data?.appendonly;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user