问题标签 [redisjson]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何在redis中存储一个复杂的对象(使用redis-py)
hmset函数可以设置每个字段的值,但是我发现如果值本身是一个复杂的结构化对象,从hget返回的值是一个序列化的字符串,而不是原来的对象
例如
i 的类型是字符串,而不是 python 对象,除了手动解析每个字段之外,还有什么方法可以解决这个问题?
json - 将 Json 对象存储在 redis 中以进行快速查询
我一直在使用 MongoDB 来存储和查询无模式的 json 文档(约 10 百万条记录)。查询通常涉及查找具有匹配键值对的 json 文档并运行几秒钟。我正在寻找使查询运行得更快的方法,并遇到了 Redis 数据库。转移到 Redis 是个好主意吗?我的用例有更好的数据库吗?
另外,有人可以解释一下我如何在 Redis 中存储无模式的 json 对象(并且以后可以查询它们)吗?
谢谢!
python - 关于在 Redis 中存储此数据 (JSON) 而不覆盖现有数据的建议?
我对我要问的所有方面都很陌生。
我正在尝试确定是否可以成功地将一些轮询指标存储为 Redis 中的 JSON 数据。
以一种方式,我已经设法做到了。以下 python 脚本将轮询设备,拉回 JSON 数据,然后使用 (RedisJSON - https://redislabs.com/blog/redis-as-a-json-store/ ) 我可以将该 json 数据推送到 Redis。
这是代码:
这是提取然后存储在 Redis 中的数据:
当我在 Redis 中检查“数据”时,我看到了被推送的数据/json:
到目前为止这么好它会出现吗?
问题是我不确定如何在不覆盖现有“数据”的情况下正确处理推送下一组数据?
我意识到这就是将它作为“数据”保存到 redis 的原因:
目标是拥有多组此类数据,因为它包括日期和时间。
我希望使用它来存储每 5 分钟为每个“service_groups”和它们包含的服务器提取的一小时这些指标。
所以我非常有兴趣学习和理解我如何去完成这个?
** 其他详细信息/对问题的回答 **
最终目标是能够使用某种图形/报告工具来访问数据并显示给定时间段内“service_group”的指标,以及扩展“service_group”并查看相关指标的能力与该“service_group”中的每个成员/服务器。
json - redis中的rejson是否支持复杂的get查询?
我正在浏览rejson
文档jsonget并且找不到与复杂查询相关的任何内容,例如:
JSON.GET key1 where key1.subkey1 == "test1 || key3.subkey6.subsubkey2 > 2"
有人知道是否redis
支持这样的json
输出逻辑吗?如果没有,有什么替代方案?
scala - 在 Redis 中存储和操作“json 列表”的最佳方法是什么?
客观的:
目标是能够在 Redis 中存储 json 列表并能够在 Redis 本身中对其进行操作。
问题陈述
问题在于,操作 JSON 列表需要我们将所有数据带入应用程序,然后才能对其进行任何合理的处理。例如,过滤 JSON 列表,其中 JSON 字符串针对某个 JSON 路径具有特定值,诸如此类。这减慢了应用程序的能力,违背了拥有 Redis 的目的。
我们正在考虑的可能解决方案
- 我们正在考虑使用 RedisJSON 在 Redis 中原生支持 JSON,但它似乎不能满足我们的要求。如果我错了,请纠正我。[我对 Redis 非常陌生。]
- 我们正在考虑的另一个解决方案是在 Redis 服务器本身上编写 Lua 脚本,或者使用scala-redis 之类的库在 Redis 上执行 Lua 脚本。
请建议我们:
- 如果有更好的方法在 Redis 中表示这样的数据?
- 如果 RedisJSON 或类似的模块可以解决我们的问题?
- 如果我们对使用像 scala-redis 这样的库是正确的?
请让我知道这是否适合这个问题,或者这个问题需要以更好的方式表达。
python - 在 Redis 上存储和访问复杂 JSON 对象的最快和最佳方式
我一直在使用 ReJSON( json.set
) 在我的 redis 服务器上存储复杂的 JSON。例如:
一次访问一个键非常快。但是访问数月的数据并添加它需要相当多的时间。
是否有另一种更好的方法来存储/访问这些复杂的 json 结构:
1)因此,如果我只需要user_data
,不必检索所有其他数据,然后过滤掉其余数据,例如:
按时测试后,我发现 99% 的时间都花在了获取和计算数据上。那么基于此,您认为我的代码需要更多优化吗?
python - rejson=py 示例不适用于 python 3.6
尝试使用 Python3 设置 ReJSON。我在 Windows (WSL) 中的 Ubuntu 16.04 上运行,并且 Redis 和 ReJSON 正常工作。
在https://github.com/RedisLabs/rejson-py文档中简化了 python以隔离问题:
最后一行错误:
我知道 obj 已经写好了,可以在 redis-cli 中看到:
任何帮助表示赞赏。
redis - ERR 未知命令 'JSON.SET' - Rejson/Redis
我已按照教程运行:
但是当我尝试运行 redis-cli 然后运行 json.get 时,我得到了:
模块列表返回零。谁能指导我如何使用 docker 运行 rejson?欣赏。
redis - 使用 ReJson 存储数值树
我想在树中插入固定长度的数值,并在稍后检查它们的存在。大多数数值都是相似的,因此将它们放在 a 中没有意义,SET
因为我会浪费空间。
由于 ReJsonPATH
期望键名具有“类似 Java”的命名约定,这就是我想出的:
因此,当我需要知道是否设置了“012”时,我需要检查是否"JSON.GET key ._0._1._2" == true
.
最初,我尝试保存自然树值,例如:
但是我不能写任何PATH
能够遍历这棵树的东西,无论是点还是括号形式。
有什么建议么?我应该坚持我强调的价值观和._a._b._c
模式还是有更好的方法?
redis - 如何使用 ReJSON 设置嵌套值(对象)
如果我使用 ReJSON 插入以下对象:
有没有办法“附加”一个嵌套结构?我想为示例添加“address.name”以获取以下 JSON:
我试图使用JSON.SET testing .address.name '"Imaginary Street 7"'
,但这会导致(error) ERR missing key at non-terminal path level
.
文档内容如下:
当且仅当它是路径中的最后一个子对象时,才会将键(及其各自的值)添加到 JSON 对象(在 Redis ReJSON 数据类型键中)。
“address.name”不是路径中的最后一个孩子吗?我究竟做错了什么?