问题标签 [cachemanager]

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.

0 投票
1 回答
8897 浏览

java - EhCache 3 和 Spring Boot

有没有办法将 EhCache 3 CacheManager ( org.ehcache.CacheManager) 抽象为 Spring 的 CacheManager ( org.springframework.cache.CacheManager)?

使用 EhCache2,可以通过以下方式:

提示:我找到了一种将 cacheManager 抽象为javax.cache.CacheManagerSpring 的 CacheManager ( org.springframework.cache.CacheManager) 的方法,方法是:

如果有办法投射org.ehcache.CacheManagerjavax.cache.CacheManager.

谢谢。

0 投票
1 回答
341 浏览

c# - CacheManager 与 inproc 和 Redis 一起处理,因为背板未同步

我使用 CacheManager ( https://github.com/MichaCo/CacheManager )有这个场景:

  • 1 个控制台应用程序(使用 inproc 缓存句柄 + Redis 缓存句柄作为背板)
  • 1 个 ASP.NET MVC Web 应用程序(使用 inproc 缓存句柄 + Redis 缓存句柄作为背板)

控制台应用程序和 ASP.NET MVC 应用程序的缓存配置是相同的:

但是,当我像这样从控制台应用程序执行简单的缓存失效时:

cache.Remove("Key")

它不会从 Web 应用程序的 inproc 缓存句柄中删除。我已经尝试并创建了 2 个具有与上述相同配置的不同控制台应用程序,这就像预期的那样工作(当其中一个控制台应用程序使缓存中的密钥无效时,它也会从另一个控制台应用程序的所有缓存句柄中删除)。

当与 Web 应用程序和控制台应用程序一起使用时,使用 CacheManager 是否有什么特别之处,这意味着缓存同步不起作用?

0 投票
1 回答
542 浏览

c# - 如何在运行时通过 CacheManager 修改加载的配置

我正在使用@Victor P 解决方案来管理我的应用程序中的缓存。配置是从应用程序设置中加载的,但是我们有一个策略是在代码中不添加敏感信息,另一方面,Redis 的生产实例需要身份验证。这个密码是从环境变量中加载的,但是我在运行时找不到修改Redis配置的方法。

这是我们现在的做法

配置示例:

0 投票
0 回答
320 浏览

c# - CacheManager Redis 背板不刷新客户端

我最近将我的代码从仅使用分布式缓存迁移到使用 CacheManager 进行 2 层缓存以提高我的应用程序的速度。

我使用 InMemory 和 Redis 作为背板。

就 InMemory 并将信息存储回 Redis 而言,一切都运行良好,但我正在努力使缓存无效并查看新信息。

我有一个在服务器上运行的控制台应用程序,它执行数据更新,然后使用 CacheManager 中的 AddOrUpdate 方法将新数据推送到缓存中。

问题是我的前端 API 看到过时的数据并且没有更新。

我知道控制台应用程序以前在工作,因为它都在分布式缓存上工作,并且会经常更新。

我已登录 Redis,并检查了 PUBSUB 频道是否有订阅者,但没有;应该有吗?

我的控制台应用程序和 API 都使用相同版本的库,并且还使用相同的缓存配置。配置如下。

还有在 Redis 中查看订阅者数量的结果

0 投票
1 回答
2992 浏览

ios - 如何在 iOS 中清除缓存?

TLDR根据我当前的 cacheManager,我如何清除缓存?我应该使用什么代码以及如何使用?

我有用于缓存用户创建的视频的波纹管 cacheManager 类。关于我如何使用它的更多信息在这里

我最近遇到了一个我在这里问过的问题。

为了解决这个问题,我相信我需要清除缓存。问题是我不知道该怎么做。

我尝试了什么:

一旦出现第一个获取内容的实例,就会像这样使用。

关于我如何使用缓存管理器的一些信息:

  • 对于获取的每个媒体,我使用缓存管理器来存储视频 url(我假设是缓存的 videoURL)以供需要时使用
0 投票
1 回答
57 浏览

java - CompositeCacheManager.getUnconfiguredInstance() API 使用

下面是我的课的样子。

我的项目中存在 jcs-1.3.jar 并且在执行项目时低于异常。无法初始化类 org.apache.jcs.engine.control.CompositeCacheManager

0 投票
0 回答
100 浏览

spring - 不同配置中的不同缓存管理器在getbean多个bean上失败

我在不同的地方(由不同的团队)定义了两个 CacheManager:

例如:

和代码中的其他地方(我的应用程序使用但不负责):

尝试执行 getBean 时出现不满意的 bean 异常,因为有两个CacheManager.class 结果。

问题是,因为这对我来说是外部的,我不想依赖他们制作缓存,也不想将我的缓存设置为主要的,因为他们可能会收到它。

我尝试设置 bean 名称、bean 限定符,但都导致没有结果或 2 个结果(两个例外)。

我尝试创建一个 CompositeManager (primary) 来接受我们的,但这不是一个理想的解决方案..

更奇怪的是,在运行集成测试时,我看到以下内容:

在调试中,我可以看到即使没有主节点,每一侧(我的和他们的)的两个自动装配的 bean(使用它们的类)都能正确地获得各自的管理器,但是测试失败,因为在某些时候它会在自动装配到另一个类时运行一些刷新持有 bean 实例的类,然后它尝试执行 getbean 并失败(可能是 mockito 的东西?)

有没有办法解决这个问题?

0 投票
0 回答
46 浏览

android-studio - 怎样才能自动加载存储在内存中的必要地图?

我正在使用 osmdroid 制作移动应用程序。我希望能够在线和离线使用它。我使用 CacheManager 通过将它们存储在 /osmdroid 文件夹中的 .sqlite 文件中来自定义下载地图。

到目前为止,我可以确定连接是否存在,如果有连接,则使用默认的“提供程序”(MapTileProviderBasic),如果没有,则使用 OfflineTileProvider。

问题是,如果我使用默认提供程序并且没有连接,它不会加载存储在内存中的地图(.sqlite),只加载缓存中的一个(osmdroid/tiles/cache.db)。

如果我使用离线提供程序(OfflineTileProvider),它只会加载我在构造函数中指定的文件(例如 spain.sqlite),而不是另一个可能需要的文件(例如 portugal.sqlite),甚至不是那个在缓存中。

问题是:如果连接丢失或没有连接,我该怎么做,存储在内存中的必要地图会自动加载?

0 投票
1 回答
336 浏览

python - 如何缓存用户名和登录名以显示在 LoginSuccess 类中?

我尝试导入 kivy 缓存对象,附加密钥和用户名对象并在 LoginSuccess 类中检索它,但是当我在 LoginScreen 类中附加时似乎没有附加对象。当它没有附加在一个类中时,它可以正常工作。我该如何解决这个问题?

以下是我的 kivy 设计文件:

0 投票
0 回答
313 浏览

spring-batch - 使用 JdbcPagingItemReader 时如何在 CacheManager 的缓存中缓存数百万条记录?

我想借此机会进一步提出问题:get data from DB in spring batch and store in memory。就我而言,我从不同的表中加载数据并创建数据层次结构,如人员详细信息、客户地址、银行标识详细信息等,因此它创建树并将数据加载到弹性中。

要创建层次结构,我需要将所有数据保存在缓存中,以便一种类型可以搜索另一种类型并从中创建最终数据。

我几乎5 tables每个人都有1 million我想要缓存以创建最终对象的记录。

几乎所有批处理作业都已JdbcPagingItemReader实现,那么如何使用 Cache where 缓存数据?适当的流程是什么?

我想在这里使用 ConcurrentMapCacheManager 。你能分享一下例子吗?