草庐IT

Redis-Queue

全部标签

redis - 在新键中包含值

如何在新的键中包含一个值?例如我用value1创建了userIdkey。每当我创建一个新用户时,我都想要新value的key包含id,像这样:user:[id]127.0.0.1:6379>setuserId1OK127.0.0.1:6379>incruserId(integer)2127.0.0.1:6379>setuser:[userId]nameUserName(error)ERRsyntaxerror127.0.0.1:6379>这是什么语法? 最佳答案 没有这样的语法-您的应用程序逻辑应该获取下一个用户ID并将其设置在新k

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.