Redis 正在逐步淘汰 RedisGraph. 这篇博文 解释了此决定的动机以及对现有 Redis 客户和社区成员的影响。
支持结束时间定于 2025 年 1 月 31 日。
RedisGraph 是第一个可查询的属性图数据库,它使用稀疏矩阵来表示图中的邻接矩阵,并使用线性代数来查询图。RedisGraph 的一些显着功能包括
RedisGraph 基于一种独特的方法和架构,它将 Cypher 查询转换为在 GraphBLAS 引擎上执行的矩阵运算。这种新设计使社交图操作、欺诈检测和实时推荐等用例的执行速度比任何其他图数据库快 10 倍至 600 倍。
redisgraph-rb 是 RedisGraph 模块的 Ruby gem 客户端。它依赖于 redis-rb 进行 Redis 连接管理,并提供对图 QUERY、EXPLAIN 和 DELETE 命令的支持。
按照以下步骤开始使用 Ruby 的 RedisGraph
docker run -p 6379:6379 --name redis/redis-stack
info modules
# Modules
module:name=graph,ver=20405,api=1,filters=0,usedby=[],using=[],options=[]
gem install redisgraph
Fetching redisgraph-2.0.3.gem
Successfully installed redisgraph-2.0.3
1 gem installed
要确保安装了先决条件,请运行以下命令:bundle install
bundle install
复制下面的示例代码并将其保存到文件 "test.rb" 中
require 'redisgraph'
graphname = "sample"
r = RedisGraph.new(graphname)
cmd = """CREATE (:person {name: 'Jim', age: 29})-[:works]->(:employer {name: 'Dunder Mifflin'})"""
response = r.query(cmd)
response.stats
cmd = """MATCH ()-[:works]->(e:employer) RETURN e"""
response = r.query(cmd)
response.print_resultset
ruby test.rb
redis-cli
127.0.0.1:6379> monitor
OK
1632716792.038955 [0 172.17.0.1:57804] "info"
1632716792.041201 [0 172.17.0.1:57804] "GRAPH.QUERY" "sample" "CREATE (:person {name: 'Jim', age: 29})-[:works]->(:employer {name: 'Dunder Mifflin'})" "--compact"
1632716792.042751 [0 172.17.0.1:57804] "GRAPH.QUERY" "sample" "MATCH ()-[:works]->(e:employer) RETURN e" "--compact"
1632716792.044241 [0 172.17.0.1:57804] "GRAPH.QUERY" "sample" "CALL db.propertyKeys()"
1632716812.060458 [0 172.17.0.1:57962] "COMMAND"
1632716813.148710 [0 172.17.0.1:57962] "GRAPH.QUERY" "sample" "CREATE (:person {name: 'Jim', age: 29})-[:works]->(:employer {name: 'Dunder Mifflin'})" "--compact"