草庐IT

redis-test

全部标签

redis - 根据条件增加或重置

我只想在某个键存在时增加一个值。如果键不存在,则值应设置为1。是否可以将此逻辑实现为原子步骤? 最佳答案 INCR命令完全符合您的要求。如果key不存在,则在执行自增操作前将value设置为0,即value将设置为1。该命令以原子方式运行。更新如果要增加的键不是检查存在的同一个键,则必须编写一个Lua脚本来完成事务中的工作。if(redis.call("exists",KEYS[1])>0)thenredis.call("incr",KEYS[2])end 关于redis-根据条件增加或

redis - Vagrant/Redis - 无法从主机连接

仍在掌握Vagrant/Redis/Linux的诀窍。请帮忙!问题是我无法连接到在VM上运行的Redis服务器。主机:MacbookVagrant文件:config.vm.box="laravel/homestead"config.vm.hostname="redis-test"config.vm.network"forwarded_port",guest:6379,host:6379,id:"redis"访客:laravel/homesteadVagrantbox./etc/redis/redis.confbind0.0.0.0改完redis.conf后,我也重启了服务sudo/et

docker - Docker 撰写文件的 Redis 连接失败

我正在使用来自开源存储库的docker-compose文件。值得注意的是,它缺少version和services键,但它仍然有效(到目前为止,我还没有看到没有这些键的撰写文件)。redis:image:redisports:-'6379'app:build:.environment:-LOG_LEVEL='debug'links:-redisdocker-composeup启动一切,应用程序可以通过127.0.0.1:6379与redis通信。但是,当我重新添加version和services键时,与redis的连接被拒绝:version:'3'services:redis:image

redis - 2/3 哨兵实例在同一个数据中心

假设我有两个数据中心,每个数据中心都运行一个Redis实例。此外,我在这两个数据中心中运行了三个哨兵实例,每个实例都在单独的机器上,但其中两个在同一个数据中心。这是个问题吗?在最坏的情况下,如果第一个数据中心不可用,则三个哨兵实例中的两个+一个redis实例同时关闭。如果这个redis实例是主实例,则会故障转移到另一个数据中心。但是如果数据中心1再次可用会怎样?我猜这将是新配置:Datacenter1-Sentinel1->Pointstomasterindatacenter1Datacenter1-Sentinel2->Pointstomasterindatacenter1Datac

AWS Redis 集群的 Python 客户端

谁能建议启用AWSRedis集群的Python客户端?我正在使用redis-py-cluster,但它失败了:示例代码:fromredisclusterimportStrictRedisClusterstartup_nodes=[{"host":"xxxx.clustercfg.apn2.cache.amazonaws.com","port":"6379"}]r=StrictRedisCluster(startup_nodes=startup_nodes,decode_responses=True,skip_full_coverage_check=False)r.set('foo','

database - 有什么有效的方法可以减少 HyperLogLog ( redis ) 中的错误?

在redis中,我们将hyperLogLog设置为不同的元素。众所周知,对于每个key,HLL仅消耗12kb内存并产生标准误差为0.81%的近似值因为我有太多要计算的元素。所以在这里我想通过将元素存储到多个hll键中来降低错误发生率(例如"hll_key_%d"%(Elementmod1024))这实际上是降低错误的有效方法吗?或者其他什么方式实现? 最佳答案 这取决于。如果插入元素的数量明显大于Redis实现中的寄存器数量(2^14),则可以假设HyperLogLogs的错误呈正态分布。如果元素被平均分片到多个HyperLogLo

python - 使用 redis 和 python 进行复杂查询

我有一个数据需要根据多个查询进行搜索list1=redisClient.zrangebyscore('FID',min=20150000,max=20190000)上面的代码为我提供了日期在2015年1月到2019年1月之间的FID(首次介绍日期)的所有值。所以它给了我想要的结果,但我也想将此搜索附加到基于日期和对于205jan到2019jan之间的所有日期,NTM值为1。list2=redisClient.zrangebyscore('NTM',min=1,max=1)我怎样才能将这两个搜索条件组合在一起。 最佳答案 通过一次搜索

redis - Geo.Lua函数GEOMETRYFILTER和Redis

我想弄清楚如何在geo.lua中实际调用GEOMETRYFILTER函数,因为文档对我来说不是很清楚:https://github.com/RedisLabs/geo.lua#GEOMETRYFILTER这些参数到底是什么意思,我如何从Redis-cli调用这个函数?我无法在谷歌上找到任何示例。 最佳答案 geo.lua的作者在这里-IIRC它涉及首先创建一个polyhash来描述过滤器,然后将它与geoset一起提供给库。性能非常糟糕,因为一切都在Lua中完成。仅供引用-该库不再维护。

spring-boot - 连接redis和lettuce客户端时出现内存泄漏错误

我正在使用lettuce连接到redis:spring-boot-starter-redis:2.0.6.RELEASE,当我启动应用程序时出现此错误:[ERROR][main][ResourceLeakDetector][error]-LEAK:HashedWheelTimer.release()wasnotcalledbeforeit'sgarbage-collected.Seehttp://netty.io/wiki/reference-counted-objects.htmlformoreinformation.Recentaccessrecords:Createdat:io.

node.js - 访问代理后面的 azure redis 缓存

在开发环境中,开发者需要访问redis缓存。到azureredis缓存的连接是通过端口6380上的socks协议(protocol)完成的。问题是由于外部访问互联网是通过我们公司的代理完成的。如果是HTTP(S)访问,例如在nodejs中,我们使用npm包“dotenv”,我们在其中指定“HTTP(S)”代理设置(包ms​​-restazure的示例)。但是在这里我们没有找到任何解决方案来使用代理访问socks。在这种情况下,我们使用npm包“redis”。谁有代理使用的解决方案??提前致谢马修 最佳答案 从代理后面的客户端直接连接