草庐IT

fill_values

全部标签

redis - 获得 key :value on expiry 通知的方法

我有传入的数据,我必须聚合一段时间,并在key过期时处理数据。我尝试过使用redis键空间通知,但它只提供了键。有没有更好的方法来处理这种情况? 最佳答案 不是设置到期日,而是将数据聚合到列表中或根据您的用例进行设置。在key本身中放置一个时间戳。比如你要聚合1小时的数据,你的key可以是mydata:2018-26-06-1300,mydata:2018-26-06-1400,mydata:2018-26-06-1500等等。然后您只需每小时运行一次cron作业,从键中读取所有值,并在完成后删除键。

Redis 是 key to key to value 的可能

我想我正在尝试在Redis中设计一个结构,这可能是错误的。这是我要存储的结构Accountnumber1MACAddress1->{serializeddata}MACAddress2->{serializeddata}Accountnumber2MACAddress3->{serializeddata}MACAddress4->{serializeddata}我想通过帐号访问数据并获取与其值关联的MAC。我也想通过MAC访问它。从我读到的内容来看,很多都不是很有效率。我想我应该创建2组,一组使用Account到MAC列表,另一组MAC到序列化数据,如下所示AccountNumber1

java - Redis数据结构: key -> field -> list of values Is this possible?

在Redis(使用Jedis)中是否可以按如下结构存储数据?key|-fieldA||-value1||-value2||-value3||-fieldB|-value4|-value5|-value6 最佳答案 Redis在技术上不支持您想要的数据结构。有一些解决方法;一个简单的方法是为每个字段创建一个单独的列表,使redis键成为您的键和特定字段的组合。例如:LPUSHkey:fieldAvalue1value2value3LPUSHkey:fieldBvalue4value5value6另一种方法是使用散列,为您的值使用序列化

Redis GETSET - "Returns an error when key exists but does not hold a string value."

根据redisdocumentationGETSET命令当键存在但不包含字符串值时返回错误。它到底是什么意思?我为空值创建了GETSET,但它确实有效。 最佳答案 这意味着如果您尝试GETSET一个包含其他类型值的键,例如HASH、SET、LIST,你会得到一个错误。 关于RedisGETSET-"Returnsanerrorwhenkeyexistsbutdoesnotholdastringvalue.",我们在StackOverflow上找到一个类似的问题:

Python、redis : How do I set multiple key-value pairs at once

我有两个列表键=[k0,k1,....kn]vals=[v0,v1,....vn]我可以通过以下多个步骤在Redis上设置这些键值:对于范围内的我(0,len(键)):redis_con.set(键[i],vals[i])但这是多个集合操作。如何在一个异步步骤中完成此操作? 最佳答案 假设您想要一个单一的redis调用来设置操作:pipe=redis_con.pipeline()foriinrange(0,len(keys)):pipe.set(keys[i],vals[i])pipe.execute()

lua - redis lua - eval 在处理 Long.MAX_VALUE 时返回错误值

127.0.0.1:7501>eval"返回{1,2,9223372036854775807}"01)(整数)12)(整数)23)(整数)-9223372036854775808请帮助这个奇怪的行为。我知道lua只能通过失去一些精度来表示超过10^15的大数。我期望返回值为“9.2233720368548e+18”但不是负数。还可以127.0.0.1:7501>eval"返回{1,2,tostring(9223372036854775807)}"01)(整数)12)(整数)23)"9.2233720368548e+18"127.0.0.1:7501>eval"返回{1,2,tonumb

redis key-value对key有什么限制?

set"as";b1iserrorkey:"as";bvalue:1key的命名规则是什么?Redis使用SDS实现string。书上说SDS可以包含任何字符串结构 最佳答案 Redis键名可以是任何字符串,只要它小于512MB。除此之外,没有任何规则。 关于rediskey-value对key有什么限制?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/30181208/

redis - Number Key/value 对在 REDIS 中变化

我正在尝试查找REDIS可以容纳的键数。我修复了REDIS1471472字节的最大内存并存储固定大小的键/值对。有时它可以容纳19个键,有时可以容纳21个。在19个键的情况下每对占用的内存1)18016bytes2)17984bytes3)17984bytes4)17984bytes5)52864bytes6)17952bytes7)17984bytes8)17984bytes9)18112bytes10)17984bytes11)17920bytes12)17984bytes13)17984bytes14)17984bytes15)17984bytes16)17984bytes17)

redis - 最适合 redis 中的数据结构以维护用户配置文件的值(value)

我正在使用Redis并寻找最适合维护用户配置文件的数据结构。用户配置文件包含Stringuid,longtimestamp,intcount1,Stringinfo1,Stringinfo2,String[5]lastest5activies。一种方法是序列化java对象并将字符串存储为值,第二种方法是以JSON格式存储它。但是由于我们必须为大约5000万及以上的用户实时更新此配置文件(每秒获得数万/数十万笔交易),解析和编辑json对象对于每笔交易来说可能是一种矫枉过正。根据我读过的一些帖子,保存java对象似乎并不是一种流行的存储值的方式(不知道为什么)。谁能告诉我更好的方法、响应

java - 使用绝地管道获取值(value)

我有一个ID列表,我想用它来使用Java客户端jedis从Redis服务器检索哈希。正如文档中提到的,Jedis提供了一种通过声明Response对象来使用管道的方法,然后同步管道以获取值:Pipelinep=jedis.pipelined();p.set("fool","bar");p.zadd("foo",1,"barowitch");p.zadd("foo",0,"barinsky");p.zadd("foo",0,"barikoviev");ResponsepipeString=p.get("fool");Response>sose=p.zrange("foo",0,-1);p