T - 实体类K - 实体类的主键public class MultiCacheRepository<T,K extends java.io.Serializable> extends OrmRepository<T,K>
应用于一种情况:
1.有PlayerId注解并且和Id注解标识不同属性的实体类.
可以理解为,一个角色可以有多条记录数据的类.
| 限定符和类型 | 字段和说明 |
|---|---|
protected AsyncWriteService |
asyncWriteService |
protected DataCache<T,K> |
dataCache |
dataAccessor, entityMapping| 构造器和说明 |
|---|
MultiCacheRepository() |
| 限定符和类型 | 方法和说明 |
|---|---|
protected DataCache<T,K> |
buildDataCache(int offlineInterval)
创建数据缓存.
|
long |
cacheCount(java.io.Serializable playerId,
java.util.function.Predicate<T> filter)
统计角色缓存中符合过滤条件的对象总数。
|
void |
cacheDelete(java.io.Serializable playerId,
K entityId)
从缓存中删除指定Id的对象.
|
void |
cacheDelete(T entity)
删除缓存一个对象.
|
void |
cacheDeleteAll()
删除当前模块全部缓存对象.
|
void |
cacheDeleteAll(java.io.Serializable playerId)
删除角色模块缓存里的所有数据.
|
T |
cacheGet(java.io.Serializable playerId,
K entityId)
从角色缓存中根据实体Id获取对象.
|
T |
cacheGet(java.io.Serializable playerId,
java.util.function.Predicate<T> filter)
从角色缓存中根据过滤器获取对象.
|
void |
cacheInsert(T entity)
保存一个新增对象到缓存.
|
java.util.Optional<T> |
cacheLoad(java.io.Serializable playerId,
K entityId)
从角色缓存中根据实体Id获取对象.
|
java.util.Optional<T> |
cacheLoad(java.io.Serializable playerId,
java.util.function.Predicate<T> filter)
从角色缓存中根据过滤器获取对象.
|
java.util.List<T> |
cacheLoadAll()
从缓存中获取所有缓存数据.
|
java.util.List<T> |
cacheLoadAll(java.io.Serializable playerId)
从角色缓存中获取一个模块所有缓存数据.
|
java.util.List<T> |
cacheLoadAll(java.io.Serializable playerId,
java.util.function.Predicate<T> filter)
从缓存中获取符合过虑器的需求的对象.
|
void |
cacheUpdate(T entity)
修改缓存中的数据.
|
void |
checkEntityAndInitCache()
检查实体类与DB映射关系并初始化缓存
|
EntityMapping<T> |
getEntityMapping()
获取当前OrmRepository的实体类的描述对象
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitload, loadAll, loadAllprotected DataCache<T,K extends java.io.Serializable> dataCache
@Autowired protected AsyncWriteService asyncWriteService
public void cacheDelete(java.io.Serializable playerId,
K entityId)
playerId - 玩家IdentityId - 缓存对象的Idpublic void cacheDeleteAll(java.io.Serializable playerId)
playerId - 角色Idpublic java.util.Optional<T> cacheLoad(java.io.Serializable playerId, K entityId)
playerId - 角色IdentityId - 实体Idpublic T cacheGet(java.io.Serializable playerId, K entityId)
playerId - 角色IdentityId - 实体Idpublic T cacheGet(java.io.Serializable playerId, java.util.function.Predicate<T> filter)
playerId - 角色Idfilter - 条件过滤器public java.util.Optional<T> cacheLoad(java.io.Serializable playerId, java.util.function.Predicate<T> filter)
playerId - 角色Idfilter - 条件过滤器public long cacheCount(java.io.Serializable playerId,
java.util.function.Predicate<T> filter)
playerId - 角色Idfilter - 条件过滤器public java.util.List<T> cacheLoadAll(java.io.Serializable playerId)
playerId - 角色Idpublic java.util.List<T> cacheLoadAll(java.io.Serializable playerId, java.util.function.Predicate<T> filter)
playerId - 角色Idfilter - 过虑器protected DataCache<T,K> buildDataCache(int offlineInterval)
offlineInterval - 离线缓存时间public EntityMapping<T> getEntityMapping()
getEntityMapping 在接口中 CacheRepository<T,K extends java.io.Serializable>public void checkEntityAndInitCache()
OrmRepositorycheckEntityAndInitCache 在类中 OrmRepository<T,K extends java.io.Serializable>public void cacheInsert(T entity)
entity - 新增对象.public void cacheDelete(T entity)
entity - 实体对象.public void cacheDeleteAll()
这是删除全部,调用时,别犯2
public void cacheUpdate(T entity)
entity - 实体对象.public java.util.List<T> cacheLoadAll()