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

memory - 对象的 Redis 编码和大小影响

当我将一些对象写入 redis 时,我可以获得不同的内存使用统计信息。我想了解这是如何发生的。

简单的例子:

以及每次的编码(作为embstr):

更复杂的值(带数字的字符串)

和一个大的 JSON 字符串(然后是消息打包),编码是“原始的”

0 投票
0 回答
617 浏览

java - 带有redis缓存的Spring启动,无法获得Jedis连接

我有一个使用休眠和 MySQL 作为数据库的 Spring Boot 应用程序。

我将Redis用于缓存,这是我的 Spring 配置:

我在类路径中的属性文件:

用户型号:

和存储库接口:

我已将 Caching 注释放在控制器端点上:

但是当我调用这个端点时,抛出了这个异常:

0 投票
1 回答
1048 浏览

redis - Redis.io 与 .Net 中的 Azure Redis 缓存

Azure redis 缓存和 redis.io 有什么区别,如果我有 Azure 订阅,我需要为 Azure Redis 购买单独的计划。

如果有区别?何时使用 Azure redis 与 Redis.io。

0 投票
2 回答
1245 浏览

redis - 尽管设置了 TTL,但 Redis 缓存没有被清除

我希望存储在 redis 缓存中的数据在给定时间段后自动从缓存中清除,而不对其调用 delete 方法。在这个 POC 中,我将 TTL 设置为 60 秒。我尝试使用 API setDefaultExpiration、setExpires 在缓存管理器中设置它,并使用 API expires 在 RedisTemplate 中设置它。到目前为止,没有一个解决方案对我有用。

在使用的redis仓库中,

请指出我正确的方向。任何帮助表示赞赏。

0 投票
0 回答
1384 浏览

caching - 如何在redis缓存中存储整数值?

我正在使用 redis 缓存来存储要缓存的数据。要存储为键的数据类型是数字类型。redis 会自动将该值强制转换为字符串类型。

我知道这个与我要问的问题相关的问题已经在Difference between storage Integers and Strings in Redis提出,但它没有令人满意的答案。

所以,我的问题是,redis 不支持将整数存储为键,尽管它们是不可变的?现在允许非 str 不可变值作为 redis 中的键是否有任何性能/架构原因。

提前致谢。

0 投票
1 回答
495 浏览

serialization - 同时使用 Microsoft.Web.RedisSessionStateProvider 和 Microsoft.Web.RedisOutputCacheProvider

我已经安装并使用了 Microsoft.Web.RedisSessionStateProvider 一段时间,在查看了 OutputCaching 之后,我还想安装 Microsoft.Web.RedisOutputCacheProvider,但是它们都有 Microsoft.Web.Redis.ISerializer 接口,这会破坏我的 JsonCacheSerializer,因为它使用 ISerializer界面。

我在 VS 2017 中遇到错误,内容为...

" Microsoft.Web.RedisOutputCacheProvider 和 Microsoft.Web.RedisSessionStateProvider 中都存在类型 'ISerializer' "

我用于 SessionState 的 JsonCacheSerializer 代码是:

这是否意味着一个人必须使用一个或另一个,而不是两者?

0 投票
1 回答
1739 浏览

caching - Redis CLI 扫描模式并在一次调用中取消链接/删除多个模式

我将密钥存储在我的 Redis 中,如下所示。

  • 项目:page_1_user_1
  • 项目:page_1_user_2
  • 项目:page_1_user_3
  • 项目:page_2_user_1
  • 项目:page_2_user_2
  • 项目:page_3_user_1

要删除与模式匹配的键,我使用 Stackoverflow 上的许多答案中提到的以下命令。

现在,我想在一个查询中删除多个模式。在上面的查询中,我删除了具有page_1的模式,因此我想在一个对 redis-cli 的查询中删除多个模式,例如page_2page_3 。现在我一直在循环我的模式并调用上面的 redis-cli 查询。是否有可能有类似下面的东西?

0 投票
0 回答
435 浏览

redis - 在 web.config 中无法为 ASP.NET MVC 5 Web 应用程序配置 Azure Redis 会话缓存

我们希望将 Azure Redis 服务用作 MVC 5 Web 应用程序的会话缓存。为此,我们使用 Nuget Microsoft.Web.RedisSeessionStateProvider,它最近更新到 v3.0.2。

但是,将该特定版本放在 web.config 中会引发错误,指出会话状态提供程序必须继承自SessionStateStoreProviderBase(命名空间 System.Web.SessionState)。

Nuget 的 RedisSessionStateProvider v3.0.2 继承自SessionStateStoreProviderAsyncBase(命名空间 Microsoft.AspNet.SessionState),因此不起作用。

Web 应用程序正在运行 .NET Framework 4.72!因此,根据发行说明,它必须与 v3.x 兼容。到目前为止,唯一的解决方案是回退到 Nuget 的 2.x 版本并改用它。

我错过了什么?

0 投票
1 回答
278 浏览

maven - 在 Spock 中编写集成测试用例时如何使用 maven-redis-plugIn

我正在使用 编写集成测试spock-framework,我可以在执行集成测试开始并加载文件maven-cassandra-plugin之前使用 ie (我们在属性中提到过,然后我们的测试将运行,运行后测试将关闭。以同样的方式我想用。我在网上看到过以下插件示例cassandracqlconfigurationmaven-cassandra-plugincassandramaven-redis-plugin

样本 2:

我想将一些数据插入缓存,然后使用我的集成测试类我想对该数据执行 CRUD 操作

0 投票
0 回答
391 浏览

java - 为什么从mysql取数据比spring cache+redis快

当我使用 Spring 缓存时,它需要的时间是直接访问数据库的两倍多,但如果我使用redistempla 从 Redis 获取数据,它比 MySQL 快。所以我可以确保 Redis 中有数据,

另外,我只是测试了一个简单数据的查询,项目使用Spring Boot和Spring Cloud搭配Redis集群

他是我的配置