问题标签 [redis-cache]

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 回答
676 浏览

azure - 如何在 REDIS 缓存中添加全局变量

需要在 REDIS Cache 中添加全局变量。例如:考虑与学生、员工和员工相关的应用程序。每个角色都有一个独特的对象。当学生登录应用程序时,我们需要从 redis 中获取学生信息。其他角色也一样登录。

如果我们在应用程序初始化时存储所有细节,我们不需要发送请求来获取角色相关的细节。如果我们将其存储到会话中,则每个用户登录都会检查该数据。每个用户的会话 ID 也不同。

可能吗?如果是,我们如何在应用程序初始化时存储这些值?

0 投票
0 回答
247 浏览

asp.net - 使用azure redis缓存在asp.net中以定期间隔有效缓存sql数据库表数据

我们正在开发一个搜索引擎,它需要高速 api 结果来提供快速结果。
我们使用Asp.Net MVC作为前端,Web API是数据库和 MVC 应用程序之间的层。

每个搜索查询需要 20 到 30 个表合并数据才能给出 api 结果。为避免这种情况,我尝试定期(每 5 分钟)缓存数据库数据。但是,这将成为数据库的过载。

请建议以有效方式缓存数据库数据的最佳方法

问候, Mallikharjun

0 投票
4 回答
8958 浏览

spring - java.lang.ClassCastException:DTOObject 无法转换为 DTOObject

我在运行在 Spring Boot 1.4.0M3 上的应用程序中遇到了一个奇怪的问题,该应用程序使用 Spring 缓存实现,其中提供者是 Redis,我收到 classCastException 无法转换相同的对象

我使用 Mongodb 作为数据库,我有用户对象,其中包含延迟加载的角色对象列表,角色内部包含权限对象,如下所示

我的角色 DTO 如下

现在在我的 Spring MVC 中,在加载所有角色时,我正在调用所有权限,因为这是重复操作,我想到了缓存结果并使用 redis,并在加载角色值时收到以下异常。

帮助我克服这个错误。

我将源代码附加到我的项目中,并且在RoleController.java的第 91 行收到错误

要在本地环境中复制,登录到应用程序并单击权限菜单,然后单击角色菜单,在角色菜单中现在单击任何编辑图标。您将收到上述错误。

0 投票
2 回答
94 浏览

azure - 如何处理 Azure Worker 角色中的非瞬态异常

我们有两个 azure worker 角色——A 和 B。

  • A 是一个 Quartz 调度器,它每分钟运行一次作业。
  • 它每分钟从“Redis 缓存”中读取一些 id 并为这些 id 执行作业。
  • “A”将其输出发布到由 Worker 角色“B”订阅的服务总线队列。
  • “B”工作者角色从队列中读取值并对它们执行更多操作。
  • 两个工作角色都必须在启动时构建缓存。

现在这里有一些关于 Azure 组件故障的问题:

  • 如果 Redis 缓存出现故障,我们该如何处理。我们需要停止执行,直到它再次启动,然后我们需要再次构建缓存。“B”工作者角色应该停止从服务总线拉消息,直到 Redis 再次出现。

  • 如何处理工作角色“B”中的服务总线故障?

0 投票
1 回答
1103 浏览

spring-boot - Spring Boot中的Redis缓存上下文监听器如何知道redis缓存是否启动?

我们有一个 spring 应用程序,其中 redis 缓存已与数据库 MySQL 一起实现。在这里,我们使用 redis 缓存来存储服务器验证的临时值,而不是每次都访问数据库,因此每次访问数据库调用都会降低系统性能。

现在我解释了我在点击 spring boot 动作端点时遇到的问题,如果我的 redis 缓存服务器突然停止,我们想知道如何获得我的 redis 缓存服务器已关闭的通知。所以我们需要解决方案/示例 java 应用程序来使用 redis 缓存侦听器上下文或类似的东西来获取通知。

0 投票
1 回答
1564 浏览

redis - 键/值对如何存储在 Redis 中

我们使用 Elasticache Redis 节点来存储数据。

所有密钥具有相同的格式:
- 密钥是 md5 哈希 - 128 位(16 个字节,32 个字符串字符字节)。
- 值为时间戳字符串 - 19 个字节。
总的来说,密钥大小是32+19=51 bytes

我们有84 917 361一百万把钥匙。
我假设 Redis shell 消耗的总内存接近84917361*51 = 4.03 gb.

实际上,需要11.07 gb.
命令输出infoused_memory_human:11.07G

  1. 剩下的内存用在什么上了7 gb
  2. 有没有办法存储md5为 16 个字节的哈希,而不是 32 个字符的字符串?

谢谢,非常感谢任何帮助。

0 投票
2 回答
717 浏览

redis - Redis 作为自填充缓存

Redis 可以用作自填充缓存(或直通缓存)吗?

换句话说,如果这个条目还没有被缓存,它是否能够动态创建一个条目?

0 投票
0 回答
262 浏览

php - Yii 1中如何更新redis缓存

我正在尝试重新设置缓存,但每次我这样做时,过期时间都会保持有效。如何在不影响过期时间的情况下更新 redis 缓存。

0 投票
1 回答
2811 浏览

caching - 如何根据上次访问使缓存数据(在redis上)过期?

我有使用 redis-server 进行缓存存储的 spring 微服务应用程序。使用 RedisCacheManager API。在此我们可以选择设置“ setDefaultExpiration ”。因为 rediscachemanager 从第一次访问带注释的方法(@cacheable)计算到期。

我想从可缓存方法的最后一次访问而不是从第一次访问计算到期时间。谷歌库提供了直接的方法来实现这一点:在CacheBuilder我们有一个名为expireAfterAccess CacheBuilder API的方法

当我们想使用google gauva server时,我们可以使用它。但是在我的应用程序中,由于我的集中式缓存服务器要求,我必须使用 redis 服务器进行缓存。我检查了 RedisCacheManager 类,但没有找到实现这一目标的方法。我如何在 redis-cache-server 中实现此功能。下面的代码用于创建 RedisCacheManager bean:

0 投票
1 回答
10761 浏览

caching - Redis 缓存 - “服务器关闭连接”错误

我正在运行一些测试以了解 MaxMemory-Reserved 和 MaxMemory-Policy,当 Redis DB 几乎已满时,我们多次遇到“<strong>Server Closed the connection”错误。以下是详细信息:

1) 使用标准 C1(1 GB) 层创建 Redis 缓存并选择“allkeys-lru”和 max-memory-reserved 为 50 MB

2) 运行 Redis Benchmark 工具以在 Redis DB 中添加 Keys,以确保 Redis DB 几乎已满。

3) 一旦 DB 达到约 960-980 MB,再次运行 Benchmark 工具以添加更多键并得到以下错误。在哪些情况下会发生此错误?在此处输入图像描述 注意:当我们在遇到此错误之前运行 info 命令时,Connected_Clients 值为 0。

4) 同时在 Azure 门户控制台上运行 info 命令,得到的输出为“错误”。5)这个错误持续了大约 2-3 分钟,之后我们就可以添加密钥了。一旦我们再次运行 info 命令,我们就会得到以下统计信息。在这里,我们看到 used_memory 和 used_memory_rss 之间的差异约为 76 MB。您认为上述错误可能是因为这个吗?

信息

服务器 redis_version:3.2.3

redis_mode:独立

操作系统:Windows

拱位:64

multiplexing_api:winsock_IOCP

赫兹:10

客户

connected_clients:2

client_longest_output_list:0

client_biggest_input_buf:0

client_total_writes_outstanding:0

client_total_sent_bytes_outstanding:0

阻塞的客户端:0

记忆

已用内存:968991592

used_memory_human:924.10M

used_memory_rss:1049776128

used_memory_rss_human:1001.14M

used_memory_peak:1070912296

used_memory_peak_human:1021.30M

used_memory_lua:37888

最大内存:1100000000

maxmemory_human:1.02G

maxmemory_policy:allkeys-lru

mem_allocator:jemalloc-3.6.0 #