泛微E9如何更新缓存

2024-08-23 14:04
文章标签 更新 缓存 泛微 e9

本文主要是介绍泛微E9如何更新缓存,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

泛微E9如何更新缓存

在E9中,是默认开启了数据缓存的,如果直接操作数据库是会存在缓存不更新的问题,E9系统提供以下几种方式进行缓存清空的方式。

注:原则上禁止通过非程序渠道直接修改OA数据库数据,可以直接在页面进行修改,如果确实有相关需要,可以按照如下方式更新对应缓存

1、手动更新缓存

1.使用系统 管理员账号(sysadmin)登录,然后访问地址:

OA地址/commcache/tableCacheMonitor.jsp

输入对应表名清空即可,直接点击重新加载配置也可以全部更新,

2.直接访问链接添加表名参数执行更新,效果跟上面是一致的

[OA地址]/commcache/tableCacheMonitor.jsp?updatetablecache=[表名]&searchkey=[表名]

3.可以直接在页面重新修改编辑新建数据,也会触发对应的缓存更新

2、配置文件配置

如果存在第三方程序修改OA的数据库的数据,需要将会修改到OA的表单名称添加到配置文件,该方式是使表不在进行缓存。在 ecology/WEB-INF/prop/cacheBackList.properties 文件中加入该表单。如下方式即可:

如果二次开发中还存在调用自己新建的存储过程,视图,函数(方法)。也需要将存储过程,视图,函数(方法)中涉及到的表名加入到例外配置文件中 ecology\WEB-INF\prop\cacheBackList.properties。然后再使用重启加载配置,使其生效

3、通过代码方式更新缓存

场景:比如用户第三方直接操作了OA数据,希望同步更新缓存。

package com.engine.rj.common.util;

import org.apache.commons.lang3.StringUtils;

import weaver.monitor.cache.CacheFactory;

/***

 *@ClassName CleanTablesCacheUtils

 *@author rj

 *@date 2023/11/30 14:15

 *@version v1.0.0

 *@Desc TODO 清除指定表单的缓存

 */

public class CleanTablesCacheUtils {

   

    public static void cacheTablerefresh(String updatetablecache) {

        CacheFactory sintance = CacheFactory.getInstance();

        if (StringUtils.isNotBlank(updatetablecache)) {

            String tkey = updatetablecache.trim().toLowerCase();

            String[] tables = new String[]{tkey};

            sintance.removeCache(tables);

        }

    }

}

可以将该方法封装,提供第三方系统调用的接口也能实现自动更新缓存的效果。

大家可以参考对应的tableCacheMonitor.jsp实现逻辑进行封装调用即可。

这篇关于泛微E9如何更新缓存的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1099583

相关文章

MySQL新增字段后Java实体未更新的潜在问题与解决方案

《MySQL新增字段后Java实体未更新的潜在问题与解决方案》在Java+MySQL的开发中,我们通常使用ORM框架来映射数据库表与Java对象,但有时候,数据库表结构变更(如新增字段)后,开发人员可... 目录引言1. 问题背景:数据库与 Java 实体不同步1.1 常见场景1.2 示例代码2. 不同操作

Linux修改pip和conda缓存路径的几种方法

《Linux修改pip和conda缓存路径的几种方法》在Python生态中,pip和conda是两种常见的软件包管理工具,它们在安装、更新和卸载软件包时都会使用缓存来提高效率,适当地修改它们的缓存路径... 目录一、pip 和 conda 的缓存机制1. pip 的缓存机制默认缓存路径2. conda 的缓

Redis解决缓存击穿问题的两种方法

《Redis解决缓存击穿问题的两种方法》缓存击穿问题也叫热点Key问题,就是⼀个被高并发访问并且缓存重建业务较复杂的key突然失效了,无数的请求访问会在瞬间给数据库带来巨大的冲击,本文给大家介绍了Re... 目录引言解决办法互斥锁(强一致,性能差)逻辑过期(高可用,性能优)设计逻辑过期时间引言缓存击穿:给

一文详解SQL Server如何跟踪自动统计信息更新

《一文详解SQLServer如何跟踪自动统计信息更新》SQLServer数据库中,我们都清楚统计信息对于优化器来说非常重要,所以本文就来和大家简单聊一聊SQLServer如何跟踪自动统计信息更新吧... SQL Server数据库中,我们都清楚统计信息对于优化器来说非常重要。一般情况下,我们会开启"自动更新

如何通过Golang的container/list实现LRU缓存算法

《如何通过Golang的container/list实现LRU缓存算法》文章介绍了Go语言中container/list包实现的双向链表,并探讨了如何使用链表实现LRU缓存,LRU缓存通过维护一个双向... 目录力扣:146. LRU 缓存主要结构 List 和 Element常用方法1. 初始化链表2.

一文详解Nginx的强缓存和协商缓存

《一文详解Nginx的强缓存和协商缓存》这篇文章主要为大家详细介绍了Nginx中强缓存和协商缓存的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、强缓存(Strong Cache)1. 定义2. 响应头3. Nginx 配置示例4. 行为5. 适用场景二、协商缓存(协

Golang基于内存的键值存储缓存库go-cache

《Golang基于内存的键值存储缓存库go-cache》go-cache是一个内存中的key:valuestore/cache库,适用于单机应用程序,本文主要介绍了Golang基于内存的键值存储缓存库... 目录文档安装方法示例1示例2使用注意点优点缺点go-cache 和 Redis 缓存对比1)功能特性

MySQL8.0设置redo缓存大小的实现

《MySQL8.0设置redo缓存大小的实现》本文主要在MySQL8.0.30及之后版本中使用innodb_redo_log_capacity参数在线更改redo缓存文件大小,下面就来介绍一下,具有一... mysql 8.0.30及之后版本可以使用innodb_redo_log_capacity参数来更改

MySQL 缓存机制与架构解析(最新推荐)

《MySQL缓存机制与架构解析(最新推荐)》本文详细介绍了MySQL的缓存机制和整体架构,包括一级缓存(InnoDBBufferPool)和二级缓存(QueryCache),文章还探讨了SQL... 目录一、mysql缓存机制概述二、MySQL整体架构三、SQL查询执行全流程四、MySQL 8.0为何移除查

Redis缓存问题与缓存更新机制详解

《Redis缓存问题与缓存更新机制详解》本文主要介绍了缓存问题及其解决方案,包括缓存穿透、缓存击穿、缓存雪崩等问题的成因以及相应的预防和解决方法,同时,还详细探讨了缓存更新机制,包括不同情况下的缓存更... 目录一、缓存问题1.1 缓存穿透1.1.1 问题来源1.1.2 解决方案1.2 缓存击穿1.2.1