草庐IT

Redis_Proxy

全部标签

ruby-on-rails - 使用 postgres 和 redis 对 Rails 项目进行 Dockerize

我是RoR的新手,我想通过在3个不同容器中运行的Redis和Postgres对Rails应用程序进行dockerize。我现在有一个在容器内运行的简单Rails项目我将如何配置RoR项目以执行以下操作:如何连接Rails和Postgres?如何使用Rails将Redis设置为简单的内存数据存储并访问它?谢谢:)docker-compose.ymlversion:'3'services:rails:build:.volumes:-./:/appports:-3000:3000postgres:image:postgresredis:image:redis编辑:将sqlite数据库更改为p

java - 使用 Redis 进行任务调度

我需要构建一个程序来接收支付ID并在30秒后向另一个Web服务发送请求以检查支付是否成功。程序每分钟将接收500-1000个事务,因此我认为使用Java线程池执行此任务效率不高。我正在考虑使用Redis来保存需要检查的付款ID。并且ID要按照下发时间一个一个调用(每个ID必须在30秒后调用)。据我所知,我可以使用SET键值数据类型:设置ID时间戳这是执行程序的正确方法吗?您还有其他选择吗?我正在使用SpringBoot和PostgreSql作为数据库。 最佳答案 用例似乎是延迟消息处理。这里可以使用支持延迟消息处理的ActiveMQ

python - 在运行时定义 Redis 数据库

我正在使用名为Redis-py的Python版Redis客户端。GitHub库位于此处https://github.com/andymccurdy/redis-py.我想知道是否有任何方法可以在运行时设置Redis数据库初始化值。例如,如果我有一个名为db的全局变量,并且我想根据配置(dev、test、prod等)更改db的值,是否存在任何方式我可以做到这一点。Redispy只提供了一个构造函数,但不提供任何在运行时进行初始化的方法。一种方法是将全局变量db定义为None并使用函数将db变量设置为正确的redis数据库。但是,我真的试图避免在函数中使用global关键字/更改全局变量。

redis - Redis集群从slave到master的数据迁移

我目前正在探索Redis集群。我在启用持久性的3台物理服务器(3台主服务器和3台从服务器)上启动了6个实例。我注意到,当我杀死其中一个主实例时,它的从实例会在一段时间后提升为主实例。但是,它仍然是master,即使我启动了被杀死的实例。由于Redis进行异步复制,因此,我在考虑这样一种情况,即master在刷新数据后立即被杀死,即它无法复制该数据。Willthisdatagetreplicatedtothenewmaster(initiallyslave),oncetheinstancecomesbackup? 最佳答案 没有。如果

redis - Redis安全性弱但无所谓?

考虑RedisSecurityDocument,我的想法对吗?Redis本身不提供强大的安全功能。Redis已经假设只有受信任的Redis客户端在安全网络中连接。简单的安全设置,例如OS防火墙中的IP限制设置是一种方式。我不认为Redis的安全性是错误的。基本上,Redis是私有(private)网络中的后端程序,就像数据库服务器一样。 最佳答案 Redis的安全性很弱,但安全性很重要。从文档本身可以看出,提到了不同的方法来解决弱点,例如实现身份验证。还提到“Redis并未针对最大安全性进行优化,而是针对最大性能和简单性进行了优化”

docker - 是否可以将 redis 容器附加到 docker 卷?

我正在使用ReJSON,它是redis的改进版。我想知道这是否会影响通用命令的功能。我会保留我的数据,为此,我创建了一个自定义卷。但是当我停止然后重新启动我的容器时,数据不会持续存在。Theofficialdoc谈论要绑定(bind)的/data目录以安装卷。我尝试过:~$dockerrun--namerejson-d-p6384:6379-v$PWD/volumes:/dataredislabs/rejson我也测试过:~$dockerrun--namerejson-d-p6384:6379-v$PWD/volumes:/dataredislabs/rejson--appendonl

redis - 如何在 redis 图中存储分层数据并从中检索子树?

编号|姓名|parent_idab|文件|德广告|歌曲|德公元前|鲍勃|广告锰|打开.txt|公元前 最佳答案 假设ab是file的ID,bc是file的父ID然后存储你可以使用bulk-insertutility或者您可以使用以下Cypher查询:CREATE(A{id:'ab',name:'file'}),(B{id:'bc',name:'folder'}),(A)-[:child]->(B)要查询,根据您要提取的数据使用类似于以下的Cypher查询:MATCH(c)-[:child]->(p)RETURNc,p

spring - 如何创建 Redis 条件 Bean?

我需要在java配置中创建RedisTemplatebean。如果没有找到redis配置(redis服务器信息),则使用空缓存创建默认的redisbean。你能推荐一下吗?提前致谢。 最佳答案 如果redis服务器没有运行,你需要实现一个缓存错误处理程序,如果数据没有被缓存,它会重定向到要调用的原始方法。以下错误处理程序应该可以解决问题:@ComponentpublicclassRedisCacheErrorHandlerimplementsCacheErrorHandler{privatefinalLoggerlog=Logger

redis - Redis SCAN 永不终止的可能性

RedisSCAN文档中有这样一条注释:TheSCANalgorithmisguaranteedtoterminateonlyifthesizeoftheiteratedcollectionremainsboundedtoagivenmaximumsize,otherwiseiteratingacollectionthatalwaysgrowsmayresultintoSCANtoneverterminateafulliteration.在Redis用于存储session的场景中(因此可以不断扩展),发生这种情况的可能性有多大?在生产中使用SCAN进行完整迭代是否安全(例如清除一组具有

go - Golang 中的原子和并发安全 Redis 事务

我正在尝试在我的go程序中实现以下逻辑:defaction:1.GETthevalueofKEYfromRedis2.SETthevalueofKEYto0我正在使用go-redis与我的Redis实例交互的模块。我熟悉Redis事务,但我似乎找不到合适的文档或示例来说明如何在Golang中以并发安全和原子的方式实现所需的操作集。问题:如何实现定义的action并确保在步骤1和2之间不会发生其他Redis操作,即使我从不同的位置访问我的Redis实例也是如此去例行公事? 最佳答案 您可以使用单个Redis命令GETSET来完成此操作