草庐IT

redis_master

全部标签

Redis SET 命令不适用于默认数据库以外的任何数据库

我遇到了一个问题,除了索引0处的默认数据库无法正常写入任何其他数据库。下面是使用redis-cli在默认数据库中创建key的快照,它是成功的。然后我切换到DB1并运行相同的SET命令,但是当尝试获取它们的键时,它返回(nil),并且当使用KEYS命令列出键时,它返回(空列表或集合)。任何大于0的DB都会发生相同的行为。这个问题最近才开始出现。我使用DB1已经有一段时间了,没有任何问题。以下示例中的服务器是一组由Sentinel管理的三台服务器中的主服务器。redisprod01:6379>settestkey"test"OKredisprod01:6379>gettestkey"tes

php - 如何使用 codeigniter-predis 库在 redis 中订阅?

我必须发布“测试”channel并收听“mytesting()”,但发布已成功完成。但在订阅mytesting()时未执行。publicfunctiontest(){$this->redis_connection();$this->redis->publish('testing',"hi");try{$success=$this->redis->subscribe('testing','mytesting');print_r($success);}catch(Exception$e){print_r($e->getMessage());}}publicfunctionmytesting

redis - java.net.UnknownHostException : redisson-netty-2-6 ERROR DNSMonitor

redissonClient.getNodesGroup().pingAll()返回true但仍然得到异常->[10-09-201821:00:05.337][redisson-netty-2-6][ERROR]DNSMonitor$1$1:98cr_id=parent_reqid=reqid=Unabletoresolvexxxx.redis.cache.windows.netjava.net.UnknownHostException:failedtoresolve'xxxx.redis.cache.windows.net'after4queries 最佳

caching - Redis中的 'node'到底是什么

我目前正在阅读有关Redis的资料,并试图更好地理解“节点”是什么,说明Redis的工作原理。我认为它与端点相同是否正确? 最佳答案 在Redis的上下文中,节点是运行一个或多个redis-server进程的服务器。端点是一个网络地址,您可以通过它访问一个或多个此类进程,具体取决于Redis的集群方式。使用开源Redis集群时,端点是任何进程-即节点的地址和进程监听的端口。Redis客户端库使用该协议(protocol)询问有关集群其他成员的集群redis-server进程(同样,进程监听节点上的端口),因此它们可以相应地建立与其他

go - 如何在golang中做Redis(redigo)lpop

我需要从Redis队列执行一个简单的lpop。在golang中,如果我使用blpop使用阻塞弹出,则foll代码有效reply,err:=redis.Strings(conn.Do("BLPOP",key,1))iferr==nil{fmt.Println(reply[1])//dosomethingwithstringreply[1]}但我不想阻止。我只需要在队列为空时结束。那我该怎么做如果我这样做redis.Strings(conn.Do("LPOP",key))即,将BLPOP更改为LPOP,我得到一个redigo错误ERROR=redigo:unexpectedtypeforS

redis - 在 lua 脚本中使用扫描命令

我正在尝试使用Hiredis和Redis在我的系统中实现2个行为。1)通过发布事件获取所有具有模式的键,而不是使用SCAN命令时返回的数组。(我的系统只适用于publish事件,即使是get所以需要坚持这种行为)2)删除所有带模式的键阅读手册后,我明白“SCAN”命令是我的friend。我有两种方法,不确定优缺点是什么:1)使用将调用SCAN的Lua脚本,直到我们得到0作为我们的光标,并为找到的每个条目获得publish-event/delete-key。2)使用Lua脚本,但返回游标作为返回码,并使用新游标从hiredis客户端调用LUA脚本,直到它为0。或者其他想法会更好。我的数据

在 istio 网格中运行时出现 Redis 断管错误

当我在Kubernetes集群中运行客户端时,与redis的连接正常,但在istio网格中运行时出现“管道损坏”错误redis.clients.jedis.exceptions.JedisConnectionException:java.net.SocketException:Brokenpipeatredis.clients.jedis.Connection.flush(Connection.java:334)atredis.clients.jedis.Connection.getIntegerReply(Connection.java:263)atredis.clients.jed

java - 从redis获取大数据很慢

我是Redis的新手,如果这是一个愚蠢的问题,我深表歉意。我正在使用Java将数据保存到redis。当我保存小数据时,一切顺利。但是,当保存并获取map时(map有超过两万个键值,我使用spring-data-redis来保存这张map,我使用'redisTemplate.opsForHash().putAll()'),我需要将近2秒来保存或获取它。map在redis上占用20M空间,我是用游标来获取的。是这个数据太大了,还是网络问题?我需要获取整个map数据,我该怎么办? 最佳答案 也许你可以考虑对大map进行分片,或者保存压缩的

node.js - Redis 在 nodejs 中返回 true

我正在用typescript编写一个RESTfulAPI,我正在尝试使用存储在redis中的已解析数据和另一个函数中的特定键。我遇到的问题是,我没有从redis接收实际数据,而是一直接收bool值true。我尝试了很多谷歌搜索并阅读了redis文档,不幸的是无济于事。现在有人在这里我如何访问实际数据以便我可以在另一个函数中使用它?我怀疑我在这里面临某种异步问题,但我不完全确定。例如,如果我尝试将响应绑定(bind)到一个变量,这将会发生:constkey=somethingconstreply=client.mget(key);console.log("Thisisthereply:"

laravel - 在 Laravel 中获取两个 Redis 集的交集

我有一个看起来像这样的集合(除了它有大约8000个项目):{"id":563244,"stock_id":693,"value":"9.17","span_minutes":1440,"symbol":"BCS"}{"id":565527,"stock_id":10093,"value":"21.09","span_minutes":2880,"symbol":"GDXS"}{"id":564311,"stock_id":4241,"value":"91.52","span_minutes":7200,"symbol":"NDAQ"}{"id":565269,"stock_id":88