jetcache icon indicating copy to clipboard operation
jetcache copied to clipboard

JetCache is a Java cache framework.

Results 222 jetcache issues
Sort by recently updated
recently updated
newest added

返回的 ”“ 字符串或者 没数据返回的 new ArrayList() 空集合怎么控制是否缓存呢?

很多缓存是支持CAS方法的,请问jetcache是否也考虑提供类似的接口呢?

![image](https://user-images.githubusercontent.com/21255388/179164553-61ec5fc0-1901-46db-9b30-6168da02f0ed.png) 如图,反序列化时没有错误 日志打印,查找很久才发现 问题

see: https://github.com/qy8502/jetcache-plus

集群情况下,一级缓存过期时间如果设置的比较长,可能获得的缓存是比较老的数据,如果设置的时间比较短,又失去一级缓存的意义,j2cahce中有通过消息通知的形式刷新或清空集群一级缓存的功能,jetcahce是否可以考虑支持一下?

remote: default: # //缓存数据库类型 type: redis.lettuce keyConvertor: fastjson uri: redis-sentinel://192.168.103.01:26379,192.168.103.02:26379,192.168.103.03:26379/1?sentinelMasterId=mymaster

### 场景需求: . 汇总数据查询:依赖的数据源较多,缓存键值变化较多,分布式系统。 . 使用spring注解,面向入门开发人员 . 某基础数据a更新后,需要清空A、B进程的该企业ID下的某业务的所有缓存 . 汇总计算的量比较大,使用缓存存在意义较大,否则DB层面很容易就将响应时间中位数拉长 使用hash的(相较于String) #### 优势: . 将缓存数据存在{服务}{企业ID}{业务模块}的hash键下面,不同的汇总计算方式使用hash下的不同key存储,可以通过键名称快速删除(String下存储需要通过keys命令进行前缀匹配,目前使用注解可能无法做到) #### 劣势: . 缓存的失效时间只能根据hash的key设置,无法设置到内部的key 不知道以上是否表述清楚了 ### 提供支持 目前已经粗糙实现了lettuce的hash,putIfAbsent getAll除外。如果认为有必要,可以开个分支来实现。 实现注解name的Expression Eval 作为hash的key, key作为hash内部key 通过配置启用hash。

@CacheRefresh(refresh = 20, timeUnit = TimeUnit.SECONDS) @Cached(name = "demo.user.", key = "#user.id", cacheType = CacheType.REMOTE, expire = 60) public User create(User user) { System.out.println("create:"+ JSON.toJSONString(user)); userMap.put(user.getId(), user); return user; }...

jetcache(RedisCache) PUT error. key=[1319e452-8414-44b5-adcc-f7c4d9417bd8] redis.clients.jedis.exceptions.JedisConnectionException:java.net.SocketException: Connection reset by peer: socket write error