问题标签 [jcs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - JCS 并发错误
我在我的应用程序中使用 JCS 进行缓存。最近发生了一些错误,即并发访问缓存中的数据导致空值即一个线程写入缓存,一个线程读取缓存。我想知道JCS 在写入和读取缓存时是否固有地支持线程安全实现。我还想知道如何使我的实现线程安全。因为我有多个类写入缓存,比如实现 Runnable 的 PutData 用于写入缓存,而 GetData 也实现 Runnable 用于从缓存中读取,所以使方法同步没有意义,也使它们成为原子也没有意义,因为数据不在类之间共享,我将数据对象传递给各个类。顺便说一句,我使用的是 POJO 序列化类。有没有办法克服这个问题,或者我是否必须改变我的实现,使其强制完成写入然后读取,我认为这很愚蠢。
这更像是一个生产者-消费者问题,除了我的消费者线程不是在消费数据,而只是在读取数据。所以同步确实保证只有一个线程写入缓存,但这并不能解决我的问题,因为另一个线程访问不同键的对象。
期待您的回答,谢谢,Madhu。
java - 从 JCS 缓存中获取密钥
我正在使用 JCS 缓存来增强性能。当我需要维护一组密钥时会出现问题,因为我使用的存储类型通常是离线存储到磁盘。有没有一种方法可以像使用哈希图一样从缓存中单独获取一组键,这样我就可以自动化从缓存中获取数据的过程,因为我不关心什么样的数据从缓存中出来,因为对象的元数据存储在缓存对象本身中。
java - JCS Cache关闭,保证持久化到磁盘
我正在使用 JCS 进行缓存。现在我正在使用磁盘缓存来临时存储所有数据。问题是当我使用 JCS 时,只有在缓存正确关闭时才会将密钥写入磁盘。
我使用磁盘使用模式作为更新,它告诉 JCS 立即将数据写入磁盘而不将其保存在内存中。但问题是我们没有维护缓存中对象的键列表。所以我使用组缓存访问并获取缓存中的键,然后遍历键以获取结果。
所以现在我陷入了一种情况,我必须正确关闭缓存,即在使用索引磁盘缓存将所有数据写入磁盘之后。但是这里有一个复杂性,索引磁盘缓存使用后台线程写入磁盘不返回任何关于其状态的内容。
所以现在,我无法保证索引磁盘缓存已将数据写入磁盘到我的前端实现。有没有办法解决这种情况,因为现在我只是在睡一些随机时间(比如 10 秒),在缓存已关闭,实际上这是一种非常愚蠢的做法。
编辑:我也面临内存缓存的这个问题,但是一秒钟的睡眠对于 500mb 的数据来说已经足够了。但是磁盘缓存的情况略有不同。
java - 如何使用 ehcache 或 JCS 作为队列或流式缓存?
我发现 ehCache 提供的大多数功能都可以合理地执行 put 和 get by key..但我只想使用缓存来添加和查看记录作为队列(我们需要缓存,很像缓冲区,因为数据可能要大..)。如何以这种方式使用 ehcache 或 JCS?或任何其他建议的替代方案?谢谢!
java - Android 缓存 Web 响应
我正在开发一个应用程序,我需要缓存来自用户访问的 url 的响应。那么是否已经有像jcs这样好的缓存系统可用了?squid
或者for java(android java)的一个端口就可以了。我需要编写自己的缓存系统吗?
jcs - 如何在 JCS(java 缓存系统)中进行最大匹配搜索
我正在开发一个使用 JCS 的应用程序。当 searchkey 是一个完整的字符串时,我确实知道如何从 catch 中检索数据。我需要在 JCS 中实现最大匹配搜索。
例如:缓存包含以下数据。
- 书号 | 书名
- 123 | EJB
- 321 | 头先Java
- 121 | Jsp 和 servlet
- 111 | 蚂蚁脚本
当用户只为书号输入 1 时,它应该获取所有书名以 1 开头的书名。即它应该列出
- EJB
- Jsp 和 servlet
- 蚂蚁脚本
这是我们在 sql 中使用 'like 和 %' 进行的那种搜索。
请帮助我。
提前致谢!!!
java - 如何更改 JCS cache.ccf 文件的路径?
我正在尝试更改 cache.ccf 文件的路径大约一个小时......
当我打电话时JCS.getInstance("myRegion");
,我收到了这个错误:
我试图将 cache.ccf 放入 src 文件夹。在这种情况下,一切正常。但我希望它在./config/
目录中,而不是在./src
. 我试图更改配置文件名:
但它不工作,我得到同样的错误:
JCS 试图找到"../config/cache.ccf"
在 src 目录中命名的文件。
在这里我找到了这句话:
类路径应该包括这个文件所在的目录或者文件应该放在类路径的根目录下,因为它是自动发现的。
但是即使 cache.ccf 文件位于项目的根目录中,我的应用程序也不起作用。
如何更改 cache.ccf 文件的路径?
apache - Apache Commons JCS 1.4-SNAPSHOT Maven 存储库
是否有 JCS 1.4-SNAPSHOT 的 Maven 存储库。我已经搜索了 Apache 存储库,但似乎找不到它。JCS 是否仍在积极开发中?邮件列表似乎已关闭。
谢谢。
jetty - JCS 管理页面:JSPAdmin.jsp 上的链接不能开箱即用
我使用 JCS 已经有一段时间了,我似乎遇到了与从 apache 下载的 jcs 捆绑在一起的 JSPAdmin.jsp 页面的问题。该页面帮助我们监控远程缓存服务器设置中的缓存元素。
页面上的链接(摘要 | 详细信息 | 清除)似乎不起作用,因为当我尝试单击这些链接时出现资源未找到错误。JCS 论坛建议调整 jar 中的几个类文件以启用此功能,但这不起作用。
远程缓存服务器当前设置在码头内。
有没有人遇到过这样的问题并且能够为这些链接配置页面?主页工作正常。
谢谢,
caching - Java 缓存系统 (JCS) - 以编程方式创建区域
我们计划在我们的应用程序中使用一些缓存机制,并在与许多其他缓存解决方案进行比较研究后选择了 Java 缓存系统(JCS)。当我使用外部配置 (cache.ccf) 来定义缓存区域及其属性(如 maxlife、ideltime 等)时,一切都很好。
但是要求更改为具有动态缓存区域,即我们需要在运行时定义缓存区域及其属性。我无法找到有关此操作的更多详细信息或示例。我在运行时成功创建了缓存区域(使用下面的方法签名)。
但问题是,IElmentAttributes 没有设置为缓存。我对 JCS 的来源进行了研究,发现attr
从未设置过。这是未使用的参数!有点怪
经过一番谷歌搜索后,我发现以下选项可以手动设置属性,但仍然无效
我想要的只是为创建的区域设置 maxLifeSeconds 。