public class CommonListHandler extends AbstractListHandler implements ListHandler
| 构造器和说明 |
|---|
CommonListHandler() |
| 限定符和类型 | 方法和说明 |
|---|---|
UpdateInfo |
getUpdateInfos(Object account_id,
Object obj,
Object oldObj,
Map<String,LsCacheInfoHelper> newObjLsMap,
Map<String,LsCacheInfoHelper> oldObjLsMap)
核心 : 在DAL的这个模块中,依据的理念是---以人为本,系统中的某个List一定是某个人的
1 .同一个List,在同一时间只能由一个人修改, 此时如果缓存中没有这个List的ListInfo对象,则其他用户不能加载
2.
|
void |
processSave(Object account_id,
Object obj,
List<SectionInfo> saveInfos) |
void |
processUpdate(Object account_id,
Class clazz,
Object oldObj,
Object obj,
UpdateInfo updateInfo)
更新数据库成功后,做的更新缓存动作
情况一 : 非读写分离:
处理逻辑: 将因对象变更,导致List数据发生变更的,《新/旧 对象》所对应的《新/旧 List》从缓存中删除
场景一: 会有两个List从缓存中删除
场景二: 会有一个List
情况二:读写分离
处理逻辑: 1) 从《旧对象》 所对应的 《旧List》中 将 《旧对象》删除
2) 将《新对象》 所对应的 《新List》从缓存中清除,并从主库中重新加载该List,直到加载出 新对象 所对应的 Section
|
getDeleteInfos, getSavedInfos, processBatchedSave, processDeleteclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetDeleteInfos, getSavedInfos, processBatchedSave, processDeletepublic void processSave(Object account_id, Object obj, List<SectionInfo> saveInfos) throws Exception
processSave 在接口中 ListHandlerExceptionpublic UpdateInfo getUpdateInfos(Object account_id, Object obj, Object oldObj, Map<String,LsCacheInfoHelper> newObjLsMap, Map<String,LsCacheInfoHelper> oldObjLsMap) throws Exception
getUpdateInfos 在接口中 ListHandlergetUpdateInfos 在类中 AbstractListHandlerExceptionpublic void processUpdate(Object account_id, Class clazz, Object oldObj, Object obj, UpdateInfo updateInfo) throws Exception
processUpdate 在接口中 ListHandlerprocessUpdate 在类中 AbstractListHandlerExceptionCopyright © 2021. All rights reserved.