草庐IT

redis-test

全部标签

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来完成此操作

ruby-on-rails - 如何在 Rails 中解析 Redis 字符串(原来是 JSON)?

我正在尝试从Rails5.1中的Magento1.9.3.7Redissession中读取用户session数据。用户登录MagentoCredis设置为使用Zlib压缩session数据(JSON字符串)。Magento将压缩后的session数据存储在Redis中使用redis-rbgem:redis=Redis.new(host:ENV['MAGENTO_REDIS_SESSION_HOST'],password:ENV['MAGENTO_REDIS_SESSION_PASS'],port:ENV['MAGENTO_REDIS_SESSION_PORT'],db:ENV['MAG

redis - 来自不同日志文件中不同应用程序的 celery 任务

我正在寻找在我的FreeBSD服务器上配置Celery,根据日志文件我遇到了一些问题。我的配置:FreeBSD服务器2个Django应用程序:app1和app2Celery是守护进程和Redis每个应用程序都有自己的Celery任务我的Celery配置文件:我在/etc/default/celeryd_app1中:#NamesofnodestostartCELERYD_NODES="worker"#Absoluteorrelativepathtothe'celery'command:CELERY_BIN="/usr/local/www/app1/venv/bin/celery"#App