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

ruby-on-rails - 如何优雅地处理 Rails 缓存失败?(redis缓存)

我在我的应用程序中使用 redis-cache 进行片段缓存。当 redis 关闭或无法访问时,我会收到引发 500 错误的超时异常。

这种情况很少发生,但是对于缓存,我希望 rails 将超时视为:

  • 写入无操作
  • 读取时缓存未命中。

有什么建议么?这是可以在 rails 缓存中配置的东西,还是我需要做一些猴子补丁来优雅地处理这种情况?

我的堆栈跟踪的相关部分如下,以防它有任何帮助。. .

0 投票
0 回答
978 浏览

ruby-on-rails-3 - 在 Rails 中抢救 Redis 异常

我目前有一个Rails 3.2.13应用程序使用redisascache_store和 for Sidekiq

我也在使用redis主从。我遇到了一个问题,在故障转移期间,从属服务器将成为主服务器,Rails 然后连接到该节点,一旦它尝试写入该节点,即使该节点是 ,也会master引发此异常:

我知道这个问题可以很容易地通过断开使用redis的任何东西(例如sidekiqrails cache_store)来解决,这样任何写入该节点的后续命令都可以通过有效连接重新连接。

问题是在哪里捕获和处理异常?我最初的想法是进行airbrake一种全球救援,但不确定这是否是最好的方法。

有没有人遇到过这个问题?

0 投票
2 回答
22002 浏览

python - Redis 可以写出到像 PostgreSQL 这样的数据库吗?

我使用 PostgreSQL 的时间最长。我所有的数据都保存在 Postgres 中。我最近研究了 redis,它有很多强大的功能,否则在 Django (python) 中需要几行代码才能完成。只要运行它的机器不停机,Redis 数据就会持久存在,您可以将其配置为每 1000 个键或每 5 分钟左右将存储到磁盘的数据写入磁盘,具体取决于您的选择。

Redis 会做一个很好的缓存,它肯定会取代我在 python 中编写的许多功能(投票用户的帖子,查看他们的朋友列表等......)。但我担心的是,所有这些数据都需要翻译成 postgres。我不相信将这些数据存储在 redis 中。我将 redis 视为一种用于快速检索信息的临时存储解决方案。它非常快,这远远超过对 postgres 进行重复查询。

我假设我可以在技术上将redis数据写入数据库的唯一方法是将我从redis的'get'查询中获得的任何内容通过Django保存到postgres数据库中。

这是我能想到的唯一解决方案。你知道这个问题的任何其他解决方案吗?

0 投票
1 回答
449 浏览

ruby-on-rails - 省略,跳过redis缓存存储,如果它不可用

我使用 redis-store 作为 Rails 的缓存存储

当 redis-request 失败(redis 重启期间没有连接、redis down、超时等)时,整个应用程序都会失败。是否可以选择跳过 redis 并像没有这样的密钥一样行事?

谢谢和问候,菲尔

编辑: 可以在这里进行进一步讨论: https ://github.com/jodosha/redis-store/issues/175

问题已为我解答。(只能通过修补实现,请参阅问题 150)

0 投票
1 回答
775 浏览

redis - 调用方法时创建 Redis 对象和执行命令时出错

这是包含 ruby​​gems 和 redis 后我的 rails 控制台的输出。

0 投票
2 回答
1479 浏览

django - 如何安排 redis 缓存的失效?

我正在使用 django 作为框架来为带有博客的站点构建内容管理系统。

每篇博文都会有一个路由,其中​​包含博文的唯一标识符。这些博客文章可以安排并有一个到期日期。这意味着路线必须是动态的。

整个站点都需要缓存,我们已经将 redis 设置为后端缓存。我们目前针对静态路由缓存渲染页面,但需要找到一种针对动态路由缓存页面的方法(并在博客文章过期时使它们失效。)

我可以使用 cron 作业,但这不合适,因为... a) 新博客帖子很少发布,而且不定期发布 b) 用户可以将帖子安排到一分钟。这意味着 cron 作业必须每分钟运行一次,这似乎有点过分了!

我刚刚找到了django-cacheops库,它似乎完全符合我的需要(安排缓存失效并通过信号使它们失效)。这与我们现有的设置兼容吗?设置有多容易?

我认为这是一个非常普遍的问题 - 有没有人有比上述更好的想法?

0 投票
1 回答
634 浏览

azure - Windows azure redis 缓存迁移问题

我们将站点托管在 Windows azure 上,站点在多个实例上运行。由于多个实例,我们使用共享缓存来存储会话值。由于微软即将停止共享缓存,建议使用 redis 缓存来存储会话。我修改了项目以使用 redis 缓存,它适用于大多数页面。我的问题是,我们的站点中有一个非常重要的页面“搜索页面”(我们使用 lucene.net 进行搜索功能),它在会话中存储了大量数据,并且该页面无法正常工作。点击搜索按钮后,在地址栏中显示连接状态很长一段时间,然后进入网站的oops页面。我们正在 DB 中记录错误消息,所以在查看之后我们发现了以下错误消息。

我不确定这是否与我的问题有关,但似乎如果已解决,页面将正常工作。有谁知道为什么会发生此错误以及如何解决?

谢谢

0 投票
2 回答
2677 浏览

spring - Spring-data-redis:cacheManager 配置问题

我使用 redis 作为我的 spring 缓存实现。官方文档说我们应该像这样配置缓存管理器:

当 jedis 版本 = 2.0.0 和 spring-data-redis 版本 = 1.0.2.RELEASE 时,它工作正常。

但在更新的版本中(例如 jedis = 2.5.2 和 spring-data-redis = 1.3.4.RELEASE),上面的配置不起作用。相反,它抛出一个异常,说“loadCaches 不能返回一个空的集合”。然后我引用它并再次谷歌它,现在配置文件是这样的:

现在它不再抱怨空集合,而是抱怨初始化。

所以这里还有两个问题:

  1. 在 cacheNames 属性中,我看到其他人正在使用“list”、“set”和“map”。有什么区别?
  2. 里面的bean怎么配置?

我已经在这个 bean 设置上苦苦挣扎了几天。你能帮我解决一下吗?提前致谢

0 投票
1 回答
138 浏览

redis - Redis Cache 数据备份

我已经开始阅读 Redis Cache。在非常基本的级别上,它像内存缓存中的任何其他数据一样将数据存储在内存中。所以我的问题是,如果它崩溃或重新启动,存储在其中的数据会发生什么。是否有任何持久性(数据回传策略)或数据会丢失?有关此功能的任何参考都会有所帮助。

提前致谢!!

0 投票
1 回答
5834 浏览

caching - 为什么与 Azure Redis 缓存的连接如此之高?

我在单台机器查询缓存的高负载方案中使用 Azure Redis 缓存。这台机器大约每秒获取和设置大约 20 个项目。白天增加,夜间减少。

到目前为止,一切正常。今天我意识到“连接的客户端”的指标非常高,尽管我只有 1 个客户端经常获取和设置项目。这是我的意思的指标的屏幕截图: Redis 缓存连接的客户端

我的代码如下所示:

我没有创建这个类的多个实例,所以这不是问题。也许我误解了连接指标,它们的真正含义是我访问缓存的次数,但是,在我看来,这并没有什么意义。有什么想法,或者有类似问题的人吗?