test clear redis เผยแพร่ย่อย
This commit is contained in:
parent
6319f7206a
commit
61e4bcdf03
1 changed files with 33 additions and 33 deletions
|
|
@ -8704,42 +8704,42 @@ export class OrganizationController extends Controller {
|
|||
await queryRunner.commitTransaction();
|
||||
|
||||
// Clear Redis cache after successful publish (only menu and role for menu display)
|
||||
// const redis = require("redis");
|
||||
// const { promisify } = require("util");
|
||||
// const redisClient = redis.createClient({
|
||||
// host: process.env.REDIS_HOST || "localhost",
|
||||
// port: parseInt(process.env.REDIS_PORT || "6379"),
|
||||
// });
|
||||
// const keysAsync = promisify(redisClient.keys).bind(redisClient);
|
||||
// const delAsync = promisify(redisClient.del).bind(redisClient);
|
||||
const redis = require("redis");
|
||||
const { promisify } = require("util");
|
||||
const redisClient = redis.createClient({
|
||||
host: process.env.REDIS_HOST || "localhost",
|
||||
port: parseInt(process.env.REDIS_PORT || "6379"),
|
||||
});
|
||||
const keysAsync = promisify(redisClient.keys).bind(redisClient);
|
||||
const delAsync = promisify(redisClient.del).bind(redisClient);
|
||||
|
||||
// try {
|
||||
// // Clear only menu and role cache (affects menu display)
|
||||
// const menuRolePatterns = ["menu_*", "role_*"];
|
||||
// let totalCleared = 0;
|
||||
try {
|
||||
// Clear only menu and role cache (affects menu display)
|
||||
const menuRolePatterns = ["menu_*", "role_*"];
|
||||
let totalCleared = 0;
|
||||
|
||||
// for (const pattern of menuRolePatterns) {
|
||||
// const keys = await keysAsync(pattern);
|
||||
// if (keys.length > 0) {
|
||||
// // Delete in chunks of 1000 to avoid argument limit
|
||||
// const chunkSize = 1000;
|
||||
// for (let i = 0; i < keys.length; i += chunkSize) {
|
||||
// const chunk = keys.slice(i, i + chunkSize);
|
||||
// await delAsync(...chunk);
|
||||
// }
|
||||
// totalCleared += keys.length;
|
||||
// console.log(`[moveDraftToCurrent] Cleared ${keys.length} cache keys for pattern: ${pattern}`);
|
||||
// }
|
||||
// }
|
||||
// console.log(`[moveDraftToCurrent] Total cache cleared: ${totalCleared} keys`);
|
||||
// } catch (err) {
|
||||
// console.error("[moveDraftToCurrent] Error clearing cache:", err);
|
||||
// } finally {
|
||||
// redisClient.quit();
|
||||
// }
|
||||
for (const pattern of menuRolePatterns) {
|
||||
const keys = await keysAsync(pattern);
|
||||
if (keys.length > 0) {
|
||||
// Delete in chunks of 1000 to avoid argument limit
|
||||
const chunkSize = 1000;
|
||||
for (let i = 0; i < keys.length; i += chunkSize) {
|
||||
const chunk = keys.slice(i, i + chunkSize);
|
||||
await delAsync(...chunk);
|
||||
}
|
||||
totalCleared += keys.length;
|
||||
console.log(`[moveDraftToCurrent] Cleared ${keys.length} cache keys for pattern: ${pattern}`);
|
||||
}
|
||||
}
|
||||
console.log(`[moveDraftToCurrent] Total cache cleared: ${totalCleared} keys`);
|
||||
} catch (err) {
|
||||
console.error("[moveDraftToCurrent] Error clearing cache:", err);
|
||||
} finally {
|
||||
redisClient.quit();
|
||||
}
|
||||
|
||||
// // Invalidate memory cache
|
||||
// orgStructureCache.invalidate(currentRevisionId);
|
||||
// Invalidate memory cache
|
||||
orgStructureCache.invalidate(currentRevisionId);
|
||||
|
||||
return new HttpSuccess(summary);
|
||||
} catch (error) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue