草庐IT

java - 带有 Long 类型键的 spring data redis zadd 不起作用

我在这里尝试通过做一些例子来学习Redis。我有一个名为DriverLocation的实体,其中有一个名为updatedAt的时间戳,这是一个以毫秒表示的纪元时间。关键是我想要一个SortedSet,这样我就可以执行zrangebyscore查询,以获取按时间戳排序的最后N条记录。sortedset基本上会有timestamp-->hash_id结构。如果我想获取最后10分钟添加的记录,那么我将执行zrangebyscore查询以按排序方式获取所有hash_id。然后使用带有hash_ids的hmget获取所有哈希对象。这是关于redis-cli的一个非常简单的工作演示,您可以假设我使

redis - 您可以通过列表中的键数来选择 REDIS 键的值吗

我正在使用带有win10-64的redis2.8。正如您在屏幕截图中看到的,我有许多长键。有没有一种方法可以通过在列表中选择它们的编号来获取值,而不是键入或剪切和粘贴它们(您可以看到我的2次失败尝试)? 最佳答案 CanyouselectthevalueofaREDISkeybythenumberofkeyinlist?不,你不能。因为Redis-cli不支持这个功能。即使知道key,也无法在不知道数据类型的情况下获取数据。假设你有一个key对应的set/HashMap。对于该键命令get不适用于该类型的数据。

redis - 如何在Redis(Jedis)的hset中添加一个键的TTL值

我已经使用过期计时器设置了一个key:SETEXmykey200"Hello"我想将TTLmykey的值添加到hset中:hsetmyhashf1TTLmykey但是,它显示以下错误:ERRwrongnumberofargumentsforHMSET我正在尝试使用Jedis实现此功能,是否有任何特定于jedis的解决方案? 最佳答案 您想获取某个键的TTL值并将其放入散列中吗?然后试试这个:EVAL'localttl=redis.call("ttl",KEYS[1])redis.call("hset","myhash",KEYS[2

redis - 在 Redis 中是否可以找到所有具有包含指定值的键的哈希值?

我正在使用Jedis,对它和Redis本身都是新手。我有存储哈希值的数据库,需要在数据库中找到包含具有指定键和指定值的条目的所有键。例如:“在数据库中找到所有键/值为STATUS=ERROR的散列”。这在绝地武士中可能吗?从我通过谷歌搜索可以看出,hscan将在指定的哈希中找到键。更一般地说,通过教我钓鱼,有什么关于在哪里查找的指示吗?似乎没有真正的jedisapi文档,甚至Redis文档本身似乎也没有hscan。 最佳答案 正如您提到的,您可以使用HSCAN从散列中查找指定的键值对。此外,您需要使用SCAN命令来查找所有哈希值。但

java - 订阅 Redis 中的键的子集

我正在编写一个具有网络套接字(网络通量)端点的Spring启动应用程序。Redis在后台运行,持有键/值对。这些值每隔几秒更新一次。客户端调用上面提到的端点,并且他们应该接收他们请求的键/值对,只要这些键中的任何一个有新值。我想知道是否可以订阅Redis持有的键的子集,以便端点Controller在这些键的值发生变化时得到通知。现实世界的例子:一个股票筛选应用程序。客户端向端点发出请求,请求获取一些符号的实时价格。最新的值存储在Redis中。 最佳答案 有多种方法可以使用Redis解决这一挑战(我假设Java和Spring都支持它们

lua - 如何确定给定键的值在 Redis 上占用的内存量?

根据我在查看redis文档后的理解,您可以(基本上)使用STRLEN确定字符串使用的内存,但是如果我想确定列表或哈希使用的内存量怎么办?理想情况下,我希望能够在不使用插件或第三方软件的情况下执行此操作。也许我需要评估一个lua脚本? 最佳答案 目前(v3.2.1)Redis不提供这种内省(introspection)功能,恐怕Lua脚本在这种情况下用处不大。但是,我的同事提出了一个拉取请求,添加了这个-https://github.com/antirez/redis/pull/3223-我希望它最终会合并。

Redis 获取多个 LIST 键的第一个元素

有没有办法获取许多列表的(在不同的键中)第一个项目?所以K1=[1,2,3,4]K2=[19,24]>XXXXK1,K2==>[1,19]对于不存在的列表,它应该以某种方式指示:K1=[1,2,3,4]K2=[19,24]>XXXXK1,K3,K2==>[1,None,19]假设我有2000个key需要更新,但我不想进行2000次查询。我也无法获得所有2000个完整值,因为列表很长(假设长度为500) 最佳答案 您将进行此数量的查询,每个列表的键一个。但是,可以使用pipelining优化工作流程或Luascript:$redis-

node.js - 在redis中如何获取特定键的值?

在我的Node应用程序中,我使用RedisDB来存储数据。在使用键获取存储值时,我没有获得预期的输出。varredis=require('redis');varclient=redis.createClient();varpageContent={a:"a",b:"b",c:"c"};//client.set('A',pageContent);//herei'msettingthevalueclient.get('A',function(err,res){if(!err){Object.keys(res).forEach(function(k){console.log('keyis'+

node.js - 如何知道 Node js中redis中给定键的值类型

我正在使用redis和Nodejs做一个小项目-redis客户端'node_redis'.问题是,要获取键的值,有不同的get函数,例如字符串和整数类型有client.get,数组类型有client.lrange()等。那么如果不知道所需的值类型,如何识别使用什么函数来获取值,有没有办法识别值类型。 最佳答案 使用TYPE命令。2022redisv4-带有await的ES:import{createClient}from'redis'asyncfunctiongo(){constclient=createClient()client

redis - 如何获取redis中特定键的内存占用?

我是Redis新手。如何获取redis中特定键的内存占用?db01)"unacked_mutex"2)"_kombu.binding.celery"3)"_kombu.binding.celery.pidbox"4)"_kombu.binding.celeryev"我只想获取一个特定键(如"_kombu.binding.celery")或一个特定数据库(如db0)的内存占用量,我该如何获取它?redis_version:2.8.17非常欢迎任何评论。非常感谢。 最佳答案 您正在运行一个非常旧版本的redis。MEMORY命令在该版本