问题标签 [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 回答
83 浏览

azure-redis-cache - 如何使用 redis commond 查找 azure redis 缓存总内存

我已经开始学习 Redis 缓存我有计划通过我搜索过的节点 js API 调用来获得总的天蓝色 Redis 缓存内存,但我没有得到清晰的愿景你能帮助我如何做到这一点。

0 投票
1 回答
852 浏览

java - 如何使用xml配置为非spring boot java应用程序设置redis缓存前缀键

我想为我的应用程序设置一个自定义缓存键前缀,它为我的 RedisCacheManager 使用 xml 配置,我的目标是,如果缓存键是学生详细信息,则缓存键应该是 test :: student-detail 或 prod :: student -detail,我已经将 usePrefix 设置为 true,但是我找不到定义实际键值的方法。下面是我的 cacheManager 配置的摘录。

有关信息,我知道在 Spring Boot 中就像在应用程序属性中设置一个属性一样简单:

只是为了说明我为什么要针对非 Spring Boot Java 应用程序进行说明。

0 投票
1 回答
215 浏览

redis - 我可以在一个微服务域中使用 redis master 并由不同的微服务使用 redis slave 作为共享数据的一种方式吗?

我有三个需要相互通信的微服务。Microservice-1 负责数据和数据库(他写入和读取)。我将为 Microservice-1 添加一个 redis 缓存存储来缓存数据。如果数据已经在缓存存储中,我想为其他 2 个微服务放置一个 redis-slave 以减少与实际微服务的通信。由于对数据的所有更新都必须通过 Microservice-1 并且他将始终更新缓存,因此 redis 复制将确保其他两个微服务也将获得它。当然,如果数据不在缓存中,它会调用 Microservice-1 获取数据,这会更新缓存。

用这种方法,我错过了什么吗?

0 投票
0 回答
278 浏览

caching - 多个租户在单个 Redis 实例中使用多个数据库有什么缺点

我正在尝试创建一个多租户应用程序,它将托管在一个实例中。为了完成这个应用程序,我需要实现一个 Redis 缓存系统。我有两种用于多租户缓存的解决方案。他们是,

  1. 可以在键前加上租户名称,例如 tenant1:myKey 等
  2. 我可以使用Redis 提供的不同内存数据库。我可以将不同的租户详细信息存储在不同的数据库中。要获取它们,请与相应的数据库连接。

如果我选择第二个选项,是否有任何缺点/性能问题?如果您可以提出任何其他解决方案,请帮助我!

注意:我不想使用 Redis 集群

0 投票
1 回答
311 浏览

caching - AGGREGATE FILTER 是否期望 Redisearch 中区分大小写的查询表达式?

我在 Redis 中使用 Redisearch 模块并尝试使用以下查询过滤存储在 Redis 索引中的数据。

FT.AGGREGATE MyIndex * GROUPBY 1 "@MyField" FILTER "@MyField=='value'"

我只能获得搜索的确切单词的结果,但不能在使用小写字母搜索具有大写字母的字段时获得结果,反之亦然。例如:如果一个字段的值为 'test',则使用“@MyField=='TEST'”或“@MyField=='Test'”查询不起作用。

请提出任何可能的建议。谢谢你。

0 投票
0 回答
204 浏览

redis - 在 Redisearch 中使用 FT.search 使用小写字母进行 TEXT 字段搜索时,不返回具有大写字段的文档

我在 Redis 中使用 Redisearch 模块并尝试使用以下查询在 TEXT 字段中搜索值。它返回所有具有小写值的文档,例如“test or Test”,并且没有返回所有大写字母“TEST”的数据。

FT.search MyIndex @MyField:"test"

请提出一些建议。谢谢你。

我有一个类似的索引,如下所示,只有当我添加 'tjøp | 查询中的 TJØP' 或 'tjøp*'。

FT.CREATE MyIndex SCHEMA 名称 TEXT

ft.add MyIndex "110011" 1.0 FIELDS 名称 "tjøp plane"

ft.add MyIndex "110012" 1.0 字段名称 "文件 TJØP"

ft.add MyIndex "110013" 1.0 FIELDS 名称 "一个 TJØP 更多"

ft.add MyIndex "110015" 1.0 FIELDS name "一个 TJØP a/s more"

127.0.0.1:6379> ft.search MyIndex @name:"tjøp"

  1. (整数) 1
  2. “110011”
    1. “姓名”
    2. "tj\xc3\xb8p 平面" 127.0.0.1:6379> ft.search MyIndex @name:"tjøp | TJØP"
  3. (整数) 4
  4. “110011”
    1. “姓名”
    2. "tj\xc3\xb8p 平面"
  5. “110015”
    1. “姓名”
    2. “一个 TJ\xc3\x98P a/s 更多”
  6. “110013”
    1. “姓名”
    2. “一个 TJ\xc3\x98P 更多”
  7. “110012”
    1. “姓名”
    2. “文件 TJ\xc3\x98P”
0 投票
1 回答
538 浏览

node.js - 如何将 Node.js 的 readStream 文件存储到 Redis 中,以及如何从 Redis 中检索存储的 readStream 文件?

我尝试将 readStream (Image) 转换为字符串,然后将其存储在 Redis 中。然后从 Redis 中检索字符串并将其转换回 readStream。但它没有成功。

为了将流转换为字符串,我使用的是流到字符串。它被转换并存储在 Redis 中。

在从 Redis 检索时,我没有得到它。

0 投票
0 回答
25 浏览

redis - Redis r.lock(key) 正在改变我的键值

我正在尝试用锁实现redis缓存。我将在缓存中查找一个键,如果它不存在,那么我会启动一个锁并设置值。

发生的事情是我的 print-1 语句按预期给出了 None 。但是我的第二个打印语句,我之前正在运行锁,理想情况下应该不给出任何值,因为我还没有设置值。但它给出了一些垃圾值,阻止我进入第二个 if 条件

0 投票
2 回答
123 浏览

redis-cache - 如何使用 .net 核心在 RedisCache 的 Google 内存存储上执行键(读、写、删除)

如何使用 .net 核心在 RedisCache 的 Google 内存存储上执行键(读取、写入、删除)

0 投票
0 回答
24 浏览

node.js - 如何在节点 js 中使用带有 redis get 方法的生成器?

我正在尝试缓存结果并尝试使用 redis 缓存来优化响应时间,但我想在 get 方法中实现生成器,但无法做到这一点,这是我的代码:

每次 id 打印未定义但当我以正常功能或箭头功能打印它时,它会打印在控制台上。
流程将是这样的:

第一次 id 没有被缓存,但第二次它应该被缓存值
( if (role != constants.userRoles.BUSINESS_OWNER) 将是真的,因为我正在采取这种特殊情况,所以 client.setex 方法将存储 id 的结果),但是这个东西只能在没有生成器功能的情况下工作,而不是这个解决方案。
那么,任何想法我怎样才能让它工作或我做错了什么?