From 3f7e50907ae54c74b33fffe14da63a9c75044a4e Mon Sep 17 00:00:00 2001 From: dsh Date: Mon, 7 Oct 2024 11:31:26 +0100 Subject: [PATCH] Add redis roadmap content (#7229) * 24 topics * 9 topics * remove experimental androud additions * 66 topics, no links * 51 topics, need to add links * add links to 50+ topics * add links to 10+ topics * final changes * Update src/data/roadmaps/redis/content/pubsub@9W_jaK1DSEZHRKdPcUM7h.md * Update src/data/roadmaps/redis/content/redis-enterprise@8lyXDuZJ-KHl4v2_8Ew1h.md * Update src/data/roadmaps/redis/content/redis-modules@hLIT00Iz7rV56ZBIUhWYn.md --------- Co-authored-by: Kamran Ahmed --- .../redis/content/bitop@tkrxArg_oYH0aQfM8NkD2.md | 9 ++++++++- .../redis/content/bitpos@Df1Eu7CuA-ARYii9JVvnm.md | 9 ++++++++- .../redis/content/cache@eHuBz_zSZK3rubn7nkd7g.md | 9 ++++++++- .../redis/content/caching@-TjnSOY8txYrhhxRV1OIl.md | 9 ++++++++- .../content/clustering@AQiCcHS6dBAAAPloxiXub.md | 9 ++++++++- ...figuring-save-interval@_pb2DPrFUUZabKxWsuFUo.md | 9 ++++++++- ...ecting-using-redis-cli@BOGXTjmCLo6WI6mYDsqRu.md | 9 ++++++++- ...ta-persistence-options@8uRpPJ0iD4XnQPKruQc8P.md | 4 +++- .../redis/content/decr@t4BXPofF8OCqH5KHwdYVh.md | 9 ++++++++- .../redis/content/del@lV_MnUNTB2h925idX0YWk.md | 9 ++++++++- .../disaster-recovery@nUIfTkgm3PlSiqgun1BS7.md | 9 ++++++++- .../redis/content/eval@rjeq3i9oX8IGyQzo--L3c.md | 9 ++++++++- .../redis/content/evalsha@3X0x_PcJGWBVPL-LSVAln.md | 9 ++++++++- .../redis/content/exec@Ljy-Mc0EBBX4_vXfYZ5-4.md | 9 ++++++++- .../content/expiration@OSIYDYPGz8Vgo9SU9GGH9.md | 9 ++++++++- .../redis/content/expire@nS0DHhfy4wxHItgOFhulA.md | 8 ++++++++ .../redis/content/expr@nS0DHhfy4wxHItgOFhulA.md | 1 - .../redis/content/geoadd@U3N1EgHFs1-YUaB_VrJfw.md | 8 +++++++- .../content/geosearch@OWWDLuGTbdNwME7v2jxVP.md | 9 ++++++++- .../geospatial-indexes@_NiUdVQ85qnvryI38k_vQ.md | 4 +++- .../redis/content/get@mQc4H2ZMMSVjh33LJY8mK.md | 9 ++++++++- .../redis/content/getbit@0HFLJfcrcSnAVTecG3P8W.md | 8 +++++++- .../redis/content/hashes@wY46Qj5Inw_ClBNI9PB_2.md | 8 +++++++- .../redis/content/hdel@E7xFZkqqbzokD5KGTn9zJ.md | 8 +++++++- .../redis/content/hexists@adhLMuSmfYMRyWTwIgnyE.md | 8 +++++++- .../redis/content/hget@MsKg9m5jFwHM2Bzjf-vdu.md | 8 +++++++- .../redis/content/hgetall@TpR33sJ-tAjeG3jpGTvYR.md | 8 +++++++- ...rmance-and-scalability@5-3pd4rLDqRzMzSRVLdXh.md | 8 +++++++- .../content/how-aof-works@PTj6oxvpw8vP295WvAI80.md | 8 +++++++- .../content/how-rdb-works@D3pZdAjwPFMRxX1-iyu5-.md | 8 +++++++- .../redis/content/hset@BOJzn9SWad9oRRdY_ub01.md | 8 +++++++- .../hybrid-persistence@S5Y26m1oHCQpB-oLCdtac.md | 8 +++++++- .../content/hyperloglog@cszjT3YK8oyhGpqLTQzwX.md | 9 ++++++++- .../redis/content/incr@5K9qyC4mrhXYWOC8WSq8C.md | 8 +++++++- .../redis/content/info@q2Jw49QUWCUGIfcEC1bZI.md | 8 +++++++- ...derboards-and-counters@Fv1iGX22sApIEifM2IpJz.md | 9 ++++++++- .../redis/content/lindex@hBFEUXtuzUTzWZKp2qWaZ.md | 8 +++++++- .../redis/content/lists@4-C4XqACUp4nvcMIj6djF.md | 9 ++++++++- .../redis/content/llen@4oCcP9FxDJSDMHCEVBCNa.md | 8 +++++++- .../redis/content/lmove@9KvHcS5F4Jj5ZXgIAdOQY.md | 8 +++++++- .../redis/content/lpop@voa61RTWMJD3Sk8DNJoVQ.md | 8 +++++++- .../redis/content/lpush@Kq7G89KaZZMFkrH-9WZoS.md | 8 +++++++- .../redis/content/lrange@8JTtBy6oD2wFYDizVkcVa.md | 8 +++++++- .../content/lua-scripting@Veb30QrPYNjUn13dtGbUr.md | 10 +++++++++- .../max-memory-policy@Sd1ENOXSFCz1YqccXjr2A.md | 7 ++++++- .../memory-management@xF0wQYmtwXYkrzvWg5gOO.md | 10 +++++++++- .../message-broker@mgGJTBU8ofvOzl9gYWhnG.md | 10 +++++++++- .../redis/content/monitor@jBtEiylcedtaE6E20Uk4V.md | 9 ++++++++- .../content/monitoring@2p5RF4lVYfRvYTo1Ofm-a.md | 9 ++++++++- .../content/more-commands@0v8uLWRCbAqEmKKdYaRQW.md | 8 +++++++- .../content/more-commands@4-z4hDKm86qQatYnmE21R.md | 8 +++++++- .../content/more-commands@FCbdKnkI1ZHGekT6yiGua.md | 8 +++++++- .../content/more-commands@P6TDUCroLlEI7qePBFHIH.md | 8 +++++++- .../content/more-commands@V-d6q-3Sf0dl5v8xiCQwl.md | 8 +++++++- .../content/more-commands@b48EUyFGUeSjtT5fOa_m6.md | 8 +++++++- .../content/more-commands@eBeEUYY-IL_CMkcm31lUL.md | 8 +++++++- .../content/more-commands@o6e_CwxfPoU6qkfWkwKwj.md | 8 +++++++- .../redis/content/multi@U6hST1MkS16T2CHV3-Ise.md | 8 +++++++- .../naming-conventions@jCaVx5wvsvuyqtwh6m8si.md | 4 +++- .../network-security@wsuKH7YwGDV6GYQbdhA4o.md | 9 ++++++++- .../no-persistence-option@80035BzcB-fKCvD_3N8zE.md | 8 +++++++- .../optimistic-locking@msW0Wd2H-6FFNDnjC64t-.md | 10 +++++++++- ...overview-of-data-types@U84XgBFPyIbY0W5afH4cx.md | 9 ++++++++- .../persistence-options@bQaek7f3dAaZfSUhwovm1.md | 9 ++++++++- .../redis/content/pfadd@8a4DmPZrX2xGZ7zdWxS63.md | 8 +++++++- .../redis/content/pfcount@JWT30KIJQHVw0MXI5sGR6.md | 8 +++++++- .../redis/content/pfmerge@s50jr_XOUcxh65-tGCKf5.md | 8 +++++++- .../content/pipelining@LHlwjN3WHYUBUafzzwsWQ.md | 9 ++++++++- .../pre-compiled-binaries@yBZ79s6mzGdj5AnX2H_Hy.md | 9 ++++++++- .../redis/content/publish@gIPo-2CNqE1BsOaDzmkCU.md | 8 +++++++- .../pubsub-messaging@ZCyId3aIoLv3duxoJdk2P.md | 11 ++++++++++- .../redis/content/pubsub@9W_jaK1DSEZHRKdPcUM7h.md | 8 +++++++- .../rdb-vs-aof-tradeoffs@3S-qqOlfr60HR4VvDr4He.md | 14 +++++++++++++- .../real-time-analytics@bVJASI7bfSYqYnNhX83ng.md | 8 +++++++- .../redis-benchmark@kgHwK4N-sfh6dHjd_D_me.md | 9 ++++++++- .../redis-enterprise@8lyXDuZJ-KHl4v2_8Ew1h.md | 4 +++- .../content/redis-modules@hLIT00Iz7rV56ZBIUhWYn.md | 12 +++++++++++- .../redis-on-flash@sWOFnbh2EyaHRzquz1UeF.md | 9 ++++++++- .../redis-sentinel@nci3OB1NE1zJHUPfZCOpT.md | 8 +++++++- .../redis-vs-sqlnosql-dbs@EvWiEx_AoxAht6sKxzW2l.md | 9 ++++++++- .../content/redisbloom@GwVL5CvbnHsiWb1hVh7lK.md | 9 ++++++++- .../rediscommander@y5FPSAi6T-5X9SUfR58_-.md | 8 +++++++- .../content/redisconf@giyKPtQ-pziA064P8OQD-.md | 9 ++++++++- .../content/redisinsight@XBPwHgIsXupMsyoOFkJZ0.md | 9 ++++++++- .../content/redisjson@jicsfYw56VrbRUt7M8c85.md | 9 ++++++++- .../redistimeseries@RBr8opWSh2TKXC8Fmdg0j.md | 9 ++++++++- .../replication-basics@rSD8nJ-uNpHJVe5Hn66h7.md | 8 +++++++- .../retrieval-by-pattern@UlQHqw1dbxZnAKbsWsOgU.md | 8 +++++++- .../rich-data-structures@uVewcyaFi1Pt2Gs0KrkfA.md | 9 ++++++++- .../redis/content/rpop@brUGqWZ287EWtvl9uUbNt.md | 8 +++++++- .../redis/content/rpush@jC8G1o7yFj7D_PGmOIgcD.md | 8 +++++++- .../redis/content/sadd@xUKoQps69FFQrJeuhD1pz.md | 8 +++++++- .../redis/content/scard@2gZL4a9aWGKWLa89iyHTc.md | 8 +++++++- .../redis/content/sdiff@JX5ajmcUmkshTO-mLF8lH.md | 8 +++++++- .../redis/content/search@_GdTXcJO8uJlhPdfrmeXG.md | 9 ++++++++- ...ecurity-and-compliance@ujs77bV8g8-FOm5hBtZFd.md | 10 +++++++++- .../session-management@URxGmhZHr0Y8nyrYj0gJl.md | 9 ++++++++- .../redis/content/set@ltF4vCT9ZA2XuUuHnuGnN.md | 8 +++++++- .../redis/content/setbit@B-YUFhPQNdr1KZNupmR5N.md | 8 +++++++- .../redis/content/sets@Qgkpr9vf9d6-vUg1o8XFj.md | 8 +++++++- ...tting-and-getting-keys@DOdNkTY1yIMipWA2CD9xH.md | 7 +++++++ ...tings-and-getting-keys@DOdNkTY1yIMipWA2CD9xH.md | 1 - .../redis/content/sinter@5aLfNBewK4Dx017qVNO3T.md | 8 +++++++- .../content/sismember@Ji5ghlcGJtlmErHFqVf3d.md | 8 +++++++- .../slow-log-analysis@yaCWw2KjX58SaPajUAb0d.md | 9 ++++++++- .../content/smembers@mQ0ILns53n1By0Tq6xSZI.md | 8 +++++++- .../content/sorted-sets@QTbkWZ7BpqYmBhUivccPu.md | 4 +++- .../redis/content/srem@WQWVL5GT_scHdgfCtI7WT.md | 8 +++++++- .../ssltls-encryption@gdiWwTQg6A-BFHdQBmgmH.md | 9 ++++++++- .../starting-the-server@43LvShQhmoWQ8Nye7fLkz.md | 10 +++++++++- .../redis/content/streams@zXs_9n2yEb_eVi0WuOQKH.md | 4 +++- .../redis/content/strings@Wl23Jh-ASJOQ850yjaTIU.md | 4 +++- .../redis/content/strlen@eJQW986HM4Wf1o1i2FnXs.md | 8 +++++++- .../content/subscribe@55BCntuWlaQiLPqNtb-2i.md | 8 +++++++- .../redis/content/sunion@6QoYa-N2BKNBaRtvNeVNm.md | 8 +++++++- .../content/transactions@YHbWlKrQqptUDbaQVy0_A.md | 12 +++++++++++- ...truncation--corruption@9ToKTUqbi-NV5Wcwb21PT.md | 10 +++++++++- .../redis/content/ttl@Vll7VMmGWSI5XGZ9JpHyl.md | 8 +++++++- .../content/unsubscribe@5gkZzm2F4vu6IxUoJLYbK.md | 8 +++++++- .../upgrading-redis@Cb-KazR4PuR86VX5oT0zi.md | 9 ++++++++- .../content/using-docker@TDxv0q7jlZ26uZYYlneem.md | 9 ++++++++- ...using-package-managers@Bf_kLfmy7_uflqC9N0-jt.md | 10 +++++++++- .../redis/content/watch@c-y5Eck8VtSyIf8RAW9p7.md | 8 +++++++- .../when-to-choose-redis@1Af5H0BgdAsRdBCNdHz5v.md | 9 ++++++++- ...to-consider-enterprise@JlLwy69eQ1bPHAOOJNqjo.md | 9 ++++++++- .../redis/content/xadd@7isWhgrUA6M5IGM2U2tm4.md | 8 +++++++- .../redis/content/xlen@DQJCMEw13lELcw_AwLfrT.md | 8 +++++++- .../redis/content/xrange@CiYFuYE8XudZkR6AW2NQ7.md | 8 +++++++- .../redis/content/xread@4sKiAtX5aIL4NDsQkilNC.md | 8 +++++++- .../redis/content/zadd@0swsBD0sOY-o5lzibT999.md | 8 +++++++- .../redis/content/zcount@O-fZM_U-tW0pYtNzN_8Ax.md | 8 +++++++- .../redis/content/zincrby@W4v7FIQr2k-Vbm-HdfKog.md | 8 +++++++- .../redis/content/zrange@3pFChX6YIItrBz9lxu4XM.md | 8 +++++++- .../content/zrangebyscore@OlbixGa5RmdqEt7snY04j.md | 8 +++++++- .../redis/content/zrank@AF_kWM4V8n5Ux06IgEVTl.md | 8 +++++++- .../redis/content/zrem@m0FZDPwNE71zcwM_gUwz0.md | 8 +++++++- src/data/roadmaps/redis/redis.json | 2 +- 137 files changed, 987 insertions(+), 135 deletions(-) create mode 100644 src/data/roadmaps/redis/content/expire@nS0DHhfy4wxHItgOFhulA.md delete mode 100644 src/data/roadmaps/redis/content/expr@nS0DHhfy4wxHItgOFhulA.md create mode 100644 src/data/roadmaps/redis/content/setting-and-getting-keys@DOdNkTY1yIMipWA2CD9xH.md delete mode 100644 src/data/roadmaps/redis/content/settings-and-getting-keys@DOdNkTY1yIMipWA2CD9xH.md diff --git a/src/data/roadmaps/redis/content/bitop@tkrxArg_oYH0aQfM8NkD2.md b/src/data/roadmaps/redis/content/bitop@tkrxArg_oYH0aQfM8NkD2.md index 045b431ad..4e9151134 100644 --- a/src/data/roadmaps/redis/content/bitop@tkrxArg_oYH0aQfM8NkD2.md +++ b/src/data/roadmaps/redis/content/bitop@tkrxArg_oYH0aQfM8NkD2.md @@ -1 +1,8 @@ -# BITOP \ No newline at end of file +# BITOP + +The `BITOP` command in Redis performs bitwise operations (AND, OR, XOR, and NOT) across one or more string keys, treating the strings as binary data. The result is stored in a destination key. This command is useful for manipulating and analyzing binary data directly in Redis, such as when aggregating flags or working with bitmap data structures. + +Learn more from the following resources: + +- [@official@BITOP Documentation](https://redis.io/docs/latest/commands/bitop/) +- [@article@BITOP Explained](https://www.dragonflydb.io/docs/command-reference/strings/bitop) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/bitpos@Df1Eu7CuA-ARYii9JVvnm.md b/src/data/roadmaps/redis/content/bitpos@Df1Eu7CuA-ARYii9JVvnm.md index 60d93501a..1316d5572 100644 --- a/src/data/roadmaps/redis/content/bitpos@Df1Eu7CuA-ARYii9JVvnm.md +++ b/src/data/roadmaps/redis/content/bitpos@Df1Eu7CuA-ARYii9JVvnm.md @@ -1 +1,8 @@ -# BITPOS \ No newline at end of file +# BITPOS + +The `BITPOS` command in Redis is used to find the position of the first bit set to 1 or 0 in a string key. You can specify a starting and ending byte range for the search. It’s commonly used in scenarios where you need to quickly locate specific bits within a bitmap, such as finding the first occurrence of a flag or status in large datasets. + +Learn more from the following resources: + +- [@official@BITPOS Documentation](https://redis.io/docs/latest/commands/bitpos/) +- [@article@BITPOS](https://upstash.com/docs/redis/sdks/py/commands/bitmap/bitpos) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/cache@eHuBz_zSZK3rubn7nkd7g.md b/src/data/roadmaps/redis/content/cache@eHuBz_zSZK3rubn7nkd7g.md index 63061a029..10c47e099 100644 --- a/src/data/roadmaps/redis/content/cache@eHuBz_zSZK3rubn7nkd7g.md +++ b/src/data/roadmaps/redis/content/cache@eHuBz_zSZK3rubn7nkd7g.md @@ -1 +1,8 @@ -# Cache \ No newline at end of file +# Cache + +Redis cache is an in-memory key-value store used to cache frequently accessed data to improve application performance. By storing data in memory rather than on disk, Redis significantly reduces data access latency, making it ideal for use cases such as session management, caching database query results, and storing temporary data. Its ability to handle high throughput and support data persistence options allows it to be used as both a short-term cache and a durable data store. + +Learn more from the following resources: + +- [@official@Redis Caching](https://redis.io/solutions/caching/) +- [@video@How to use Redis Caching for incredible performance](https://www.youtube.com/watch?v=-5RTyEim384) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/caching@-TjnSOY8txYrhhxRV1OIl.md b/src/data/roadmaps/redis/content/caching@-TjnSOY8txYrhhxRV1OIl.md index 07f88797a..0320b197e 100644 --- a/src/data/roadmaps/redis/content/caching@-TjnSOY8txYrhhxRV1OIl.md +++ b/src/data/roadmaps/redis/content/caching@-TjnSOY8txYrhhxRV1OIl.md @@ -1 +1,8 @@ -# Caching \ No newline at end of file +# Caching + +Redis cache is an in-memory key-value store used to cache frequently accessed data to improve application performance. By storing data in memory rather than on disk, Redis significantly reduces data access latency, making it ideal for use cases such as session management, caching database query results, and storing temporary data. Its ability to handle high throughput and support data persistence options allows it to be used as both a short-term cache and a durable data store. + +Learn more from the following resources: + +- [@official@Redis Caching](https://redis.io/solutions/caching/) +- [@video@How to use Redis Caching for incredible performance](https://www.youtube.com/watch?v=-5RTyEim384) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/clustering@AQiCcHS6dBAAAPloxiXub.md b/src/data/roadmaps/redis/content/clustering@AQiCcHS6dBAAAPloxiXub.md index 9c8218477..d661c3f00 100644 --- a/src/data/roadmaps/redis/content/clustering@AQiCcHS6dBAAAPloxiXub.md +++ b/src/data/roadmaps/redis/content/clustering@AQiCcHS6dBAAAPloxiXub.md @@ -1 +1,8 @@ -# Clustering \ No newline at end of file +# Clustering + +Redis Cluster is a distributed implementation of Redis that provides automatic data partitioning across multiple nodes and ensures high availability through data replication. It uses a sharding mechanism to split data across nodes using a hash slot system, where each key is mapped to one of 16,384 slots distributed among the cluster's nodes. Redis Cluster offers fault tolerance by replicating data across master and replica nodes, enabling the cluster to continue operating even if some nodes fail. This setup is ideal for large-scale applications requiring scalability and resilience. + +Learn more from the following resources: + +- [@official@Scale with Redis Cluster](https://redis.io/docs/latest/operate/oss_and_stack/management/scaling/) +- [@video@How to Create a Cluster in Redis](https://www.youtube.com/watch?v=N8BkmdZzxDg) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/configuring-save-interval@_pb2DPrFUUZabKxWsuFUo.md b/src/data/roadmaps/redis/content/configuring-save-interval@_pb2DPrFUUZabKxWsuFUo.md index 29c1a43fe..f9e75893b 100644 --- a/src/data/roadmaps/redis/content/configuring-save-interval@_pb2DPrFUUZabKxWsuFUo.md +++ b/src/data/roadmaps/redis/content/configuring-save-interval@_pb2DPrFUUZabKxWsuFUo.md @@ -1 +1,8 @@ -# Configuring Save Interval \ No newline at end of file +# Configuring Save Interval + +Configuring the save interval in Redis controls how often data is saved from memory to disk (RDB snapshots). This is done using the `save` directive in the `redis.conf` file. You can specify multiple save intervals with different thresholds, for example: `save 900 1` saves the dataset if at least one key is changed within 900 seconds. Redis allows configuring multiple save intervals, offering flexibility between performance and data durability based on your use case. + +Learn more from the following resources: + +- [@official@Redis Persistence](https://redis.io/docs/latest/operate/oss_and_stack/management/persistence/) +- [@video@Understanding Redis Persistence](https://www.youtube.com/watch?v=1pfvz24BAUs) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/connecting-using-redis-cli@BOGXTjmCLo6WI6mYDsqRu.md b/src/data/roadmaps/redis/content/connecting-using-redis-cli@BOGXTjmCLo6WI6mYDsqRu.md index b889d97e7..d730a8683 100644 --- a/src/data/roadmaps/redis/content/connecting-using-redis-cli@BOGXTjmCLo6WI6mYDsqRu.md +++ b/src/data/roadmaps/redis/content/connecting-using-redis-cli@BOGXTjmCLo6WI6mYDsqRu.md @@ -1 +1,8 @@ -# Connecting using Redis CLI \ No newline at end of file +# Connecting using Redis CLI + +The Redis CLI (`redis-cli`) is a command-line interface used to interact with a Redis server. It allows users to run Redis commands, monitor the server, manage data, and perform administrative tasks. Common operations include setting and getting keys, managing key expiration, and checking server status. The CLI supports running commands in both interactive mode and non-interactive mode for scripting and automation. It’s a powerful tool for developers and administrators to troubleshoot and manage Redis instances directly. + +Learn more from the following resources: + +- [@official@Redis CLI Documentation](https://redis.io/docs/latest/develop/connect/cli/) +- [@video@The Command Line Tool: redis-cli](https://www.youtube.com/watch?v=VenGyryG4OE) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/data-persistence-options@8uRpPJ0iD4XnQPKruQc8P.md b/src/data/roadmaps/redis/content/data-persistence-options@8uRpPJ0iD4XnQPKruQc8P.md index e146105b7..53e5a33f1 100644 --- a/src/data/roadmaps/redis/content/data-persistence-options@8uRpPJ0iD4XnQPKruQc8P.md +++ b/src/data/roadmaps/redis/content/data-persistence-options@8uRpPJ0iD4XnQPKruQc8P.md @@ -1 +1,3 @@ -# Data Persistence Options \ No newline at end of file +# Data Persistence Options + +Redis offers two main data persistence options: **RDB (Redis Database)** snapshots and **AOF (Append-Only File)**. RDB creates point-in-time snapshots of the dataset at specified intervals, making it suitable for infrequent backups but with potential data loss between snapshots. AOF logs every write operation and replays them on restart, providing more durable persistence with finer control over data recovery. You can also configure Redis to use both methods for a balance between fast recovery and minimal data loss. Additionally, Redis supports running in memory-only mode without persistence. \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/decr@t4BXPofF8OCqH5KHwdYVh.md b/src/data/roadmaps/redis/content/decr@t4BXPofF8OCqH5KHwdYVh.md index f52357f88..ad950f2ea 100644 --- a/src/data/roadmaps/redis/content/decr@t4BXPofF8OCqH5KHwdYVh.md +++ b/src/data/roadmaps/redis/content/decr@t4BXPofF8OCqH5KHwdYVh.md @@ -1 +1,8 @@ -# DECR \ No newline at end of file +# DECR + +The `DECR` command in Redis decreases the integer value of a key by 1. If the key does not exist, it is initialized to 0 before performing the decrement. If the key contains a value that is not an integer, Redis returns an error. This command is useful in counters and for tracking state changes in a simple, atomic way. + +Learn more from the following resources: + +- [@official@DECR Documentation](https://redis.io/docs/latest/commands/decr/) +- [@article@Redis String DECR](https://www.w3resource.com/redis/redis-decr-key.php) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/del@lV_MnUNTB2h925idX0YWk.md b/src/data/roadmaps/redis/content/del@lV_MnUNTB2h925idX0YWk.md index 8b0bafcdc..32d3e6d48 100644 --- a/src/data/roadmaps/redis/content/del@lV_MnUNTB2h925idX0YWk.md +++ b/src/data/roadmaps/redis/content/del@lV_MnUNTB2h925idX0YWk.md @@ -1 +1,8 @@ -# DEL \ No newline at end of file +# DEL + +The `DEL` command in Redis is used to delete one or more keys from the database. If the specified key(s) exist, they are removed, and the command returns the number of keys that were deleted. If a key does not exist, it is simply ignored, and no error is returned. This command is useful for managing memory by removing unnecessary or obsolete data and is an atomic operation, ensuring that keys are deleted without interference from other operations. + +Learn more from the following resources: + +- [@official@DEL Documentation](https://redis.io/docs/latest/commands/del/) +- [@article@Redis DEL Command](https://www.tutorialspoint.com/redis/keys_del.htm) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/disaster-recovery@nUIfTkgm3PlSiqgun1BS7.md b/src/data/roadmaps/redis/content/disaster-recovery@nUIfTkgm3PlSiqgun1BS7.md index 52125dc3e..7bcd44172 100644 --- a/src/data/roadmaps/redis/content/disaster-recovery@nUIfTkgm3PlSiqgun1BS7.md +++ b/src/data/roadmaps/redis/content/disaster-recovery@nUIfTkgm3PlSiqgun1BS7.md @@ -1 +1,8 @@ -# Disaster Recovery \ No newline at end of file +# Disaster Recovery + +Disaster recovery in Redis involves strategies and practices to ensure data availability and integrity in the event of failures, such as server crashes, data corruption, or network issues. Key approaches include leveraging Redis's built-in replication, where data is copied from master to replica nodes for redundancy. Snapshots (RDB) and append-only file (AOF) persistence methods can be configured for data recovery, allowing the restoration of data to a recent state. Additionally, implementing a Redis Cluster can provide automated failover capabilities, distributing data across multiple nodes to minimize downtime and ensure business continuity. Regular backups and monitoring are also essential components of a robust disaster recovery plan. + +Learn more from the following resources: + +- [@official@Backup Disaster Recovery](https://redis.io/redis-enterprise/technology/backup-disaster-recovery/) +- [@article@Disaster Recovery for Redis in the Cloud](https://www.alibabacloud.com/tech-news/a/redis/gtu8u2afbc-disaster-recovery-for-redis-in-the-cloud-strategies-and-best-practices) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/eval@rjeq3i9oX8IGyQzo--L3c.md b/src/data/roadmaps/redis/content/eval@rjeq3i9oX8IGyQzo--L3c.md index 116148a3d..84968e571 100644 --- a/src/data/roadmaps/redis/content/eval@rjeq3i9oX8IGyQzo--L3c.md +++ b/src/data/roadmaps/redis/content/eval@rjeq3i9oX8IGyQzo--L3c.md @@ -1 +1,8 @@ -# EVAL \ No newline at end of file +# EVAL + +The `EVAL` command in Redis allows the execution of Lua scripts directly on the server, enabling complex operations that can be atomically executed. This command takes a Lua script as an argument, along with a list of keys and arguments for the script. By executing scripts server-side, `EVAL` reduces the number of round trips between the client and server, enhances performance, and allows for operations that require multiple commands to be executed in a single atomic operation. It is particularly useful for implementing advanced data manipulations, custom logic, or conditional operations within Redis. + +Learn more from the following resources: + +- [@official@EVAL Documentation](https://redis.io/docs/latest/commands/eval/) +- [@article@Redis EVAL Command](https://www.tutorialspoint.com/redis/scripting_eval.htm) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/evalsha@3X0x_PcJGWBVPL-LSVAln.md b/src/data/roadmaps/redis/content/evalsha@3X0x_PcJGWBVPL-LSVAln.md index a115944b7..7a4987838 100644 --- a/src/data/roadmaps/redis/content/evalsha@3X0x_PcJGWBVPL-LSVAln.md +++ b/src/data/roadmaps/redis/content/evalsha@3X0x_PcJGWBVPL-LSVAln.md @@ -1 +1,8 @@ -# EVALSHA \ No newline at end of file +# EVALSHA + +The `EVALSHA` command in Redis is used to execute a Lua script that has already been loaded into the server with the `SCRIPT LOAD` command. Instead of sending the entire script each time, you provide the SHA1 hash of the script, which allows for more efficient execution and reduced network overhead. Like `EVAL`, `EVALSHA` can accept keys and arguments, enabling complex, atomic operations to be performed directly on the server. This approach is particularly beneficial in scenarios where the same script is executed multiple times, as it avoids the need to re-transmit the script’s source code. + +Learn more from the following resources: + +- [@official@EVALSHA Documentation](https://redis.io/docs/latest/commands/evalsha/) +- [@article@Redis EVALSHA Command](https://www.tutorialspoint.com/redis/scripting_evalsha.htm) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/exec@Ljy-Mc0EBBX4_vXfYZ5-4.md b/src/data/roadmaps/redis/content/exec@Ljy-Mc0EBBX4_vXfYZ5-4.md index c028ee9b2..84f26b0e7 100644 --- a/src/data/roadmaps/redis/content/exec@Ljy-Mc0EBBX4_vXfYZ5-4.md +++ b/src/data/roadmaps/redis/content/exec@Ljy-Mc0EBBX4_vXfYZ5-4.md @@ -1 +1,8 @@ -# EXEC \ No newline at end of file +# EXEC + +The `EXEC` command in Redis is used to execute a transaction that has been initiated with the `MULTI` command. When a transaction is started with `MULTI`, subsequent commands are queued but not executed immediately. Calling `EXEC` will execute all the commands in the transaction atomically, ensuring that either all commands succeed or none are applied. If any command in the transaction fails, the entire transaction is aborted. This command is essential for maintaining data integrity when performing a series of operations that should be treated as a single unit of work. + +Learn more from the following resources: + +- [@official@](https://redis.io/docs/latest/commands/eval/) +- [@article@Redis Transactions: EXEC](https://www.w3resource.com/redis/redis-exec.php) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/expiration@OSIYDYPGz8Vgo9SU9GGH9.md b/src/data/roadmaps/redis/content/expiration@OSIYDYPGz8Vgo9SU9GGH9.md index b334cf55b..c8e218281 100644 --- a/src/data/roadmaps/redis/content/expiration@OSIYDYPGz8Vgo9SU9GGH9.md +++ b/src/data/roadmaps/redis/content/expiration@OSIYDYPGz8Vgo9SU9GGH9.md @@ -1 +1,8 @@ -# Expiration \ No newline at end of file +# Expiration + +Redis key expiration allows you to set a time-to-live (TTL) for keys, automatically deleting them after a specified duration. This can be achieved using commands like `EXPIRE`, which sets the expiration time in seconds, or `PEXPIRE`, which uses milliseconds for finer granularity. You can also use `SET` with the EX argument to set a key with a value and expiration in a single command. Expired keys are removed during normal operations, such as when accessed or during periodic cleanup. This feature is useful for managing memory efficiently and for scenarios like session management or caching where temporary data storage is needed. + +Learn more from the following resources: + +- [@official@PEXPIRE Documentation](https://redis.io/docs/latest/commands/pexpire/) +- [@official@EXPIRE Documentation](https://redis.io/docs/latest/commands/expire/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/expire@nS0DHhfy4wxHItgOFhulA.md b/src/data/roadmaps/redis/content/expire@nS0DHhfy4wxHItgOFhulA.md new file mode 100644 index 000000000..fb6511947 --- /dev/null +++ b/src/data/roadmaps/redis/content/expire@nS0DHhfy4wxHItgOFhulA.md @@ -0,0 +1,8 @@ +# EXPIRE + +The EXPIRE command is used to set a time-to-live (TTL) for a key in seconds, after which the key will be automatically deleted. If you need to specify the expiration time in milliseconds, you can use the PEXPIRE command. Both commands help manage memory by allowing you to automatically remove keys that are no longer needed, which is especially useful in caching and session management scenarios. + +Learn more from the following resources: + +- [@official@Expiring Keys](https://redis.io/ebook/part-2-core-concepts/chapter-3-commands-in-redis/3-7-other-commands/3-7-3-expiring-keys/) +- [@official@EXPIRE Documentation](https://redis.io/docs/latest/commands/expire/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/expr@nS0DHhfy4wxHItgOFhulA.md b/src/data/roadmaps/redis/content/expr@nS0DHhfy4wxHItgOFhulA.md deleted file mode 100644 index fb70bcbfd..000000000 --- a/src/data/roadmaps/redis/content/expr@nS0DHhfy4wxHItgOFhulA.md +++ /dev/null @@ -1 +0,0 @@ -# EXPR \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/geoadd@U3N1EgHFs1-YUaB_VrJfw.md b/src/data/roadmaps/redis/content/geoadd@U3N1EgHFs1-YUaB_VrJfw.md index 26ee5ae08..199125b7c 100644 --- a/src/data/roadmaps/redis/content/geoadd@U3N1EgHFs1-YUaB_VrJfw.md +++ b/src/data/roadmaps/redis/content/geoadd@U3N1EgHFs1-YUaB_VrJfw.md @@ -1 +1,7 @@ -# GEOADD \ No newline at end of file +# GEOADD + +The `GEOADD` command in Redis is used to add geospatial data to a sorted set, where each entry consists of a member (a unique identifier) and its corresponding longitude and latitude coordinates. This command allows you to store location-based data efficiently, enabling geospatial queries such as finding members within a specified radius or calculating distances between points. The coordinates are stored in a format that allows for quick retrieval and analysis, making `GEOADD` a powerful tool for applications involving mapping, location tracking, and proximity searches. + +Learn more from the following resources: + +- [@official@GEOADD Documentation](https://redis.io/docs/latest/commands/geoadd/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/geosearch@OWWDLuGTbdNwME7v2jxVP.md b/src/data/roadmaps/redis/content/geosearch@OWWDLuGTbdNwME7v2jxVP.md index d6ef3125a..d83b70891 100644 --- a/src/data/roadmaps/redis/content/geosearch@OWWDLuGTbdNwME7v2jxVP.md +++ b/src/data/roadmaps/redis/content/geosearch@OWWDLuGTbdNwME7v2jxVP.md @@ -1 +1,8 @@ -# GEOSEARCH \ No newline at end of file +# GEOSEARCH + +The `GEOSEARCH` command in Redis is used to query geospatial data by finding members within a specified geographic area. It allows you to search for entries based on a central point (latitude and longitude) and a defined radius, or by bounding box coordinates. The command returns a sorted set of members that fall within the specified geographical range, making it ideal for applications that require proximity searches, such as locating nearby businesses or services. `GEOSEARCH` can also be combined with various options, such as sorting results by distance or limiting the number of results returned. + +Learn more from the following resources: + +- [@official@GEOADD Documentation](https://redis.io/docs/latest/commands/geoadd/) +- [@article@Getting Started with Geospatial Search in Redis](https://redis.io/learn/howtos/solutions/geo/getting-started) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/geospatial-indexes@_NiUdVQ85qnvryI38k_vQ.md b/src/data/roadmaps/redis/content/geospatial-indexes@_NiUdVQ85qnvryI38k_vQ.md index 3cbc69d7e..c91287e12 100644 --- a/src/data/roadmaps/redis/content/geospatial-indexes@_NiUdVQ85qnvryI38k_vQ.md +++ b/src/data/roadmaps/redis/content/geospatial-indexes@_NiUdVQ85qnvryI38k_vQ.md @@ -1 +1,3 @@ -# Geospatial Indexes \ No newline at end of file +# Geospatial Indexes + +Geospatial indexes in Redis are used to efficiently store and query location-based data, enabling fast geospatial operations. Redis uses a sorted set data structure to maintain these indexes, where each member represents a geographic location identified by longitude and latitude coordinates. The coordinates are encoded into a single value, allowing Redis to perform operations like adding locations (`GEOADD`), searching for nearby locations (`GEOSEARCH`), and calculating distances (`GEODIST`). This indexing mechanism allows for rapid retrieval of geospatial data, making it suitable for applications such as mapping services, location tracking, and proximity-based searches. diff --git a/src/data/roadmaps/redis/content/get@mQc4H2ZMMSVjh33LJY8mK.md b/src/data/roadmaps/redis/content/get@mQc4H2ZMMSVjh33LJY8mK.md index b01fbae2a..baa938d33 100644 --- a/src/data/roadmaps/redis/content/get@mQc4H2ZMMSVjh33LJY8mK.md +++ b/src/data/roadmaps/redis/content/get@mQc4H2ZMMSVjh33LJY8mK.md @@ -1 +1,8 @@ -# GET \ No newline at end of file +# GET + +The `GET` command in Redis is used to retrieve the value associated with a specified key. If the key exists, it returns the value as a string; if the key does not exist, it returns a nil response. This command is fundamental for accessing stored data in Redis and is often used in conjunction with other commands to manipulate and manage data within the database. The `GET` command is atomic, meaning it provides a consistent view of the data at the time the command is executed. + +Learn more from the following resources: + +- [@official@GET Documentation](https://redis.io/docs/latest/commands/get/) +- [@article@How to get all keys in Redis](https://www.atlassian.com/data/admin/how-to-get-all-keys-in-redis) diff --git a/src/data/roadmaps/redis/content/getbit@0HFLJfcrcSnAVTecG3P8W.md b/src/data/roadmaps/redis/content/getbit@0HFLJfcrcSnAVTecG3P8W.md index 789dbb257..48c1eb682 100644 --- a/src/data/roadmaps/redis/content/getbit@0HFLJfcrcSnAVTecG3P8W.md +++ b/src/data/roadmaps/redis/content/getbit@0HFLJfcrcSnAVTecG3P8W.md @@ -1 +1,7 @@ -# GETBIT \ No newline at end of file +# GETBIT + +The `GETBIT` command in Redis retrieves the value of a specific bit at a given offset in a string key. It returns either 0 or 1, depending on the state of the bit at that position. If the key does not exist, the command returns 0, as it treats non-existing keys as empty strings. This command is particularly useful for working with bitmap data structures, allowing you to check the status of individual bits in a more efficient manner compared to retrieving the entire string. + +Learn more from the following resources: + +- [@official@GETBIT Documentation](https://redis.io/docs/latest/commands/getbit/) diff --git a/src/data/roadmaps/redis/content/hashes@wY46Qj5Inw_ClBNI9PB_2.md b/src/data/roadmaps/redis/content/hashes@wY46Qj5Inw_ClBNI9PB_2.md index fa0d624ba..3e4d2c57b 100644 --- a/src/data/roadmaps/redis/content/hashes@wY46Qj5Inw_ClBNI9PB_2.md +++ b/src/data/roadmaps/redis/content/hashes@wY46Qj5Inw_ClBNI9PB_2.md @@ -1 +1,7 @@ -# Hashes \ No newline at end of file +# Hashes + +Hashes in Redis are a data type that allows you to store a collection of key-value pairs under a single key, similar to a dictionary or a map. Each hash can hold multiple fields, and each field has its own value, making hashes ideal for representing objects or entities with various attributes. You can perform operations like adding fields (`HSET`), retrieving field values (`HGET`), deleting fields (`HDEL`), and iterating over fields (`HSCAN`). Hashes are memory-efficient and provide a way to group related data together, making them suitable for use cases like user profiles, configuration settings, or any structured data storage. + +Learn more from the following resources: + +- [@official@Redis Hashes](https://redis.io/docs/latest/develop/data-types/hashes/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/hdel@E7xFZkqqbzokD5KGTn9zJ.md b/src/data/roadmaps/redis/content/hdel@E7xFZkqqbzokD5KGTn9zJ.md index 24ea12fa1..3af4d5178 100644 --- a/src/data/roadmaps/redis/content/hdel@E7xFZkqqbzokD5KGTn9zJ.md +++ b/src/data/roadmaps/redis/content/hdel@E7xFZkqqbzokD5KGTn9zJ.md @@ -1 +1,7 @@ -# HDEL \ No newline at end of file +# HDEL + +`HDEL` is a Redis command used to delete one or more specified fields from a hash. If the fields exist in the hash, they are removed, and the command returns the number of fields that were deleted. If a specified field does not exist, it is ignored. `HDEL` is useful for efficiently managing memory and cleaning up data within a Redis hash without removing the entire hash structure. + +Learn more from the following resources: + +- [@official@HDEL Documentation](https://redis.io/docs/latest/commands/hdel/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/hexists@adhLMuSmfYMRyWTwIgnyE.md b/src/data/roadmaps/redis/content/hexists@adhLMuSmfYMRyWTwIgnyE.md index 31ab1221d..f239c3217 100644 --- a/src/data/roadmaps/redis/content/hexists@adhLMuSmfYMRyWTwIgnyE.md +++ b/src/data/roadmaps/redis/content/hexists@adhLMuSmfYMRyWTwIgnyE.md @@ -1 +1,7 @@ -# HEXISTS \ No newline at end of file +# HEXISTS + +`HEXISTS` is a Redis command used to check if a specified field exists within a hash. It returns `1` if the field is present and `0` if it is not. This command is useful for verifying the presence of specific fields in a hash before performing operations like updates or deletions. It helps ensure data consistency and avoid unnecessary operations in Redis. + +Learn more from the following resources: + +- [@official@HEXISTS Documentation](https://redis.io/docs/latest/commands/hexists/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/hget@MsKg9m5jFwHM2Bzjf-vdu.md b/src/data/roadmaps/redis/content/hget@MsKg9m5jFwHM2Bzjf-vdu.md index f7af6ed42..ac4572d48 100644 --- a/src/data/roadmaps/redis/content/hget@MsKg9m5jFwHM2Bzjf-vdu.md +++ b/src/data/roadmaps/redis/content/hget@MsKg9m5jFwHM2Bzjf-vdu.md @@ -1 +1,7 @@ -# HGET \ No newline at end of file +# HGET + +`HGET` is a Redis command used to retrieve the value of a specified field within a hash. If the field exists, it returns the value; if not, it returns `nil`. This command is efficient for accessing specific fields within a hash without retrieving the entire hash structure, making it ideal for scenarios where only selective data needs to be read from a Redis hash. + +Learn more from the following resources: + +- [@official@HGET Documentation](https://redis.io/docs/latest/commands/hget/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/hgetall@TpR33sJ-tAjeG3jpGTvYR.md b/src/data/roadmaps/redis/content/hgetall@TpR33sJ-tAjeG3jpGTvYR.md index 1624d01ea..a7c4ad18f 100644 --- a/src/data/roadmaps/redis/content/hgetall@TpR33sJ-tAjeG3jpGTvYR.md +++ b/src/data/roadmaps/redis/content/hgetall@TpR33sJ-tAjeG3jpGTvYR.md @@ -1 +1,7 @@ -# HGETALL \ No newline at end of file +# HGETALL + +`HGETALL` is a Redis command that retrieves all the fields and their values from a specified hash. It returns the data as an array of field-value pairs, making it useful for obtaining a complete view of the hash's contents. However, it can be memory-intensive for large hashes, so it’s recommended to use it cautiously when dealing with high data volumes. + +Learn more from the following resources: + +- [@official@HGETALL Documentation](https://redis.io/docs/latest/commands/hgetall/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/high-performance-and-scalability@5-3pd4rLDqRzMzSRVLdXh.md b/src/data/roadmaps/redis/content/high-performance-and-scalability@5-3pd4rLDqRzMzSRVLdXh.md index 393b68f10..965f7edac 100644 --- a/src/data/roadmaps/redis/content/high-performance-and-scalability@5-3pd4rLDqRzMzSRVLdXh.md +++ b/src/data/roadmaps/redis/content/high-performance-and-scalability@5-3pd4rLDqRzMzSRVLdXh.md @@ -1 +1,7 @@ -# High Performance and Scalability \ No newline at end of file +# High Performance and Scalability + +High performance and scalability in Redis are achieved through its in-memory data storage model, which allows for extremely fast read and write operations with minimal latency. Redis supports data partitioning, replication, and clustering, enabling it to scale horizontally across multiple nodes and handle large volumes of requests simultaneously. With asynchronous replication and automatic failover, Redis ensures high availability, making it well-suited for real-time applications that require low latency and high throughput, such as caching, messaging, and session management. + +Learn more from the following resources: + +- [@article@Optimizing Redis for High Performance](https://loadforge.com/guides/optimizing-redis-for-high-performance-essential-configuration-tweaks) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/how-aof-works@PTj6oxvpw8vP295WvAI80.md b/src/data/roadmaps/redis/content/how-aof-works@PTj6oxvpw8vP295WvAI80.md index 12b67391a..d23636128 100644 --- a/src/data/roadmaps/redis/content/how-aof-works@PTj6oxvpw8vP295WvAI80.md +++ b/src/data/roadmaps/redis/content/how-aof-works@PTj6oxvpw8vP295WvAI80.md @@ -1 +1,7 @@ -# How AOF Works? \ No newline at end of file +# How AOF Works? + +The Append-Only File (AOF) in Redis is a persistence mechanism that logs every write operation to a file in sequential order, ensuring data durability. Each command is appended to the end of the AOF file, which Redis can replay to rebuild the dataset in case of a restart. The AOF file can grow over time, so Redis provides an automatic background process called *AOF rewrite* to create a compact version by eliminating redundant commands. AOF is generally safer than the default RDB snapshotting, as it provides finer granularity for data recovery and minimizes the potential for data loss. + +Learn more from the following resources: + +- [@article@About AOF Persistence - Google](https://cloud.google.com/memorystore/docs/cluster/about-aof-persistence) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/how-rdb-works@D3pZdAjwPFMRxX1-iyu5-.md b/src/data/roadmaps/redis/content/how-rdb-works@D3pZdAjwPFMRxX1-iyu5-.md index b04cd5d1a..8c452924f 100644 --- a/src/data/roadmaps/redis/content/how-rdb-works@D3pZdAjwPFMRxX1-iyu5-.md +++ b/src/data/roadmaps/redis/content/how-rdb-works@D3pZdAjwPFMRxX1-iyu5-.md @@ -1 +1,7 @@ -# How RDB Works? \ No newline at end of file +# How RDB Works? + +The RDB (Redis Database Backup) mechanism in Redis creates snapshots of the dataset at specified intervals and saves them to disk as a compact binary file. This process is triggered manually, via the `SAVE` or `BGSAVE` commands, or automatically based on predefined conditions. During a snapshot, Redis forks a child process to write the in-memory data to the RDB file, ensuring that the main process is not blocked. While RDB offers a lightweight and fast backup option, it may lead to potential data loss if Redis crashes between snapshots, making it ideal for periodic backups rather than real-time persistence. + +Learn more from the following resources: + +- [@article@About RDB Snapshots](https://cloud.google.com/memorystore/docs/redis/about-rdb-snapshots) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/hset@BOJzn9SWad9oRRdY_ub01.md b/src/data/roadmaps/redis/content/hset@BOJzn9SWad9oRRdY_ub01.md index 70c0c234f..4c9d4225e 100644 --- a/src/data/roadmaps/redis/content/hset@BOJzn9SWad9oRRdY_ub01.md +++ b/src/data/roadmaps/redis/content/hset@BOJzn9SWad9oRRdY_ub01.md @@ -1 +1,7 @@ -# HSET \ No newline at end of file +# HSET + +`HSET` is a Redis command used to set the value of a specified field within a hash. If the field already exists, it updates the value; if not, it adds the field to the hash. This command is useful for creating and managing key-value pairs within a hash structure without modifying other fields. It returns `1` if a new field is created and `0` if an existing field is updated, making it efficient for atomic updates in a Redis hash. + +Learn more from the following resources: + +- [@official@HSET Documentation](https://redis.io/docs/latest/commands/hset/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/hybrid-persistence@S5Y26m1oHCQpB-oLCdtac.md b/src/data/roadmaps/redis/content/hybrid-persistence@S5Y26m1oHCQpB-oLCdtac.md index f1f6d6056..14fdbd3fb 100644 --- a/src/data/roadmaps/redis/content/hybrid-persistence@S5Y26m1oHCQpB-oLCdtac.md +++ b/src/data/roadmaps/redis/content/hybrid-persistence@S5Y26m1oHCQpB-oLCdtac.md @@ -1 +1,7 @@ -# Hybrid Persistence \ No newline at end of file +# Hybrid Persistence + +Hybrid persistence in Redis combines both RDB (Redis Database Backup) and AOF (Append-Only File) mechanisms to leverage the benefits of each. RDB provides efficient snapshot-based backups at defined intervals, while AOF logs every write operation to ensure minimal data loss. Using both, Redis achieves a balance between fast recovery times (thanks to compact RDB snapshots) and high durability (from the detailed logging of AOF). This approach minimizes the drawbacks of using either persistence type alone and offers a robust solution for scenarios requiring both performance and data safety. + +Learn more from the following resources: + +- [@official@Redis Persistence](https://redis.io/docs/latest/operate/oss_and_stack/management/persistence/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/hyperloglog@cszjT3YK8oyhGpqLTQzwX.md b/src/data/roadmaps/redis/content/hyperloglog@cszjT3YK8oyhGpqLTQzwX.md index 74282be4d..0a5d890cd 100644 --- a/src/data/roadmaps/redis/content/hyperloglog@cszjT3YK8oyhGpqLTQzwX.md +++ b/src/data/roadmaps/redis/content/hyperloglog@cszjT3YK8oyhGpqLTQzwX.md @@ -1 +1,8 @@ -# HyperLogLog \ No newline at end of file +# HyperLogLog + +HyperLogLog is a probabilistic data structure in Redis used for efficiently estimating the cardinality (i.e., the number of unique elements) of large datasets with minimal memory usage. Instead of storing the actual elements, it maintains a compressed representation, allowing it to estimate cardinality with a typical error rate of only 0.81%. Commands like `PFADD`, `PFCOUNT`, and `PFMERGE` are used to add elements, get the count, and merge HyperLogLogs, respectively. This structure is ideal for applications like unique visitor tracking or counting events where exact counts are not required but low memory consumption is critical. + +Learn more from the following resouces: + +- [@official@HyperLogLog Documentation](https://redis.io/docs/latest/develop/data-types/probabilistic/hyperloglogs/) +- [@video@Redis HyperLogLog Explained](https://www.youtube.com/watch?v=MunL8nnwscQ) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/incr@5K9qyC4mrhXYWOC8WSq8C.md b/src/data/roadmaps/redis/content/incr@5K9qyC4mrhXYWOC8WSq8C.md index 96fe0f700..a41a8194d 100644 --- a/src/data/roadmaps/redis/content/incr@5K9qyC4mrhXYWOC8WSq8C.md +++ b/src/data/roadmaps/redis/content/incr@5K9qyC4mrhXYWOC8WSq8C.md @@ -1 +1,7 @@ -# INCR \ No newline at end of file +# INCR + +`INCR` is a Redis command used to increment the value of a string key by 1. If the key does not exist, it initializes the key with a value of 0 before performing the increment operation, resulting in a value of 1. If the key contains a non-integer value, the command will return an error. `INCR` is atomic, meaning it is safe to use in concurrent environments without race conditions, making it ideal for use cases like counters or tracking metrics. + +Learn more from the following resources: + +- [@official@INCR Documentation](https://redis.io/docs/latest/commands/incr/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/info@q2Jw49QUWCUGIfcEC1bZI.md b/src/data/roadmaps/redis/content/info@q2Jw49QUWCUGIfcEC1bZI.md index 1d978c7f2..cf0dc6964 100644 --- a/src/data/roadmaps/redis/content/info@q2Jw49QUWCUGIfcEC1bZI.md +++ b/src/data/roadmaps/redis/content/info@q2Jw49QUWCUGIfcEC1bZI.md @@ -1 +1,7 @@ -# INFO \ No newline at end of file +# INFO + +`INFO` is a Redis command that provides detailed information and statistics about the server, including memory usage, CPU load, connected clients, replication status, and more. It can be called without arguments to get a full overview or with specific sections (e.g., `INFO memory`) to retrieve targeted data. This command is useful for monitoring and debugging Redis instances, helping administrators understand the server's current state and performance metrics. + +Learn more from the following resources: + +- [@official@INFO Documentation](https://redis.io/docs/latest/commands/info/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/leaderboards-and-counters@Fv1iGX22sApIEifM2IpJz.md b/src/data/roadmaps/redis/content/leaderboards-and-counters@Fv1iGX22sApIEifM2IpJz.md index 6f77534b7..10eec53e7 100644 --- a/src/data/roadmaps/redis/content/leaderboards-and-counters@Fv1iGX22sApIEifM2IpJz.md +++ b/src/data/roadmaps/redis/content/leaderboards-and-counters@Fv1iGX22sApIEifM2IpJz.md @@ -1 +1,8 @@ -# Leaderboards and Counters \ No newline at end of file +# Leaderboards and Counters + +Leaderboards and counters are common use cases for Redis, leveraging its sorted sets and atomic increment operations. For leaderboards, the `ZADD` command is used to add members with their scores to a sorted set, and `ZRANGE` or `ZREVRANGE` retrieves the top (or bottom) ranked members efficiently. This makes Redis ideal for ranking systems in gaming or tracking top-performing entities. Counters are managed using commands like `INCR` and `DECR`, which atomically increase or decrease integer values. These operations are lightweight and performant, making Redis a go-to solution for tracking metrics, analytics, or rate limiting. + +Learn more from the following resources: + +- [@official@ZADD Documentation](https://redis.io/docs/latest/commands/zadd/) +- [@official@ZRANGE Documentation](https://redis.io/docs/latest/commands/zrange/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/lindex@hBFEUXtuzUTzWZKp2qWaZ.md b/src/data/roadmaps/redis/content/lindex@hBFEUXtuzUTzWZKp2qWaZ.md index fab7747af..7abb199ad 100644 --- a/src/data/roadmaps/redis/content/lindex@hBFEUXtuzUTzWZKp2qWaZ.md +++ b/src/data/roadmaps/redis/content/lindex@hBFEUXtuzUTzWZKp2qWaZ.md @@ -1 +1,7 @@ -# LINDEX \ No newline at end of file +# LINDEX + +`LINDEX` is a Redis command used to retrieve an element from a list by its index. The index can be positive (starting from 0 for the first element) or negative (e.g., -1 for the last element). If the index is out of range, the command returns `nil`. This command is useful for accessing specific elements in a list without needing to fetch the entire list, making it efficient for operations where only certain elements are needed. + +Learn more from the following resources: + +- [@official@LINDEX Documentation](https://redis.io/docs/latest/commands/lindex/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/lists@4-C4XqACUp4nvcMIj6djF.md b/src/data/roadmaps/redis/content/lists@4-C4XqACUp4nvcMIj6djF.md index 96bf734a5..8ad63ec2f 100644 --- a/src/data/roadmaps/redis/content/lists@4-C4XqACUp4nvcMIj6djF.md +++ b/src/data/roadmaps/redis/content/lists@4-C4XqACUp4nvcMIj6djF.md @@ -1 +1,8 @@ -# Lists \ No newline at end of file +# Lists + +Lists in Redis are ordered collections of string elements, allowing operations such as pushing, popping, and accessing elements by index. Lists support various commands, like `LPUSH` and `RPUSH` to add elements to the beginning or end, `LPOP` and `RPOP` to remove elements, and `LRANGE` to retrieve a range of elements. They are ideal for use cases like message queues, task management, or implementing stacks and queues, where maintaining order is crucial. Lists can grow dynamically and provide high performance for operations at the ends, making them highly flexible for managing ordered data sequences. + +Learn more from the following resources: + +- [@official@Redis Lists](https://redis.io/docs/latest/develop/data-types/lists/) +- [@article@Complete Guide to Redis Lists](https://www.geeksforgeeks.org/complete-guide-to-redis-lists/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/llen@4oCcP9FxDJSDMHCEVBCNa.md b/src/data/roadmaps/redis/content/llen@4oCcP9FxDJSDMHCEVBCNa.md index a1a06596a..15f6e9388 100644 --- a/src/data/roadmaps/redis/content/llen@4oCcP9FxDJSDMHCEVBCNa.md +++ b/src/data/roadmaps/redis/content/llen@4oCcP9FxDJSDMHCEVBCNa.md @@ -1 +1,7 @@ -# LLEN \ No newline at end of file +# LLEN + +`LLEN` is a Redis command used to return the length of a list stored at a specified key. If the list does not exist, it returns `0`. This command is efficient for quickly checking the number of elements in a list without retrieving its contents, making it useful for monitoring queue sizes, tracking list growth, or validating data presence in real-time applications. + +Learn more from the following resources: + +- [@official@LLEN Documentation](https://redis.io/docs/latest/commands/llen/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/lmove@9KvHcS5F4Jj5ZXgIAdOQY.md b/src/data/roadmaps/redis/content/lmove@9KvHcS5F4Jj5ZXgIAdOQY.md index 806d2ac58..22fc38576 100644 --- a/src/data/roadmaps/redis/content/lmove@9KvHcS5F4Jj5ZXgIAdOQY.md +++ b/src/data/roadmaps/redis/content/lmove@9KvHcS5F4Jj5ZXgIAdOQY.md @@ -1 +1,7 @@ -# LMOVE \ No newline at end of file +# LMOVE + +`LMOVE` is a Redis command used to atomically move an element from one list to another. It pops an element from the source list (either from the left or right end) and pushes it to the destination list (either to the left or right end), based on the specified parameters (`LEFT` or `RIGHT`). This command is useful for implementing queue-like patterns or managing work distribution between different lists without race conditions, as it ensures that the element is safely transferred in a single atomic operation. + +Learn more from the following resources: + +- [@official@LMOVE Documentation](https://redis.io/docs/latest/commands/lmove/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/lpop@voa61RTWMJD3Sk8DNJoVQ.md b/src/data/roadmaps/redis/content/lpop@voa61RTWMJD3Sk8DNJoVQ.md index f0c9b5903..bc9204b2c 100644 --- a/src/data/roadmaps/redis/content/lpop@voa61RTWMJD3Sk8DNJoVQ.md +++ b/src/data/roadmaps/redis/content/lpop@voa61RTWMJD3Sk8DNJoVQ.md @@ -1 +1,7 @@ -# LPOP \ No newline at end of file +# LPOP + +`LPOP` is a Redis command that removes and returns the first element from the left side of a list. If the list is empty or does not exist, it returns `nil`. This command is commonly used in scenarios like implementing queues or consuming elements in FIFO (First-In-First-Out) order, making it ideal for task processing, message handling, and managing ordered data flows in real-time applications. + +Learn more from the following resources: + +- [@official@LPOP Documentation](https://redis.io/docs/latest/commands/lpop/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/lpush@Kq7G89KaZZMFkrH-9WZoS.md b/src/data/roadmaps/redis/content/lpush@Kq7G89KaZZMFkrH-9WZoS.md index 6a02a3941..7b9f1f300 100644 --- a/src/data/roadmaps/redis/content/lpush@Kq7G89KaZZMFkrH-9WZoS.md +++ b/src/data/roadmaps/redis/content/lpush@Kq7G89KaZZMFkrH-9WZoS.md @@ -1 +1,7 @@ -# LPUSH \ No newline at end of file +# LPUSH + +`LPUSH` is a Redis command that inserts one or more elements at the beginning (left side) of a list. If the list does not exist, it creates a new list before performing the insertion. This command returns the length of the list after the operation. `LPUSH` is useful for building stacks or adding items to queues where new elements need to be prioritized, enabling efficient manipulation of ordered data structures in Redis. + +Learn more from the following resources: + +- [@official@LPUSH Documentation](https://redis.io/docs/latest/commands/lpush/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/lrange@8JTtBy6oD2wFYDizVkcVa.md b/src/data/roadmaps/redis/content/lrange@8JTtBy6oD2wFYDizVkcVa.md index 677cd3213..be9c93eaa 100644 --- a/src/data/roadmaps/redis/content/lrange@8JTtBy6oD2wFYDizVkcVa.md +++ b/src/data/roadmaps/redis/content/lrange@8JTtBy6oD2wFYDizVkcVa.md @@ -1 +1,7 @@ -# LRANGE \ No newline at end of file +# LRANGE + +`LRANGE` is a Redis command that retrieves a specified range of elements from a list, defined by a start and stop index. The indices can be positive (starting from 0) or negative (e.g., -1 for the last element). This command is commonly used to fetch subsets of a list without loading the entire list into memory, making it useful for paginating data, viewing portions of a queue, or analyzing a segment of ordered data in an efficient manner. + +Learn more from the following resources: + +- [@official@LRANGE Documentation](https://redis.io/docs/latest/commands/lrange/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/lua-scripting@Veb30QrPYNjUn13dtGbUr.md b/src/data/roadmaps/redis/content/lua-scripting@Veb30QrPYNjUn13dtGbUr.md index 6f03810a9..09117d8ac 100644 --- a/src/data/roadmaps/redis/content/lua-scripting@Veb30QrPYNjUn13dtGbUr.md +++ b/src/data/roadmaps/redis/content/lua-scripting@Veb30QrPYNjUn13dtGbUr.md @@ -1 +1,9 @@ -# Lua Scripting \ No newline at end of file +# Lua Scripting + +Lua scripting in Redis allows users to execute custom scripts atomically on the server side, enabling complex operations to be performed in a single step. Lua scripts are run using the `EVAL` or `EVALSHA` commands, and can manipulate multiple keys and values in a single execution. This reduces network overhead and ensures data consistency, as the script executes as a single transaction. Lua is commonly used for tasks like conditional updates, batch processing, and combining multiple commands into a single operation, enhancing Redis's flexibility and power for advanced use cases. + +Learn more from the following resources: + +- [@official@Lua Programming Language](https://www.lua.org/) +- [@video@Lua in 100 Seconds](https://www.youtube.com/watch?v=jUuqBZwwkQw) +- [@video@Full Lua Programming Crash Course](https://www.youtube.com/watch?v=1srFmjt1Ib0) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/max-memory-policy@Sd1ENOXSFCz1YqccXjr2A.md b/src/data/roadmaps/redis/content/max-memory-policy@Sd1ENOXSFCz1YqccXjr2A.md index 9033248f1..213ef77e7 100644 --- a/src/data/roadmaps/redis/content/max-memory-policy@Sd1ENOXSFCz1YqccXjr2A.md +++ b/src/data/roadmaps/redis/content/max-memory-policy@Sd1ENOXSFCz1YqccXjr2A.md @@ -1 +1,6 @@ -# Max Memory Policy \ No newline at end of file +# Max Memory Policy + +The Max Memory Policy in Redis determines how the server handles data when it reaches the configured maximum memory limit. Redis offers several eviction policies, such as `noeviction` (return an error on writes), `allkeys-lru` (evict the least recently used keys), `volatile-lru` (evict the least recently used keys with an expiration set), `allkeys-random` (evict random keys), and others. These policies allow Redis to optimize memory usage based on the use case, balancing between maintaining data availability and minimizing the risk of data loss when memory constraints are reached. + +Learn more from the following resources: + diff --git a/src/data/roadmaps/redis/content/memory-management@xF0wQYmtwXYkrzvWg5gOO.md b/src/data/roadmaps/redis/content/memory-management@xF0wQYmtwXYkrzvWg5gOO.md index 0f0ebe5f9..a6e6d21d7 100644 --- a/src/data/roadmaps/redis/content/memory-management@xF0wQYmtwXYkrzvWg5gOO.md +++ b/src/data/roadmaps/redis/content/memory-management@xF0wQYmtwXYkrzvWg5gOO.md @@ -1 +1,9 @@ -# Memory Management \ No newline at end of file +# Memory Management + +Memory management in Redis involves efficiently handling data storage within its in-memory structure to maximize performance and prevent memory overflows. Redis uses various techniques such as memory-efficient data encoding (e.g., `ziplist` or `intset`), active and passive eviction strategies based on the configured max memory policy, and expiration of keys to automatically free up space. To persist data, Redis offers snapshotting (RDB) and logging (AOF) mechanisms. Additionally, commands like `MEMORY USAGE` and `MEMORY STATS` help monitor memory consumption, making it easier to tune and optimize the instance for specific use cases. Effective memory management ensures high availability, low latency, and predictable performance. + +Learn more from the following resources: + +- [@official@MEMORY USAGE Command](https://redis.io/docs/latest/commands/memory-usage/) +- [@official@MEMORY STATS Command](https://redis.io/docs/latest/commands/memory-stats/) +- [@article@Memory Management best practices](https://cloud.google.com/memorystore/docs/redis/memory-management-best-practices) diff --git a/src/data/roadmaps/redis/content/message-broker@mgGJTBU8ofvOzl9gYWhnG.md b/src/data/roadmaps/redis/content/message-broker@mgGJTBU8ofvOzl9gYWhnG.md index e28ef2334..dca0f640b 100644 --- a/src/data/roadmaps/redis/content/message-broker@mgGJTBU8ofvOzl9gYWhnG.md +++ b/src/data/roadmaps/redis/content/message-broker@mgGJTBU8ofvOzl9gYWhnG.md @@ -1 +1,9 @@ -# Message Broker \ No newline at end of file +# Message Broker + +A message broker is a middleware system that enables communication between different services or applications by routing, storing, and delivering messages. Redis can serve as a lightweight message broker using its `PUBLISH` and `SUBSCRIBE` commands for a pub/sub messaging pattern, or through lists and sorted sets for more advanced messaging scenarios like task queues. Redis Streams provide additional features like message persistence, acknowledgment, and consumer groups, making it suitable for both real-time communication and more complex message processing pipelines. Its high throughput and low latency make Redis an efficient solution for building scalable messaging systems. + +Learn more from the following resources: + +- [@official@PUBLISH Command](https://redis.io/docs/latest/commands/publish/) +- [@official@SUBSCRIBE Command](https://redis.io/docs/latest/commands/subscribe/) +- [@article@Redis As a Message Broker](https://medium.com/shoutloudz/redis-as-a-message-broker-d1a1aeac23c3) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/monitor@jBtEiylcedtaE6E20Uk4V.md b/src/data/roadmaps/redis/content/monitor@jBtEiylcedtaE6E20Uk4V.md index beb303e72..61fc5c2ed 100644 --- a/src/data/roadmaps/redis/content/monitor@jBtEiylcedtaE6E20Uk4V.md +++ b/src/data/roadmaps/redis/content/monitor@jBtEiylcedtaE6E20Uk4V.md @@ -1 +1,8 @@ -# MONITOR \ No newline at end of file +# MONITOR + +`MONITOR` is a Redis command that provides a real-time feed of all commands executed on the server, displaying each command along with its arguments as they are processed. It is primarily used for debugging, monitoring, or analyzing the behavior of a Redis instance. Since `MONITOR` can impact performance by streaming every command in real-time, it should be used cautiously in production environments. It is a useful tool for understanding command patterns, tracking down issues, and gaining insights into how clients interact with the Redis server. + +Learn more from the following resources: + +- [@official@MONITOR Documentation](https://redis.io/docs/latest/commands/monitor/) +- [@official@SLOWLOG Documentation](https://redis.io/docs/latest/commands/slowlog/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/monitoring@2p5RF4lVYfRvYTo1Ofm-a.md b/src/data/roadmaps/redis/content/monitoring@2p5RF4lVYfRvYTo1Ofm-a.md index 2ddbe89cb..404714470 100644 --- a/src/data/roadmaps/redis/content/monitoring@2p5RF4lVYfRvYTo1Ofm-a.md +++ b/src/data/roadmaps/redis/content/monitoring@2p5RF4lVYfRvYTo1Ofm-a.md @@ -1 +1,8 @@ -# Monitoring \ No newline at end of file +# Monitoring + +Monitoring in Redis involves tracking the health, performance, and resource usage of the server to ensure optimal operation and early detection of issues. Tools and commands like `INFO` (providing statistics on memory, CPU, and clients), `MONITOR` (real-time command tracking), and `SLOWLOG` (logging slow queries) offer insights into server activity. Additionally, external tools like Redis Sentinel, Prometheus, and Grafana are often integrated for more comprehensive monitoring, alerting, and visualization. Effective monitoring helps maintain stability, optimize performance, and troubleshoot potential bottlenecks, making it crucial for managing Redis deployments at scale. + +Learn more from the following resources: + +- [@official@Monitoring with metrics and alerts](https://redis.io/docs/latest/operate/rs/clusters/monitoring/) +- [@official@MONITOR Documentation](https://redis.io/docs/latest/commands/monitor/) diff --git a/src/data/roadmaps/redis/content/more-commands@0v8uLWRCbAqEmKKdYaRQW.md b/src/data/roadmaps/redis/content/more-commands@0v8uLWRCbAqEmKKdYaRQW.md index 1f7236b8c..79e2f59f8 100644 --- a/src/data/roadmaps/redis/content/more-commands@0v8uLWRCbAqEmKKdYaRQW.md +++ b/src/data/roadmaps/redis/content/more-commands@0v8uLWRCbAqEmKKdYaRQW.md @@ -1 +1,7 @@ -# More Commands \ No newline at end of file +# More Commands - Strings + +Redis strings include a variety of operations that go beyond basic SET and GET functionality. Examples include MSET and MGET for setting and getting multiple keys at once, GETSET to set a new value while returning the old one, and SETEX or PSETEX for setting a value with an expiration time. Other commands like INCRBY and DECRBY allow incrementing or decrementing by a specified amount, while BITCOUNT and BITOP provide bit-level manipulations. + +Learn more from the following resources: + +- [@official@All Redis String Commands](https://redis.io/docs/latest/commands/?group=string) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/more-commands@4-z4hDKm86qQatYnmE21R.md b/src/data/roadmaps/redis/content/more-commands@4-z4hDKm86qQatYnmE21R.md index 1f7236b8c..1dcfaee6d 100644 --- a/src/data/roadmaps/redis/content/more-commands@4-z4hDKm86qQatYnmE21R.md +++ b/src/data/roadmaps/redis/content/more-commands@4-z4hDKm86qQatYnmE21R.md @@ -1 +1,7 @@ -# More Commands \ No newline at end of file +# More Commands - Streams + +Streams include a variety of operations that enhance the core functionality provided by basic commands like XADD and XREAD. Examples include XDEL to remove specific entries from a stream, XTRIM to control the size of a stream by trimming old entries, and XGROUP for managing consumer groups, allowing multiple clients to read from the same stream in a coordinated manner. Commands like XPENDING and XCLAIM are useful for monitoring and handling pending messages, ensuring that no data is lost or left unprocessed. + +Learn more from the following resources: + +- [@official@All Redis Stream Commands](https://redis.io/docs/latest/commands/?group=stream) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/more-commands@FCbdKnkI1ZHGekT6yiGua.md b/src/data/roadmaps/redis/content/more-commands@FCbdKnkI1ZHGekT6yiGua.md index 1f7236b8c..06529e3b6 100644 --- a/src/data/roadmaps/redis/content/more-commands@FCbdKnkI1ZHGekT6yiGua.md +++ b/src/data/roadmaps/redis/content/more-commands@FCbdKnkI1ZHGekT6yiGua.md @@ -1 +1,7 @@ -# More Commands \ No newline at end of file +# More Commands - Geospatial Indexes + +Redis Geospatial indexes include operations like GEODIST to calculate the distance between two members of a geospatial set, GEOHASH to retrieve the Geohash representation of locations, and GEOPOS to get the longitude and latitude of specified members. Additionally, GEORADIUS and GEORADIUSBYMEMBER allow searching for members within a given radius based on coordinates or a reference member. + +Learn more from the following resources: + +- [@official@All Redis Geospatial Commands](https://redis.io/docs/latest/commands/?group=geo) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/more-commands@P6TDUCroLlEI7qePBFHIH.md b/src/data/roadmaps/redis/content/more-commands@P6TDUCroLlEI7qePBFHIH.md index 1f7236b8c..94fe54f53 100644 --- a/src/data/roadmaps/redis/content/more-commands@P6TDUCroLlEI7qePBFHIH.md +++ b/src/data/roadmaps/redis/content/more-commands@P6TDUCroLlEI7qePBFHIH.md @@ -1 +1,7 @@ -# More Commands \ No newline at end of file +# More Commands - Hashes + +Redis Hashes include operations like HMSET and HMGET to set or retrieve multiple fields and values at once, HINCRBY and HINCRBYFLOAT to increment the value of a field by a given integer or float, and HLEN to get the number of fields in a hash. Commands like HKEYS and HVALS are used to retrieve all field names or values, respectively, while HSCAN enables incremental iteration over large hashes. These commands extend the functionality of basic hash operations, making Redis Hashes ideal for storing and manipulating structured data, such as user profiles or configuration settings, with efficient access and updates. + +Learn more from the following resources: + +- [@official@All Redis Hash Commands](https://redis.io/docs/latest/commands/?group=hash) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/more-commands@V-d6q-3Sf0dl5v8xiCQwl.md b/src/data/roadmaps/redis/content/more-commands@V-d6q-3Sf0dl5v8xiCQwl.md index 1f7236b8c..b3f7b1ded 100644 --- a/src/data/roadmaps/redis/content/more-commands@V-d6q-3Sf0dl5v8xiCQwl.md +++ b/src/data/roadmaps/redis/content/more-commands@V-d6q-3Sf0dl5v8xiCQwl.md @@ -1 +1,7 @@ -# More Commands \ No newline at end of file +# More Commands - Pub/Sub + +Redis Pub/Sub include operations like PSUBSCRIBE and PUNSUBSCRIBE for subscribing and unsubscribing to channels using pattern matching, allowing for flexible topic-based subscriptions. Additionally, PUBSUB CHANNELS lists active channels, PUBSUB NUMSUB shows the number of subscribers per channel, and PUBSUB NUMPAT returns the count of active pattern subscriptions. These commands extend the basic publish and subscribe functionality, providing better insights and control over the messaging patterns, making Pub/Sub ideal for real-time event broadcasting, chat applications, and inter-service communication in distributed systems. + +Learn more from the following resources: + +- [@official@All Redis Pub/Sub Commands](https://redis.io/docs/latest/commands/?group=pubsub) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/more-commands@b48EUyFGUeSjtT5fOa_m6.md b/src/data/roadmaps/redis/content/more-commands@b48EUyFGUeSjtT5fOa_m6.md index 1f7236b8c..24ae8c177 100644 --- a/src/data/roadmaps/redis/content/more-commands@b48EUyFGUeSjtT5fOa_m6.md +++ b/src/data/roadmaps/redis/content/more-commands@b48EUyFGUeSjtT5fOa_m6.md @@ -1 +1,7 @@ -# More Commands \ No newline at end of file +# More Commands - Sets + +Redis Sets include advanced operations like SRANDMEMBER to retrieve random members from a set, SPOP to remove and return random elements, and SMOVE to atomically move elements between sets. Commands like SSCAN allow for incremental iteration over large sets, avoiding performance issues with massive data structures. For complex set operations, SINTERSTORE, SUNIONSTORE, and SDIFFSTORE enable storing the results of set intersections, unions, or differences into new sets. These commands extend the functionality of basic set operations, enabling efficient membership tests, set manipulations, and mathematical set calculations, making Redis Sets highly versatile for diverse data management needs. + +Learn more from the following resources: + +- [@official@All Redis Set Commands](https://redis.io/docs/latest/commands/?group=set) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/more-commands@eBeEUYY-IL_CMkcm31lUL.md b/src/data/roadmaps/redis/content/more-commands@eBeEUYY-IL_CMkcm31lUL.md index 1f7236b8c..66a6e3b1b 100644 --- a/src/data/roadmaps/redis/content/more-commands@eBeEUYY-IL_CMkcm31lUL.md +++ b/src/data/roadmaps/redis/content/more-commands@eBeEUYY-IL_CMkcm31lUL.md @@ -1 +1,7 @@ -# More Commands \ No newline at end of file +# More Commands - Lists + +Redis Lists include operations like LTRIM to trim the list to a specified range, RPOPLPUSH to remove an element from one list and append it to another, and BLPOP or BRPOP for blocking pop operations that wait until an element is available. Commands like LPOS allow finding the position of elements, and LSET is used to update a list element at a specified index. These additional commands provide robust functionality for manipulating lists, implementing queue-based patterns, and ensuring efficient handling of ordered data, making lists highly suitable for real-time data pipelines and task queues. + +Learn more from the following resources: + +- [@official@All Redis List Commands](https://redis.io/docs/latest/commands/?group=list) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/more-commands@o6e_CwxfPoU6qkfWkwKwj.md b/src/data/roadmaps/redis/content/more-commands@o6e_CwxfPoU6qkfWkwKwj.md index 1f7236b8c..341f2408a 100644 --- a/src/data/roadmaps/redis/content/more-commands@o6e_CwxfPoU6qkfWkwKwj.md +++ b/src/data/roadmaps/redis/content/more-commands@o6e_CwxfPoU6qkfWkwKwj.md @@ -1 +1,7 @@ -# More Commands \ No newline at end of file +# More Commands - Sorted Sets + +Redis Sorted Sets include operations like ZREVRANGE to get elements in reverse order, ZRANGEBYLEX to retrieve elements within a specific lexicographical range, and ZINTERSTORE or ZUNIONSTORE to perform intersection and union operations on multiple sorted sets and store the results. Commands like ZREMrangeBYRANK and ZREMRANGEBYSCORE allow for removing elements based on their rank or score ranges. + +Learn more from the following resources: + +- [@official@All Redis Sorted Set Commands](https://redis.io/docs/latest/commands/?group=sorted-set) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/multi@U6hST1MkS16T2CHV3-Ise.md b/src/data/roadmaps/redis/content/multi@U6hST1MkS16T2CHV3-Ise.md index 8c020d51f..4182ae7fa 100644 --- a/src/data/roadmaps/redis/content/multi@U6hST1MkS16T2CHV3-Ise.md +++ b/src/data/roadmaps/redis/content/multi@U6hST1MkS16T2CHV3-Ise.md @@ -1 +1,7 @@ -# MULTI \ No newline at end of file +# MULTI + +`MULTI` is a Redis command used to start a transaction, allowing a group of commands to be executed sequentially and atomically. After initiating a `MULTI` block, commands are queued instead of being executed immediately. Once all desired commands are added, the `EXEC` command is called to run them as a single atomic operation. If an error occurs in any command during queuing, it can be discarded using `DISCARD`. `MULTI` ensures that no other clients can interfere with the transaction, making it ideal for complex operations that require consistent state updates. + +Learn more from the following resources: + +- [@official@MULTI Command](https://redis.io/docs/latest/commands/multi/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/naming-conventions@jCaVx5wvsvuyqtwh6m8si.md b/src/data/roadmaps/redis/content/naming-conventions@jCaVx5wvsvuyqtwh6m8si.md index cb632b059..389651123 100644 --- a/src/data/roadmaps/redis/content/naming-conventions@jCaVx5wvsvuyqtwh6m8si.md +++ b/src/data/roadmaps/redis/content/naming-conventions@jCaVx5wvsvuyqtwh6m8si.md @@ -1 +1,3 @@ -# Naming Conventions \ No newline at end of file +# Naming Conventions + +Naming conventions in Redis are crucial for maintaining organized and understandable data structures, especially in large applications. Common practices include using colons (`:`) as separators for hierarchical keys (e.g., `user:1001:settings`), employing prefixes to group related keys (e.g., `session:`, `cache:`), and using concise, descriptive names to indicate the purpose and type of the key. \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/network-security@wsuKH7YwGDV6GYQbdhA4o.md b/src/data/roadmaps/redis/content/network-security@wsuKH7YwGDV6GYQbdhA4o.md index 1b14179d9..1cd76e3ad 100644 --- a/src/data/roadmaps/redis/content/network-security@wsuKH7YwGDV6GYQbdhA4o.md +++ b/src/data/roadmaps/redis/content/network-security@wsuKH7YwGDV6GYQbdhA4o.md @@ -1 +1,8 @@ -# Network Security \ No newline at end of file +# Network Security + +Network security in Redis involves implementing measures to protect the server from unauthorized access and data breaches. Best practices include binding Redis to trusted interfaces, using firewalls to restrict access, and configuring `requirepass` for password protection. Redis should run in a secure network environment, ideally with TLS/SSL enabled for encrypted communication. Additionally, the use of `ACL` (Access Control Lists) provides granular permissions for different users. By disabling dangerous commands and using proper authentication and authorization mechanisms, Redis instances can be secured against common threats such as unauthorized data access and denial-of-service attacks. + +Learn more from the following resources: + +- [@official@Redis Authentication Documentation](https://redis.io/docs/latest/operate/oss_and_stack/management/security/#authentication) +- [@official@Redis Network Security Documentation](https://redis.io/docs/latest/operate/rc/security/database-security/network-security/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/no-persistence-option@80035BzcB-fKCvD_3N8zE.md b/src/data/roadmaps/redis/content/no-persistence-option@80035BzcB-fKCvD_3N8zE.md index 26c6f459f..2cb608ec1 100644 --- a/src/data/roadmaps/redis/content/no-persistence-option@80035BzcB-fKCvD_3N8zE.md +++ b/src/data/roadmaps/redis/content/no-persistence-option@80035BzcB-fKCvD_3N8zE.md @@ -1 +1,7 @@ -# No Persistence Option \ No newline at end of file +# No Persistence Option + +The **No Persistence** option in Redis disables all data persistence mechanisms, meaning that no data will be saved to disk. This can be configured by turning off both RDB snapshots and AOF (Append-Only File) logging. Running Redis without persistence is ideal for use cases where high-speed caching is prioritized over data durability, such as storing ephemeral data or managing sessions that don’t need to survive a server restart. While this option reduces disk I/O and maximizes performance, it also means that all data will be lost if the server is shut down or crashes, making it suitable only for scenarios where data loss is acceptable. + +Learn more from the following resources: + +- [@official@Redis Persistence Documentation](https://redis.io/docs/latest/operate/oss_and_stack/management/persistence/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/optimistic-locking@msW0Wd2H-6FFNDnjC64t-.md b/src/data/roadmaps/redis/content/optimistic-locking@msW0Wd2H-6FFNDnjC64t-.md index c1a7e7295..80ba6c1f1 100644 --- a/src/data/roadmaps/redis/content/optimistic-locking@msW0Wd2H-6FFNDnjC64t-.md +++ b/src/data/roadmaps/redis/content/optimistic-locking@msW0Wd2H-6FFNDnjC64t-.md @@ -1 +1,9 @@ -# Optimistic Locking \ No newline at end of file +# Optimistic Locking + +Optimistic locking in Redis is implemented using the `WATCH` command in combination with transactions (`MULTI` and `EXEC`). `WATCH` monitors specified keys for changes before starting a transaction. If any of the watched keys are modified by another client before `EXEC` is called, the transaction is aborted, and `EXEC` returns `nil` instead of executing the queued commands. This allows Redis to handle concurrent updates without requiring traditional locks, making it ideal for scenarios where multiple clients might modify the same keys. Optimistic locking helps maintain data integrity while minimizing the performance overhead typically associated with locking mechanisms. + +Learn more from the following resources: + +- [@official@Optimistic Locking using CHECK & SET](https://redis.io/docs/latest/develop/interact/transactions/#optimistic-locking-using-check-and-set) +- [@official@WATCH Command](https://redis.io/docs/latest/commands/watch/) +- [@official@MULTI Command](https://redis.io/docs/latest/commands/multi/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/overview-of-data-types@U84XgBFPyIbY0W5afH4cx.md b/src/data/roadmaps/redis/content/overview-of-data-types@U84XgBFPyIbY0W5afH4cx.md index 59fd47a81..9657c9068 100644 --- a/src/data/roadmaps/redis/content/overview-of-data-types@U84XgBFPyIbY0W5afH4cx.md +++ b/src/data/roadmaps/redis/content/overview-of-data-types@U84XgBFPyIbY0W5afH4cx.md @@ -1 +1,8 @@ -# Overview of Data Types \ No newline at end of file +# Overview of Data Types + +Redis is a data structure server and at its core, REdis provides a collection of native data types that allow you to solve a wide variety of problems, from caching to event processing. + +Learn more from the following resources: + +- [@official@Understand Redis Data Types](https://redis.io/docs/latest/develop/data-types/) +- [@article@Redis Data Types](https://www.tutorialspoint.com/redis/redis_data_types.htm) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/persistence-options@bQaek7f3dAaZfSUhwovm1.md b/src/data/roadmaps/redis/content/persistence-options@bQaek7f3dAaZfSUhwovm1.md index dbfecbbad..4396f944f 100644 --- a/src/data/roadmaps/redis/content/persistence-options@bQaek7f3dAaZfSUhwovm1.md +++ b/src/data/roadmaps/redis/content/persistence-options@bQaek7f3dAaZfSUhwovm1.md @@ -1 +1,8 @@ -# Persistence Options \ No newline at end of file +# Persistence Options + +Redis provides two main persistence options: **RDB (Redis Database Backup)** and **AOF (Append-Only File)**. RDB creates point-in-time snapshots of the dataset at specified intervals, offering efficient storage with minimal performance impact, making it suitable for periodic backups but with potential data loss between snapshots. AOF logs every write operation to disk, providing higher data durability by allowing finer-grained recovery, though it can be more resource-intensive. Redis also supports a **hybrid persistence** mode that combines both RDB and AOF for faster restarts and stronger durability. Additionally, a **No Persistence** option is available for scenarios where data retention is unnecessary, prioritizing speed and memory efficiency. + +Learn more from the following resources: + +- [@official@Data Persistence](https://redis.io/docs/latest/operate/rc/databases/configuration/data-persistence/) +- [@official@Redis Persistence](https://redis.io/docs/latest/operate/oss_and_stack/management/persistence/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/pfadd@8a4DmPZrX2xGZ7zdWxS63.md b/src/data/roadmaps/redis/content/pfadd@8a4DmPZrX2xGZ7zdWxS63.md index 9ed1ac5a0..1e5f33578 100644 --- a/src/data/roadmaps/redis/content/pfadd@8a4DmPZrX2xGZ7zdWxS63.md +++ b/src/data/roadmaps/redis/content/pfadd@8a4DmPZrX2xGZ7zdWxS63.md @@ -1 +1,7 @@ -# PFADD \ No newline at end of file +# PFADD + +`PFADD` is a Redis command used to add elements to a HyperLogLog data structure, which is designed for estimating the cardinality (number of unique elements) of a dataset. When elements are added using `PFADD`, Redis updates the internal structure without storing the actual elements, ensuring low memory consumption. This command returns `1` if the HyperLogLog was modified (i.e., a new unique element was added) and `0` otherwise. `PFADD` is ideal for use cases like counting unique visits or tracking unique events in a highly memory-efficient manner. + +Learn more from the following resources: + +- [@official@PFADD Documentation](https://redis.io/docs/latest/commands/pfadd/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/pfcount@JWT30KIJQHVw0MXI5sGR6.md b/src/data/roadmaps/redis/content/pfcount@JWT30KIJQHVw0MXI5sGR6.md index 62d67644a..cb6332fba 100644 --- a/src/data/roadmaps/redis/content/pfcount@JWT30KIJQHVw0MXI5sGR6.md +++ b/src/data/roadmaps/redis/content/pfcount@JWT30KIJQHVw0MXI5sGR6.md @@ -1 +1,7 @@ -# PFCOUNT \ No newline at end of file +# PFCOUNT + +`PFCOUNT` is a Redis command used to retrieve the estimated number of unique elements in one or more HyperLogLog structures. It provides an approximate cardinality count with a typical error rate of 0.81%, making it highly efficient for large datasets while using minimal memory. When called with multiple HyperLogLog keys, `PFCOUNT` merges the data and returns the approximate count of the union, allowing for quick aggregation of unique elements across multiple sets. + +Learn more from the following resources: + +- [@official@PFCOUNT Documentation](https://redis.io/docs/latest/commands/pfcount/) diff --git a/src/data/roadmaps/redis/content/pfmerge@s50jr_XOUcxh65-tGCKf5.md b/src/data/roadmaps/redis/content/pfmerge@s50jr_XOUcxh65-tGCKf5.md index 4fc3644c2..249e49377 100644 --- a/src/data/roadmaps/redis/content/pfmerge@s50jr_XOUcxh65-tGCKf5.md +++ b/src/data/roadmaps/redis/content/pfmerge@s50jr_XOUcxh65-tGCKf5.md @@ -1 +1,7 @@ -# PFMERGE \ No newline at end of file +# PFMERGE + +`PFMERGE` is a Redis command used to combine multiple HyperLogLog data structures into a single HyperLogLog key, creating a new structure that represents the union of all unique elements. This command is useful when you want to aggregate and estimate the cardinality of distinct elements across multiple datasets. The resulting HyperLogLog can then be queried using `PFCOUNT` to get the approximate count of the merged unique elements. + +Learn more from the following resources: + +- [@official@PFMERGE Documentation](https://redis.io/docs/latest/commands/pfmerge/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/pipelining@LHlwjN3WHYUBUafzzwsWQ.md b/src/data/roadmaps/redis/content/pipelining@LHlwjN3WHYUBUafzzwsWQ.md index 273a8143f..e7d34a9ce 100644 --- a/src/data/roadmaps/redis/content/pipelining@LHlwjN3WHYUBUafzzwsWQ.md +++ b/src/data/roadmaps/redis/content/pipelining@LHlwjN3WHYUBUafzzwsWQ.md @@ -1 +1,8 @@ -# Pipelining \ No newline at end of file +# Pipelining + +Pipelining in Redis is a technique that allows clients to send multiple commands to the server without waiting for individual responses after each command. Instead, the commands are sent in a batch, and responses are read together at the end. This reduces the network overhead and latency associated with multiple round trips, significantly improving throughput, especially in high-volume operations. + +Learn more from the following resources: + +- [@official@Redis Pipelining](https://redis.io/docs/latest/develop/use/pipelining/) +- [@article@Complete Guide to Redis Pipelining](https://www.geeksforgeeks.org/complete-guide-to-redis-pipelining/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/pre-compiled-binaries@yBZ79s6mzGdj5AnX2H_Hy.md b/src/data/roadmaps/redis/content/pre-compiled-binaries@yBZ79s6mzGdj5AnX2H_Hy.md index 1772bad3a..bd550aed1 100644 --- a/src/data/roadmaps/redis/content/pre-compiled-binaries@yBZ79s6mzGdj5AnX2H_Hy.md +++ b/src/data/roadmaps/redis/content/pre-compiled-binaries@yBZ79s6mzGdj5AnX2H_Hy.md @@ -1 +1,8 @@ -# Pre-compiled Binaries \ No newline at end of file +# Pre-compiled Binaries + +Redis can be compiled and installed on a variety of platofrm and operating systems including Linux and macOS, the Redis binaries have no dependencies other than a C compiler and libc + +Learn more from the following resources: + +- [@official@Installing Redis from Source](https://redis.io/docs/latest/operate/oss_and_stack/install/install-redis/install-redis-from-source/) +- [@article@How to install Redis from source on Ubuntu and CentOS](https://docs.vultr.com/how-to-install-redis-from-source-on-ubuntu-and-centos) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/publish@gIPo-2CNqE1BsOaDzmkCU.md b/src/data/roadmaps/redis/content/publish@gIPo-2CNqE1BsOaDzmkCU.md index 19fd04ce2..8ec58c517 100644 --- a/src/data/roadmaps/redis/content/publish@gIPo-2CNqE1BsOaDzmkCU.md +++ b/src/data/roadmaps/redis/content/publish@gIPo-2CNqE1BsOaDzmkCU.md @@ -1 +1,7 @@ -# PUBLISH \ No newline at end of file +# PUBLISH + +`PUBLISH` is a Redis command used to send messages to a specified channel in the pub/sub messaging system. When a message is published, all clients that are subscribed to that channel receive the message immediately. This command is useful for implementing real-time communication features, such as chat applications, notifications, or event broadcasting. The `PUBLISH` command does not return any acknowledgment to the sender, as it operates on a fire-and-forget basis, allowing for efficient message distribution without requiring the sender to wait for subscribers to process the message. + +Learn more from the following resources: + +- [@official@PUBLISH Documentation](https://redis.io/docs/latest/commands/publish/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/pubsub-messaging@ZCyId3aIoLv3duxoJdk2P.md b/src/data/roadmaps/redis/content/pubsub-messaging@ZCyId3aIoLv3duxoJdk2P.md index a2ebd6b6b..99d519388 100644 --- a/src/data/roadmaps/redis/content/pubsub-messaging@ZCyId3aIoLv3duxoJdk2P.md +++ b/src/data/roadmaps/redis/content/pubsub-messaging@ZCyId3aIoLv3duxoJdk2P.md @@ -1 +1,10 @@ -# Pub/Sub Messaging \ No newline at end of file +# Pub/Sub Messaging + +Pub/Sub messaging in Redis is a messaging pattern that allows clients to communicate with each other through channels without needing direct connections. In this model, clients can subscribe to one or more channels to receive messages and can publish messages to these channels. When a message is published, all subscribed clients receive it in real-time, making it ideal for applications requiring instant notifications, such as chat systems, live updates, or event broadcasting. Redis's implementation of Pub/Sub is simple and efficient, supporting commands like `PUBLISH`, `SUBSCRIBE`, and `UNSUBSCRIBE`, although it does not provide message persistence or acknowledgment, which means that messages are not stored for clients that are not actively subscribed at the time of publishing. + +Learn more from the following resources: + +- [@official@Redis Pub/Sub](https://redis.io/docs/latest/develop/interact/pubsub/) +- [@official@PUBLISH Documentation](https://redis.io/docs/latest/commands/publish/) +- [@official@SUBSCRIBE Documentation](https://redis.io/docs/latest/commands/subscribe/) +- [@official@UNSUBSCRIBE Documentation](https://redis.io/docs/latest/commands/unsubscribe/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/pubsub@9W_jaK1DSEZHRKdPcUM7h.md b/src/data/roadmaps/redis/content/pubsub@9W_jaK1DSEZHRKdPcUM7h.md index 6bb650fca..9528aa73b 100644 --- a/src/data/roadmaps/redis/content/pubsub@9W_jaK1DSEZHRKdPcUM7h.md +++ b/src/data/roadmaps/redis/content/pubsub@9W_jaK1DSEZHRKdPcUM7h.md @@ -1 +1,7 @@ -# Pub/Sub \ No newline at end of file +# Pub/Sub + +Pub/Sub in Redis is a powerful messaging paradigm that allows for real-time communication between clients through a publish/subscribe model. In this system, publishers send messages to specific channels without knowing who, if anyone, will receive them. Subscribers, on the other hand, express interest in particular channels and receive messages published to those channels instantly. This decouples the message producers from the consumers, facilitating flexible and scalable communication. Key commands in this model include `PUBLISH` for sending messages, `SUBSCRIBE` for listening to channels, and `UNSUBSCRIBE` for stopping the reception of messages. + +Visit the following resources to learn more: + +- [@official@Pub/Sub in Redis](https://redis.io/docs/latest/develop/interact/pubsub/) diff --git a/src/data/roadmaps/redis/content/rdb-vs-aof-tradeoffs@3S-qqOlfr60HR4VvDr4He.md b/src/data/roadmaps/redis/content/rdb-vs-aof-tradeoffs@3S-qqOlfr60HR4VvDr4He.md index 61ff8afe2..a45b1dd86 100644 --- a/src/data/roadmaps/redis/content/rdb-vs-aof-tradeoffs@3S-qqOlfr60HR4VvDr4He.md +++ b/src/data/roadmaps/redis/content/rdb-vs-aof-tradeoffs@3S-qqOlfr60HR4VvDr4He.md @@ -1 +1,13 @@ -# RDB vs AOF Tradeoffs \ No newline at end of file +# RDB vs AOF Tradeoffs + +When comparing RDB (Redis Database Backup) and AOF (Append-Only File) for data persistence in Redis, several trade-offs must be considered. + +**RDB** is optimized for performance and efficient storage, creating point-in-time snapshots of the dataset at specified intervals. It is faster for startup since it loads a single file and consumes less disk I/O during normal operations. However, it may lead to data loss between snapshots if the server crashes, as changes made during that interval are not saved. + +**AOF**, on the other hand, logs every write operation in real-time, allowing for more granular recovery with minimal data loss, as you can replay commands to reconstruct the dataset. This comes at the cost of increased disk I/O and potential performance overhead, especially with frequent write operations. The AOF file can also grow significantly, requiring periodic rewriting to optimize size. + +Learn more from the following resources: + +- [@official@RDB Advantages](https://redis.io/docs/latest/operate/oss_and_stack/management/persistence/#rdb-advantages) +- [@official@AOF Advantages](https://redis.io/docs/latest/operate/oss_and_stack/management/persistence/#aof-advantages) +- [@article@AOF vs RDB, Which One to Choose?](https://codedamn.com/news/backend/redis-data-persistence-aof-vs-rdb) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/real-time-analytics@bVJASI7bfSYqYnNhX83ng.md b/src/data/roadmaps/redis/content/real-time-analytics@bVJASI7bfSYqYnNhX83ng.md index 58de843ea..9330c74b5 100644 --- a/src/data/roadmaps/redis/content/real-time-analytics@bVJASI7bfSYqYnNhX83ng.md +++ b/src/data/roadmaps/redis/content/real-time-analytics@bVJASI7bfSYqYnNhX83ng.md @@ -1 +1,7 @@ -# Real-time Analytics \ No newline at end of file +# Real-time Analytics + +Real-time analytics in Redis involves the immediate processing and analysis of data as it is generated or received, enabling businesses and applications to gain insights and make decisions on-the-fly. Redis's in-memory data storage architecture allows for extremely low-latency access to data, making it ideal for scenarios such as monitoring user behavior, tracking metrics, and processing events in real-time. With support for various data structures like sorted sets for leaderboards, streams for event logging, and pub/sub for live notifications, Redis facilitates efficient aggregation, querying, and visualization of data. + +Learn more from the following resources: + +- [@official@Real-time Analytics with Redis](https://redis.io/resources/real-time-analytics-redis/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/redis-benchmark@kgHwK4N-sfh6dHjd_D_me.md b/src/data/roadmaps/redis/content/redis-benchmark@kgHwK4N-sfh6dHjd_D_me.md index 3d1d5ed7a..e7d17d221 100644 --- a/src/data/roadmaps/redis/content/redis-benchmark@kgHwK4N-sfh6dHjd_D_me.md +++ b/src/data/roadmaps/redis/content/redis-benchmark@kgHwK4N-sfh6dHjd_D_me.md @@ -1 +1,8 @@ -# redis-benchmark \ No newline at end of file +# redis-benchmark + +`redis-benchmark` is a utility provided with Redis that measures the performance of the Redis server by simulating various types of workloads. It allows users to test the speed and responsiveness of Redis commands under different conditions, providing metrics such as requests per second and latency. The tool can simulate multiple clients and different command types, such as `GET`, `SET`, and `INCR`, enabling users to evaluate the performance of their Redis configuration and hardware. By adjusting parameters like the number of parallel connections and the number of requests to be sent, `redis-benchmark` helps identify performance bottlenecks, optimize configurations, and assess the impact of changes to the Redis environment, making it a valuable tool for capacity planning and performance tuning. + +Learn more from the following resources: + +- [@official@Redis Benchmark Documentation](https://redis.io/docs/latest/operate/oss_and_stack/management/optimization/benchmarks/) +- [@article@How to benchmark the performance of a Redis server](https://www.digitalocean.com/community/tutorials/how-to-perform-redis-benchmark-tests) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/redis-enterprise@8lyXDuZJ-KHl4v2_8Ew1h.md b/src/data/roadmaps/redis/content/redis-enterprise@8lyXDuZJ-KHl4v2_8Ew1h.md index cadadc036..6daffe4c7 100644 --- a/src/data/roadmaps/redis/content/redis-enterprise@8lyXDuZJ-KHl4v2_8Ew1h.md +++ b/src/data/roadmaps/redis/content/redis-enterprise@8lyXDuZJ-KHl4v2_8Ew1h.md @@ -1 +1,3 @@ -# Redis Enterprise \ No newline at end of file +# Redis Enterprise + +Redis Enterprise is a commercial offering that extends the capabilities of open-source Redis with advanced features designed for high availability, scalability, and performance in enterprise environments. It provides automatic sharding and replication, allowing for seamless horizontal scaling across multiple nodes and data centers. Redis Enterprise supports various deployment options, including on-premises, cloud, and hybrid environments, and offers enhanced data persistence options like active-active geo-distribution for global applications. Additionally, it includes advanced security features, such as role-based access control (RBAC), encryption, and audit logging, along with built-in monitoring and management tools. Redis Enterprise is particularly suited for mission-critical applications that require low-latency access to data and robust data management capabilities, making it ideal for use cases like real-time analytics, session management, and caching. diff --git a/src/data/roadmaps/redis/content/redis-modules@hLIT00Iz7rV56ZBIUhWYn.md b/src/data/roadmaps/redis/content/redis-modules@hLIT00Iz7rV56ZBIUhWYn.md index 2c95840e4..992734b26 100644 --- a/src/data/roadmaps/redis/content/redis-modules@hLIT00Iz7rV56ZBIUhWYn.md +++ b/src/data/roadmaps/redis/content/redis-modules@hLIT00Iz7rV56ZBIUhWYn.md @@ -1 +1,11 @@ -# Redis Modules \ No newline at end of file +# Redis Modules + +Redis Modules are extensions that enhance the core functionality of Redis by adding new data types, commands, and capabilities. These modules allow developers to customize and extend Redis to better fit specific application needs without modifying the core Redis source code. Examples of popular Redis Modules include: + +1. **RediSearch**: Provides full-text search capabilities, allowing for indexing and querying data with complex search queries. +2. **RedisGraph**: Adds graph database capabilities, enabling the storage and querying of graph data using the Cypher query language. +3. **RedisJSON**: Facilitates the handling of JSON data structures, allowing for storage, retrieval, and manipulation of JSON documents within Redis. +4. **RedisTimeSeries**: Optimized for time-series data, offering features for storing, querying, and aggregating time-stamped data efficiently. +5. **RedisAI**: Integrates artificial intelligence capabilities, allowing for the execution of machine learning models directly within Redis. + +These modules enable users to leverage Redis for a wide variety of use cases, from real-time analytics and search functionalities to complex data relationships and machine learning, while maintaining the performance and simplicity of Redis as an in-memory database. \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/redis-on-flash@sWOFnbh2EyaHRzquz1UeF.md b/src/data/roadmaps/redis/content/redis-on-flash@sWOFnbh2EyaHRzquz1UeF.md index 1db2790d4..60ea38132 100644 --- a/src/data/roadmaps/redis/content/redis-on-flash@sWOFnbh2EyaHRzquz1UeF.md +++ b/src/data/roadmaps/redis/content/redis-on-flash@sWOFnbh2EyaHRzquz1UeF.md @@ -1 +1,8 @@ -# Redis on Flash \ No newline at end of file +# Redis on Flash + +Redis on Flash is a feature of Redis Enterprise that allows users to extend the memory capacity of their Redis instances by utilizing SSDs (Solid State Drives) alongside traditional RAM. This enables organizations to store larger datasets at a lower cost while maintaining the high performance that Redis is known for. In this configuration, frequently accessed data remains in RAM for fast access, while less frequently used data can be stored on Flash storage. Redis on Flash intelligently manages the data placement between memory and Flash, ensuring that performance is optimized by leveraging the speed of in-memory operations while still allowing for the efficient storage of larger datasets. This capability is particularly beneficial for use cases involving large-scale applications, such as caching, real-time analytics, and high-throughput data processing, as it allows organizations to handle big data workloads without the need for extensive investments in additional RAM. + +Learn more from the following resources: + +- [@official@Redis on Flash](https://redis.io/blog/redis-on-flash-now-3-7x-faster/) +- [@official@Redis on Flash Data Sheet](https://media.trustradius.com/product-downloadables/1V/DT/TCXS6PSOA64L.pdf) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/redis-sentinel@nci3OB1NE1zJHUPfZCOpT.md b/src/data/roadmaps/redis/content/redis-sentinel@nci3OB1NE1zJHUPfZCOpT.md index c4ca197b8..4ff3ac83e 100644 --- a/src/data/roadmaps/redis/content/redis-sentinel@nci3OB1NE1zJHUPfZCOpT.md +++ b/src/data/roadmaps/redis/content/redis-sentinel@nci3OB1NE1zJHUPfZCOpT.md @@ -1 +1,7 @@ -# Redis Sentinel \ No newline at end of file +# Redis Sentinel + +Redis Sentinel serves as a robust high-availability solution for Redis deployments, offering a comprehensive suite of monitoring, notification, and automatic failover capabilities. By continuously overseeing master and replica Redis servers, Sentinel ensures system integrity and swift response to failures. In the event of a master instance failure, it seamlessly promotes a replica to master status, reconfiguring the system to maintain service continuity with minimal downtime. + +Learn more from the following resources: + +- [@official@High Availability with Redis Sentinal](https://redis.io/docs/latest/operate/oss_and_stack/management/sentinel/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/redis-vs-sqlnosql-dbs@EvWiEx_AoxAht6sKxzW2l.md b/src/data/roadmaps/redis/content/redis-vs-sqlnosql-dbs@EvWiEx_AoxAht6sKxzW2l.md index 8be838df3..649ab00c8 100644 --- a/src/data/roadmaps/redis/content/redis-vs-sqlnosql-dbs@EvWiEx_AoxAht6sKxzW2l.md +++ b/src/data/roadmaps/redis/content/redis-vs-sqlnosql-dbs@EvWiEx_AoxAht6sKxzW2l.md @@ -1 +1,8 @@ -# Redis vs SQL/NoSQL DBs \ No newline at end of file +# Redis vs SQL/NoSQL DBs + +Redis differs significantly from traditional SQL and NoSQL databases in terms of data model, performance, and use cases. Redis is an in-memory key-value store that supports various data structures like strings, hashes, lists, and sets, allowing for flexible data handling and low-latency access. This makes it ideal for high-speed operations such as caching, real-time analytics, and session management. In contrast, SQL databases use a structured schema with tables and relationships, excelling in complex queries and transactions, while other NoSQL databases may utilize document, graph, or wide-column models to accommodate unstructured or semi-structured data. + +Learn more from the following resources: + +- [@article@Redis vs MongoDB](https://aws.amazon.com/compare/the-difference-between-redis-and-mongodb/) +- [@video@Understanding NoSQL vs SQL](https://www.youtube.com/watch?v=9JHrL0UWrWs) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/redisbloom@GwVL5CvbnHsiWb1hVh7lK.md b/src/data/roadmaps/redis/content/redisbloom@GwVL5CvbnHsiWb1hVh7lK.md index a978b9454..3f0c3fad7 100644 --- a/src/data/roadmaps/redis/content/redisbloom@GwVL5CvbnHsiWb1hVh7lK.md +++ b/src/data/roadmaps/redis/content/redisbloom@GwVL5CvbnHsiWb1hVh7lK.md @@ -1 +1,8 @@ -# RedisBloom \ No newline at end of file +# RedisBloom + +RedisBloom is a Redis module that extends the capabilities of Redis by introducing probabilistic data structures, allowing for efficient membership testing and counting while minimizing memory usage. It provides tools such as Bloom Filters, Cuckoo Filters, Count-Min Sketches, and HyperLogLogs, enabling developers to manage large datasets with high performance and low memory overhead. With Bloom Filters, for instance, users can quickly determine if an element is possibly in a set or definitely not, making it useful for applications like web caching, spam filtering, and network security. Cuckoo Filters offer similar functionality but allow for the deletion of items. Count-Min Sketches enable approximate counting of elements in a dataset, while HyperLogLogs provide efficient cardinality estimation. RedisBloom is particularly beneficial for use cases involving big data analytics, real-time monitoring, and applications requiring high throughput with limited memory resources. + +Learn more from the following resources: + +- [@official@RedisBloom](https://redis.io/probabilistic/) +- [@opensource@RedisBloom/RedisBloom - RedisBloom on GitHub](https://github.com/RedisBloom/RedisBloom) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/rediscommander@y5FPSAi6T-5X9SUfR58_-.md b/src/data/roadmaps/redis/content/rediscommander@y5FPSAi6T-5X9SUfR58_-.md index fd9db4dba..cabd97abd 100644 --- a/src/data/roadmaps/redis/content/rediscommander@y5FPSAi6T-5X9SUfR58_-.md +++ b/src/data/roadmaps/redis/content/rediscommander@y5FPSAi6T-5X9SUfR58_-.md @@ -1 +1,7 @@ -# RedisCommander \ No newline at end of file +# RedisCommander + +RedisCommander is a web-based GUI management tool for Redis that simplifies the interaction with Redis databases through a user-friendly interface. It allows users to browse, edit, and manage Redis keys and data structures easily, providing visual representations of data types such as strings, hashes, lists, sets, and sorted sets. With RedisCommander, users can perform common operations like adding, modifying, and deleting keys, as well as executing commands directly from the interface. The tool also supports features like searching for keys, viewing key details, and monitoring server performance metrics. RedisCommander is particularly useful for developers and administrators who prefer a graphical interface over command-line interaction, making it easier to manage Redis instances, troubleshoot issues, and explore data in real-time. Overall, it enhances productivity and streamlines Redis database management tasks. + +Learn more from the following resources: + +- [@opensource@joeferner/redis-commander - RedisCommander Module on GitHub](https://github.com/joeferner/redis-commander) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/redisconf@giyKPtQ-pziA064P8OQD-.md b/src/data/roadmaps/redis/content/redisconf@giyKPtQ-pziA064P8OQD-.md index 337b28016..8ec9b1047 100644 --- a/src/data/roadmaps/redis/content/redisconf@giyKPtQ-pziA064P8OQD-.md +++ b/src/data/roadmaps/redis/content/redisconf@giyKPtQ-pziA064P8OQD-.md @@ -1 +1,8 @@ -# redis.conf \ No newline at end of file +# redis.conf + +`redis.conf` is the configuration file used by Redis to set up server parameters and customize its behavior. This file allows administrators to specify various settings, including memory limits, persistence options (like RDB and AOF), network configurations (such as port and binding addresses), and security features (like password protection and access control). Key parameters within `redis.conf` include `maxmemory`, which sets the maximum amount of memory Redis can use, `save`, which defines RDB snapshot intervals, and `requirepass`, which enables password authentication for client connections. + +Learn more from the following resources: + +- [@official@Redis Configuration Documentation](https://redis.io/docs/latest/operate/oss_and_stack/management/config/) +- [@official@Redis Configuration File Example](https://redis.io/docs/latest/operate/oss_and_stack/management/config-file/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/redisinsight@XBPwHgIsXupMsyoOFkJZ0.md b/src/data/roadmaps/redis/content/redisinsight@XBPwHgIsXupMsyoOFkJZ0.md index fd004d2d3..aa487f911 100644 --- a/src/data/roadmaps/redis/content/redisinsight@XBPwHgIsXupMsyoOFkJZ0.md +++ b/src/data/roadmaps/redis/content/redisinsight@XBPwHgIsXupMsyoOFkJZ0.md @@ -1 +1,8 @@ -# RedisInsight \ No newline at end of file +# RedisInsight + +RedisInsight is an advanced graphical user interface (GUI) tool developed by Redis Labs that provides comprehensive management and monitoring capabilities for Redis databases. It offers users an intuitive interface to visualize and interact with their Redis data, making it easier to manage data structures such as strings, hashes, lists, sets, and sorted sets. With RedisInsight, users can perform tasks like querying and modifying data, running commands, and analyzing performance metrics in real-time. It includes features such as a query builder, visual data exploration, and memory analysis tools to help identify key usage patterns and potential optimization opportunities. Additionally, RedisInsight supports monitoring of multiple Redis instances, allowing administrators to keep track of performance and health across their deployments. Overall, RedisInsight enhances the user experience by simplifying complex Redis operations and providing valuable insights into database performance and data management. + +Learn more from the following resources: + +- [@official@RedisInsight](https://redis.io/insight/) +- [@opensource@RedisInsight/RedisInsight - RedisInsight Module on GitHub](https://github.com/RedisInsight/RedisInsight) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/redisjson@jicsfYw56VrbRUt7M8c85.md b/src/data/roadmaps/redis/content/redisjson@jicsfYw56VrbRUt7M8c85.md index 4c335ce61..56de76dd2 100644 --- a/src/data/roadmaps/redis/content/redisjson@jicsfYw56VrbRUt7M8c85.md +++ b/src/data/roadmaps/redis/content/redisjson@jicsfYw56VrbRUt7M8c85.md @@ -1 +1,8 @@ -# RedisJSON \ No newline at end of file +# RedisJSON + +RedisJSON is a Redis module that enables the storage, retrieval, and manipulation of JSON documents directly within Redis. It provides a rich set of commands for working with JSON data structures, allowing users to perform operations such as adding, updating, and querying JSON documents efficiently. With RedisJSON, users can store complex nested data and perform queries on specific fields, making it ideal for applications that require handling structured data without the need for additional data transformation or processing layers. Key features include support for JSONPath querying, atomic updates, and the ability to index JSON fields for faster retrieval. This module enhances Redis's capabilities, making it a suitable choice for use cases like real-time analytics, configuration management, and any application that benefits from the flexibility and performance of JSON data structures. Overall, RedisJSON allows developers to leverage the speed of Redis while working with JSON natively, streamlining data management in modern applications. + +Learn more from the following resources: + +- [@official@RedisJSON](https://redis.io/json/) +- [@opensource@RedisJSON/RedisJSON - RedisJSON Module on GitHub](https://github.com/RedisJSON/RedisJSON) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/redistimeseries@RBr8opWSh2TKXC8Fmdg0j.md b/src/data/roadmaps/redis/content/redistimeseries@RBr8opWSh2TKXC8Fmdg0j.md index 1138fddb9..37e341e4a 100644 --- a/src/data/roadmaps/redis/content/redistimeseries@RBr8opWSh2TKXC8Fmdg0j.md +++ b/src/data/roadmaps/redis/content/redistimeseries@RBr8opWSh2TKXC8Fmdg0j.md @@ -1 +1,8 @@ -# RedisTimeSeries \ No newline at end of file +# RedisTimeSeries + +RedisTimeSeries is a Redis module specifically designed for efficiently storing, querying, and managing time-series data, making it ideal for applications such as IoT monitoring, financial data analysis, and real-time analytics. It allows users to easily ingest time-stamped data, perform aggregations, and retrieve data across specified time intervals with minimal latency. The module supports features like automatic downsampling, retention policies, and powerful querying capabilities, enabling users to analyze trends and patterns over time while efficiently storing metadata alongside the time-series data. + +Learn more from the following resources: + +- [@official@RedisTimeSeries](https://redis.io/timeseries/) +- [@official@Time Series Documentation](https://redis.io/docs/latest/develop/data-types/timeseries/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/replication-basics@rSD8nJ-uNpHJVe5Hn66h7.md b/src/data/roadmaps/redis/content/replication-basics@rSD8nJ-uNpHJVe5Hn66h7.md index 137c244c7..53feb2448 100644 --- a/src/data/roadmaps/redis/content/replication-basics@rSD8nJ-uNpHJVe5Hn66h7.md +++ b/src/data/roadmaps/redis/content/replication-basics@rSD8nJ-uNpHJVe5Hn66h7.md @@ -1 +1,7 @@ -# Replication Basics \ No newline at end of file +# Replication Basics + +Replication in Redis is a process that allows data from one Redis instance (the master) to be copied to one or more Redis instances (the replicas). This mechanism enhances data availability, reliability, and scalability. When a master instance receives write operations, it propagates these changes to its replicas, ensuring they maintain an up-to-date copy of the data. Replication in Redis is asynchronous, meaning that replicas may lag behind the master, but this design improves performance by allowing the master to handle write operations without waiting for replicas to confirm the receipt of data. In addition to providing redundancy, Redis replication supports read scaling, as read operations can be distributed across replicas, reducing the load on the master. Configuring replication is straightforward, requiring minimal setup in the `redis.conf` file to designate a master and its replicas. Overall, replication is a fundamental feature in Redis that plays a crucial role in building resilient and scalable applications. + +Learn more from the following resources: + +- [@official@Redis Replication](https://redis.io/docs/latest/operate/oss_and_stack/management/replication/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/retrieval-by-pattern@UlQHqw1dbxZnAKbsWsOgU.md b/src/data/roadmaps/redis/content/retrieval-by-pattern@UlQHqw1dbxZnAKbsWsOgU.md index 86358f662..857e2a583 100644 --- a/src/data/roadmaps/redis/content/retrieval-by-pattern@UlQHqw1dbxZnAKbsWsOgU.md +++ b/src/data/roadmaps/redis/content/retrieval-by-pattern@UlQHqw1dbxZnAKbsWsOgU.md @@ -1 +1,7 @@ -# Retrieval by Pattern \ No newline at end of file +# Retrieval by Pattern + +Redis offers powerful pattern-based key retrieval, allowing users to query multiple keys using wildcard patterns. This functionality primarily relies on the KEYS command, which supports glob-style patterns such as *, ?, and [] for flexible matching. + +Learn more from the following resources: + +- [@official@SCAN Command](https://redis.io/docs/latest/commands/scan/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/rich-data-structures@uVewcyaFi1Pt2Gs0KrkfA.md b/src/data/roadmaps/redis/content/rich-data-structures@uVewcyaFi1Pt2Gs0KrkfA.md index c0b57899b..db5406a3c 100644 --- a/src/data/roadmaps/redis/content/rich-data-structures@uVewcyaFi1Pt2Gs0KrkfA.md +++ b/src/data/roadmaps/redis/content/rich-data-structures@uVewcyaFi1Pt2Gs0KrkfA.md @@ -1 +1,8 @@ -# Rich Data Structures \ No newline at end of file +# Rich Data Structures + +Redis provides data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes, and streams. + +Learn more from the following resources: + +- [@official@Data Structures](https://redis.io/redis-enterprise/data-structures/) +- [@official@Understand Redis Data Types](https://redis.io/docs/latest/develop/data-types/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/rpop@brUGqWZ287EWtvl9uUbNt.md b/src/data/roadmaps/redis/content/rpop@brUGqWZ287EWtvl9uUbNt.md index 7d32a8409..9d491cf3a 100644 --- a/src/data/roadmaps/redis/content/rpop@brUGqWZ287EWtvl9uUbNt.md +++ b/src/data/roadmaps/redis/content/rpop@brUGqWZ287EWtvl9uUbNt.md @@ -1 +1,7 @@ -# RPOP \ No newline at end of file +# RPOP + +The RPOP command removes and then returns the last elements of the list stored and the specified key, by default it will pop only a single element from the list. + +Learn more from the following resources: + +- [@official@RPOP Documentation](https://redis.io/docs/latest/commands/rpush/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/rpush@jC8G1o7yFj7D_PGmOIgcD.md b/src/data/roadmaps/redis/content/rpush@jC8G1o7yFj7D_PGmOIgcD.md index d56316843..f7f10e826 100644 --- a/src/data/roadmaps/redis/content/rpush@jC8G1o7yFj7D_PGmOIgcD.md +++ b/src/data/roadmaps/redis/content/rpush@jC8G1o7yFj7D_PGmOIgcD.md @@ -1 +1,7 @@ -# RPUSH \ No newline at end of file +# RPUSH + +The RPUSH command will insert all the specified values at the tail end o the list that is stored at the defined key, if the key does not exist then it will be created as an empty list before performing the push. + +Learn more from the following resources: + +- [@official@RPUSH Documentation](https://redis.io/docs/latest/commands/rpush/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/sadd@xUKoQps69FFQrJeuhD1pz.md b/src/data/roadmaps/redis/content/sadd@xUKoQps69FFQrJeuhD1pz.md index 1e1549355..d3a5df9b6 100644 --- a/src/data/roadmaps/redis/content/sadd@xUKoQps69FFQrJeuhD1pz.md +++ b/src/data/roadmaps/redis/content/sadd@xUKoQps69FFQrJeuhD1pz.md @@ -1 +1,7 @@ -# SADD \ No newline at end of file +# SADD + +The SADD command will add the specified members to the set which is stored and the defined key, any specified members that are already a member of the set will simply be ignored. + +Learn more from the following resources: + +- [@official@SADD Documentation](https://redis.io/docs/latest/commands/sadd/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/scard@2gZL4a9aWGKWLa89iyHTc.md b/src/data/roadmaps/redis/content/scard@2gZL4a9aWGKWLa89iyHTc.md index ac9558fb2..d1c1c4ffe 100644 --- a/src/data/roadmaps/redis/content/scard@2gZL4a9aWGKWLa89iyHTc.md +++ b/src/data/roadmaps/redis/content/scard@2gZL4a9aWGKWLa89iyHTc.md @@ -1 +1,7 @@ -# SCARD \ No newline at end of file +# SCARD + +`SCARD` is a Redis command used to get the number of members in a set, it returns the cardinality of the specified set, which is the total count of unique elements it contains. If the set does not exist, `SCARD` returns `0`. This command is useful for quickly determining the size of a set, allowing applications to make decisions based on the number of unique items, such as checking user participation in a campaign or the count of unique tags in a system. + +Learn more from the following resources: + +- [@official@](https://redis.io/docs/latest/commands/scard/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/sdiff@JX5ajmcUmkshTO-mLF8lH.md b/src/data/roadmaps/redis/content/sdiff@JX5ajmcUmkshTO-mLF8lH.md index 61dc8cb92..b424c7590 100644 --- a/src/data/roadmaps/redis/content/sdiff@JX5ajmcUmkshTO-mLF8lH.md +++ b/src/data/roadmaps/redis/content/sdiff@JX5ajmcUmkshTO-mLF8lH.md @@ -1 +1,7 @@ -# SDIFF \ No newline at end of file +# SDIFF + +The SDIFF coimmand returns the members of a set resulting from the difference between the first set and all the following sets. + +Learn more from the following resources: + +- [@official@SDIFF Documentation](https://redis.io/docs/latest/commands/sdiff/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/search@_GdTXcJO8uJlhPdfrmeXG.md b/src/data/roadmaps/redis/content/search@_GdTXcJO8uJlhPdfrmeXG.md index 6aaea9fe0..9222faccb 100644 --- a/src/data/roadmaps/redis/content/search@_GdTXcJO8uJlhPdfrmeXG.md +++ b/src/data/roadmaps/redis/content/search@_GdTXcJO8uJlhPdfrmeXG.md @@ -1 +1,8 @@ -# Search \ No newline at end of file +# Search + +Redis Search enhances the Redis experience by offering a robust set of search and query features, including a rich query language, incremental indexing for JSON and hash documents, vector search, full-text search, geospatial queries, and aggregations. These capabilities allow Redis to function as a document database, vector database, secondary index, and search engine, making it suitable for a variety of applications. + +Learn more from the following resources: + +- [@official@Search and Query](https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/search/) +- [@video@Querying, Indexing and Full-text Search in Redis](https://www.youtube.com/watch?v=infTV4ifNZY) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/security-and-compliance@ujs77bV8g8-FOm5hBtZFd.md b/src/data/roadmaps/redis/content/security-and-compliance@ujs77bV8g8-FOm5hBtZFd.md index bb7f48a22..e97ba62c5 100644 --- a/src/data/roadmaps/redis/content/security-and-compliance@ujs77bV8g8-FOm5hBtZFd.md +++ b/src/data/roadmaps/redis/content/security-and-compliance@ujs77bV8g8-FOm5hBtZFd.md @@ -1 +1,9 @@ -# Security and Compliance \ No newline at end of file +# Security and Compliance + +Security and compliance in Redis involve implementing various measures to protect data, ensure secure access, and adhere to relevant regulatory standards. Redis provides several built-in security features, such as password authentication using the `requirepass` directive, which restricts access to authorized users only. Additionally, Redis supports TLS/SSL encryption, allowing for secure communication between clients and the server, protecting data in transit from eavesdropping and tampering. Access control can be further enhanced through Redis's Access Control Lists (ACLs), which allow administrators to define user roles and permissions, controlling which commands users can execute and which keys they can access. It’s also important to configure Redis to bind to trusted network interfaces, limiting exposure to potential threats. + +Learn more from the following resources: + +- [@official@Redis Security Documentation](https://redis.io/docs/latest/operate/rs/security/) +- [@article@How to Secure Redis](https://goteleport.com/blog/secure-redis/) +- [@video@Rediscover Redis Security](https://www.youtube.com/watch?v=oD8k3ymbfkY) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/session-management@URxGmhZHr0Y8nyrYj0gJl.md b/src/data/roadmaps/redis/content/session-management@URxGmhZHr0Y8nyrYj0gJl.md index a6610f7ee..84524595b 100644 --- a/src/data/roadmaps/redis/content/session-management@URxGmhZHr0Y8nyrYj0gJl.md +++ b/src/data/roadmaps/redis/content/session-management@URxGmhZHr0Y8nyrYj0gJl.md @@ -1 +1,8 @@ -# Session Management \ No newline at end of file +# Session Management + +Redis session management leverages the database's speed and versatility for efficient web application user session handling by using key-value storage with session IDs as keys, allowing quick access and updates. + +Learn more from the following resources: + +- [@official@Redis Distributed Session Management](https://redis.io/solutions/session-management/) +- [@article@Session Management Basics with Redis](https://dev.to/koshirok096/session-management-basics-with-redis-2o2e) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/set@ltF4vCT9ZA2XuUuHnuGnN.md b/src/data/roadmaps/redis/content/set@ltF4vCT9ZA2XuUuHnuGnN.md index e70f1842e..d88c9fecc 100644 --- a/src/data/roadmaps/redis/content/set@ltF4vCT9ZA2XuUuHnuGnN.md +++ b/src/data/roadmaps/redis/content/set@ltF4vCT9ZA2XuUuHnuGnN.md @@ -1 +1,7 @@ -# SET \ No newline at end of file +# SET + +The SET command sets the defined key to hold a value, if the key already holds a value then it will be overwritten regardless of its type. + +Learn more from the following resources: + +- [@official@SET Command](https://redis.io/docs/latest/commands/set/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/setbit@B-YUFhPQNdr1KZNupmR5N.md b/src/data/roadmaps/redis/content/setbit@B-YUFhPQNdr1KZNupmR5N.md index e917e5395..375953875 100644 --- a/src/data/roadmaps/redis/content/setbit@B-YUFhPQNdr1KZNupmR5N.md +++ b/src/data/roadmaps/redis/content/setbit@B-YUFhPQNdr1KZNupmR5N.md @@ -1 +1,7 @@ -# SETBIT \ No newline at end of file +# SETBIT + +The SETBIT command sets or clearts the bit at the specified offset in the string value that is stored at the specified key. When the key does not exist, a new string value will be created and the string is grown to make sure it can hold a bit to the same value as the earlier defined offset. + +Learn more from the following resources: + +- [@official@SETBIT command](https://redis.io/docs/latest/commands/setbit/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/sets@Qgkpr9vf9d6-vUg1o8XFj.md b/src/data/roadmaps/redis/content/sets@Qgkpr9vf9d6-vUg1o8XFj.md index 26fb09257..0975574a5 100644 --- a/src/data/roadmaps/redis/content/sets@Qgkpr9vf9d6-vUg1o8XFj.md +++ b/src/data/roadmaps/redis/content/sets@Qgkpr9vf9d6-vUg1o8XFj.md @@ -1 +1,7 @@ -# Sets \ No newline at end of file +# Sets + +A Redis set is an unordered collection of members which can be used to track unique items, represent relations and preform set operations. + +Learn more from the following resources: + +- [@official@Redis Sets](https://redis.io/docs/latest/develop/data-types/sets/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/setting-and-getting-keys@DOdNkTY1yIMipWA2CD9xH.md b/src/data/roadmaps/redis/content/setting-and-getting-keys@DOdNkTY1yIMipWA2CD9xH.md new file mode 100644 index 000000000..14ef3e80c --- /dev/null +++ b/src/data/roadmaps/redis/content/setting-and-getting-keys@DOdNkTY1yIMipWA2CD9xH.md @@ -0,0 +1,7 @@ +# Setting and Getting Keys + +In Redis, setting keys refers to the operation of storing keys by associating them with unique identifiers (keys), it's the process of writing or updating data in the systems. Getting keys refers to the process of retrieving data from the system using the associated key. + +Learn more from the following resources: + +- [@article@Set key values](https://www.w3resource.com/redis/redis-set-key-value.php) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/settings-and-getting-keys@DOdNkTY1yIMipWA2CD9xH.md b/src/data/roadmaps/redis/content/settings-and-getting-keys@DOdNkTY1yIMipWA2CD9xH.md deleted file mode 100644 index 074e1d36f..000000000 --- a/src/data/roadmaps/redis/content/settings-and-getting-keys@DOdNkTY1yIMipWA2CD9xH.md +++ /dev/null @@ -1 +0,0 @@ -# Settings and Getting Keys \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/sinter@5aLfNBewK4Dx017qVNO3T.md b/src/data/roadmaps/redis/content/sinter@5aLfNBewK4Dx017qVNO3T.md index f4d9217be..bfb380d45 100644 --- a/src/data/roadmaps/redis/content/sinter@5aLfNBewK4Dx017qVNO3T.md +++ b/src/data/roadmaps/redis/content/sinter@5aLfNBewK4Dx017qVNO3T.md @@ -1 +1,7 @@ -# SINTER \ No newline at end of file +# SINTER + +The SINTER command will return members of the set which will result in the intersection of all the given sets, keys that do not exist are considered to be empty sets. + +Learn more from the following resources: + +- [@official@SINTER Documentation](https://redis.io/docs/latest/commands/sinter/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/sismember@Ji5ghlcGJtlmErHFqVf3d.md b/src/data/roadmaps/redis/content/sismember@Ji5ghlcGJtlmErHFqVf3d.md index 7bf843a33..c7fdf52e7 100644 --- a/src/data/roadmaps/redis/content/sismember@Ji5ghlcGJtlmErHFqVf3d.md +++ b/src/data/roadmaps/redis/content/sismember@Ji5ghlcGJtlmErHFqVf3d.md @@ -1 +1,7 @@ -# SISMEMBER \ No newline at end of file +# SISMEMBER + +The SISMEMBER command will simply return a boolean value is the members is a part of the set stored at key. + +Learn more from the following resources: + +- [@official@SISMEMBER](https://redis.io/docs/latest/commands/sismember/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/slow-log-analysis@yaCWw2KjX58SaPajUAb0d.md b/src/data/roadmaps/redis/content/slow-log-analysis@yaCWw2KjX58SaPajUAb0d.md index ee145ef3e..0462d6273 100644 --- a/src/data/roadmaps/redis/content/slow-log-analysis@yaCWw2KjX58SaPajUAb0d.md +++ b/src/data/roadmaps/redis/content/slow-log-analysis@yaCWw2KjX58SaPajUAb0d.md @@ -1 +1,8 @@ -# Slow Log Analysis \ No newline at end of file +# Slow Log Analysis + +The Redis Slow Log in a system to log any queries that take longer than a specified time. The execution time does not include any I/O operations such as talking with the client, just the time need to execute the specified command. + +Learn more from the following resources: + +- [@official@SLOWLOG](https://redis.io/docs/latest/commands/slowlog/) +- [@official@View Redis Slow Log](https://redis.io/docs/latest/operate/rs/clusters/logging/redis-slow-log/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/smembers@mQ0ILns53n1By0Tq6xSZI.md b/src/data/roadmaps/redis/content/smembers@mQ0ILns53n1By0Tq6xSZI.md index 56d51b555..c92791607 100644 --- a/src/data/roadmaps/redis/content/smembers@mQ0ILns53n1By0Tq6xSZI.md +++ b/src/data/roadmaps/redis/content/smembers@mQ0ILns53n1By0Tq6xSZI.md @@ -1 +1,7 @@ -# SMEMBERS \ No newline at end of file +# SMEMBERS + +The SMEMBERS command returns all the members of the set that is defined at key. + +Learn more from the following resources: + +- [@official@SMEMBERS Documentation](https://redis.io/docs/latest/commands/smembers/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/sorted-sets@QTbkWZ7BpqYmBhUivccPu.md b/src/data/roadmaps/redis/content/sorted-sets@QTbkWZ7BpqYmBhUivccPu.md index b766b7e1f..4f1da1eb4 100644 --- a/src/data/roadmaps/redis/content/sorted-sets@QTbkWZ7BpqYmBhUivccPu.md +++ b/src/data/roadmaps/redis/content/sorted-sets@QTbkWZ7BpqYmBhUivccPu.md @@ -1 +1,3 @@ -# Sorted Sets \ No newline at end of file +# Sorted Sets + +A sorted set in Redis is a collection of unique strings, or members, that are ordered by an associated score. When more than one string has the same score, the strings are ordered lexicographically. \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/srem@WQWVL5GT_scHdgfCtI7WT.md b/src/data/roadmaps/redis/content/srem@WQWVL5GT_scHdgfCtI7WT.md index dfd50855b..1f9f3aef1 100644 --- a/src/data/roadmaps/redis/content/srem@WQWVL5GT_scHdgfCtI7WT.md +++ b/src/data/roadmaps/redis/content/srem@WQWVL5GT_scHdgfCtI7WT.md @@ -1 +1,7 @@ -# SREM \ No newline at end of file +# SREM + +The SREM command will remove the specified members from the set stored at the defined key, specified members that are not a member of the set will be ignored. + +Learn more from the following resources: + +- [@official@SREM Documentation](https://redis.io/docs/latest/commands/srem/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/ssltls-encryption@gdiWwTQg6A-BFHdQBmgmH.md b/src/data/roadmaps/redis/content/ssltls-encryption@gdiWwTQg6A-BFHdQBmgmH.md index 3fb08352c..42dcb000f 100644 --- a/src/data/roadmaps/redis/content/ssltls-encryption@gdiWwTQg6A-BFHdQBmgmH.md +++ b/src/data/roadmaps/redis/content/ssltls-encryption@gdiWwTQg6A-BFHdQBmgmH.md @@ -1 +1,8 @@ -# SSL/TLS Encryption \ No newline at end of file +# SSL/TLS Encryption + +SSL/TLS is supported by Redis starting with version 6 as an optional feature that needs to be enabled at compile time. TLS will add a layer to the communication stack with overheads due to the read and writes from an SSL connection and integrity checks, this will lead to a decrease of achieveable throughput. + +Learn more from the following resources: + +- [@official@Redis TLS Support](https://redis.io/docs/latest/operate/oss_and_stack/management/security/encryption/#getting-started) +- [@official@Transport Layer Security Documentation](https://redis.io/docs/latest/operate/rc/security/database-security/tls-ssl/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/starting-the-server@43LvShQhmoWQ8Nye7fLkz.md b/src/data/roadmaps/redis/content/starting-the-server@43LvShQhmoWQ8Nye7fLkz.md index a5f9f8b2d..e8d41b26f 100644 --- a/src/data/roadmaps/redis/content/starting-the-server@43LvShQhmoWQ8Nye7fLkz.md +++ b/src/data/roadmaps/redis/content/starting-the-server@43LvShQhmoWQ8Nye7fLkz.md @@ -1 +1,9 @@ -# Starting the Server \ No newline at end of file +# Starting the Server + +Starting a Redis server is platform dependant and is usually done via `systemctl` on Linux or `brew services` on MacOS. + +Learn more from the following resources: + +- [@official@Start and stop Redis on MacOS](https://redis.io/docs/latest/operate/oss_and_stack/install/install-redis/install-redis-on-mac-os/#starting-and-stopping-redis-in-the-foreground) +- [@official@Start and stop Redis on Ubuntu/Debian](https://redis.io/docs/latest/operate/oss_and_stack/install/install-redis/install-redis-on-linux/#starting-and-stopping-redis-in-the-background) +- [@official@Install and start Redis on WSL2](https://redis.io/docs/latest/operate/oss_and_stack/install/install-redis/install-redis-on-windows/#install-redis) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/streams@zXs_9n2yEb_eVi0WuOQKH.md b/src/data/roadmaps/redis/content/streams@zXs_9n2yEb_eVi0WuOQKH.md index db4757f0c..ebb5ef0ad 100644 --- a/src/data/roadmaps/redis/content/streams@zXs_9n2yEb_eVi0WuOQKH.md +++ b/src/data/roadmaps/redis/content/streams@zXs_9n2yEb_eVi0WuOQKH.md @@ -1 +1,3 @@ -# Streams \ No newline at end of file +# Streams + +A Redis stream is a data structure that acts like an append-only log but can also implement multiple operations to overcome limits seen in typical append-only logs. These include random access in O(1) time and complex consumption strategies, such as consumer groups. \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/strings@Wl23Jh-ASJOQ850yjaTIU.md b/src/data/roadmaps/redis/content/strings@Wl23Jh-ASJOQ850yjaTIU.md index def954523..c68479272 100644 --- a/src/data/roadmaps/redis/content/strings@Wl23Jh-ASJOQ850yjaTIU.md +++ b/src/data/roadmaps/redis/content/strings@Wl23Jh-ASJOQ850yjaTIU.md @@ -1 +1,3 @@ -# Strings \ No newline at end of file +# Strings + +Strings in Redis are binary-safe, meaning they can contain any kind of data, including text, integers, floats, or even binary data like images and they can hold up to 512 MB of data per key. Redis strings support a wide range of operations, from basic CRUD (Create, Read, Update, Delete) to more complex manipulations like incrementing/decrementing numeric values, appending data, or extracting substrings. \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/strlen@eJQW986HM4Wf1o1i2FnXs.md b/src/data/roadmaps/redis/content/strlen@eJQW986HM4Wf1o1i2FnXs.md index fdcc6ed06..7800db6ff 100644 --- a/src/data/roadmaps/redis/content/strlen@eJQW986HM4Wf1o1i2FnXs.md +++ b/src/data/roadmaps/redis/content/strlen@eJQW986HM4Wf1o1i2FnXs.md @@ -1 +1,7 @@ -# STRLEN \ No newline at end of file +# STRLEN + +The STRLEN command returns the length of a string value that is stored at the defined key, if no string value is help at the key then an error will be returned. + +Learn more from the following resources: + +- [@official@STRLEN Documentation](https://redis.io/docs/latest/commands/strlen/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/subscribe@55BCntuWlaQiLPqNtb-2i.md b/src/data/roadmaps/redis/content/subscribe@55BCntuWlaQiLPqNtb-2i.md index 4f27a5e62..4336635d6 100644 --- a/src/data/roadmaps/redis/content/subscribe@55BCntuWlaQiLPqNtb-2i.md +++ b/src/data/roadmaps/redis/content/subscribe@55BCntuWlaQiLPqNtb-2i.md @@ -1 +1,7 @@ -# SUBSCRIBE \ No newline at end of file +# SUBSCRIBE + +The SUBSCRIBE command subscribes the client to the channels specified, once subscribed the client enters a state where it is not supposed to issue any other commands, except from those in the SUBSCRIBE subset i.e. SSUBSCRIBE, PSUBSCRIBE etc. + +Learn more from the following resources: + +- [@official@SUBSCRIBE Documentation](https://redis.io/docs/latest/commands/subscribe/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/sunion@6QoYa-N2BKNBaRtvNeVNm.md b/src/data/roadmaps/redis/content/sunion@6QoYa-N2BKNBaRtvNeVNm.md index 8e30ae2d7..00500ff09 100644 --- a/src/data/roadmaps/redis/content/sunion@6QoYa-N2BKNBaRtvNeVNm.md +++ b/src/data/roadmaps/redis/content/sunion@6QoYa-N2BKNBaRtvNeVNm.md @@ -1 +1,7 @@ -# SUNION \ No newline at end of file +# SUNION + +The SUNION command returns the members of a set resulting in a union of all the given sets. + +Learn more from the following resources: + +- [@official@SUNION Documentation](https://redis.io/docs/latest/commands/sunion/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/transactions@YHbWlKrQqptUDbaQVy0_A.md b/src/data/roadmaps/redis/content/transactions@YHbWlKrQqptUDbaQVy0_A.md index 0125c964d..eec396bed 100644 --- a/src/data/roadmaps/redis/content/transactions@YHbWlKrQqptUDbaQVy0_A.md +++ b/src/data/roadmaps/redis/content/transactions@YHbWlKrQqptUDbaQVy0_A.md @@ -1 +1,11 @@ -# Transactions \ No newline at end of file +# Transactions + +Redis Transactions allow the execution of a group of commands in a single step, they are centered around the commands MULTI, EXEC, DISCARD and WATCH. + +Learn more from the following resources: + +- [@official@Transactions](https://redis.io/docs/latest/develop/interact/transactions/) +- [@official@MULTI](https://redis.io/docs/latest/commands/multi/) +- [@official@EXEC](https://redis.io/docs/latest/commands/exec/) +- [@official@DISCARD](https://redis.io/docs/latest/commands/discard/) +- [@official@WATCH](https://redis.io/docs/latest/commands/watch/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/truncation--corruption@9ToKTUqbi-NV5Wcwb21PT.md b/src/data/roadmaps/redis/content/truncation--corruption@9ToKTUqbi-NV5Wcwb21PT.md index e5ccfe593..d07178930 100644 --- a/src/data/roadmaps/redis/content/truncation--corruption@9ToKTUqbi-NV5Wcwb21PT.md +++ b/src/data/roadmaps/redis/content/truncation--corruption@9ToKTUqbi-NV5Wcwb21PT.md @@ -1 +1,9 @@ -# Truncation / Corruption \ No newline at end of file +# Truncation / Corruption + +Truncation and corruption typically refer to scenarios where data is unexpectedly cut off or altered, compromising its integrity. This can occur due to various reasons, such as sudden power failures, system crashes, or disk errors. Redis mitigates these risks through its persistence mechanisms like RDB snapshots and AOF (Append-Only File) logs. + +Learn more from the following resources: + +- [@official@AOF Advantages](https://redis.io/docs/latest/operate/oss_and_stack/management/persistence/#aof-advantages) +- [@official@What should I do if my AOF gets truncated?](https://redis.io/docs/latest/operate/oss_and_stack/management/persistence/#what-should-i-do-if-my-aof-gets-truncated) +- [@official@What should I do if my AOF gets corrupted?](https://redis.io/docs/latest/operate/oss_and_stack/management/persistence/#what-should-i-do-if-my-aof-gets-corrupted) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/ttl@Vll7VMmGWSI5XGZ9JpHyl.md b/src/data/roadmaps/redis/content/ttl@Vll7VMmGWSI5XGZ9JpHyl.md index 6b0b4bab9..400e4c09b 100644 --- a/src/data/roadmaps/redis/content/ttl@Vll7VMmGWSI5XGZ9JpHyl.md +++ b/src/data/roadmaps/redis/content/ttl@Vll7VMmGWSI5XGZ9JpHyl.md @@ -1 +1,7 @@ -# TTL \ No newline at end of file +# TTL + +The TTL command returns the remaining time left to live of a key that is specified, this capability allows a Redis client to check how many seconds a given key will continue to be a part of a dataset. + +Learn more from the following resources: + +- [@official@TTL Documentation](https://redis.io/docs/latest/commands/ttl/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/unsubscribe@5gkZzm2F4vu6IxUoJLYbK.md b/src/data/roadmaps/redis/content/unsubscribe@5gkZzm2F4vu6IxUoJLYbK.md index 45c5b7e4b..50e7207c7 100644 --- a/src/data/roadmaps/redis/content/unsubscribe@5gkZzm2F4vu6IxUoJLYbK.md +++ b/src/data/roadmaps/redis/content/unsubscribe@5gkZzm2F4vu6IxUoJLYbK.md @@ -1 +1,7 @@ -# UNSUBSCRIBE \ No newline at end of file +# UNSUBSCRIBE + +The UNSUBSCRIBE command unsubscribes the client for the given channels, or all channels if none are specifically stated. + +Learn more from the following resources: + +- [@official@UNSUBSCRIBE Documentation](https://redis.io/docs/latest/commands/unsubscribe/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/upgrading-redis@Cb-KazR4PuR86VX5oT0zi.md b/src/data/roadmaps/redis/content/upgrading-redis@Cb-KazR4PuR86VX5oT0zi.md index 5077d79cb..fa5d87b76 100644 --- a/src/data/roadmaps/redis/content/upgrading-redis@Cb-KazR4PuR86VX5oT0zi.md +++ b/src/data/roadmaps/redis/content/upgrading-redis@Cb-KazR4PuR86VX5oT0zi.md @@ -1 +1,8 @@ -# Upgrading Redis \ No newline at end of file +# Upgrading Redis + +Upgrading Redis typically involves careful planning and execution to ensure minimal downtime and data integrity. The process generally includes backing up your data, installing the new Redis version, updating configuration files to accommodate any new settings or deprecated options, and restarting the Redis server. + +Learn more from the following resources: + +- [@official@Redis Administration](https://redis.io/docs/latest/operate/oss_and_stack/management/admin/) +- [@official@Upgrading or Restarting a Redis instance without downtime](https://redis.io/docs/latest/operate/oss_and_stack/management/admin/#upgrading-or-restarting-a-redis-instance-without-downtime) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/using-docker@TDxv0q7jlZ26uZYYlneem.md b/src/data/roadmaps/redis/content/using-docker@TDxv0q7jlZ26uZYYlneem.md index 228c87fb3..e9aa2e5b9 100644 --- a/src/data/roadmaps/redis/content/using-docker@TDxv0q7jlZ26uZYYlneem.md +++ b/src/data/roadmaps/redis/content/using-docker@TDxv0q7jlZ26uZYYlneem.md @@ -1 +1,8 @@ -# Using Docker \ No newline at end of file +# Using Docker + +Redis Community Edition can be installed on Docker but it is recommended to complete the installation of Redis Stack in order to gain access to the modeling capabilities, be able to seach and query data, as well as using Redis as a vector database. + +Learn more from the following resources: + +- [@official@How can I install Redis on Docker?](https://redis.io/kb/doc/1hcec8xg9w/how-can-i-install-redis-on-docker) +- [@official@redis/redis-stack-server](https://hub.docker.com/r/redis/redis-stack-server) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/using-package-managers@Bf_kLfmy7_uflqC9N0-jt.md b/src/data/roadmaps/redis/content/using-package-managers@Bf_kLfmy7_uflqC9N0-jt.md index 67f35f74e..c9c627455 100644 --- a/src/data/roadmaps/redis/content/using-package-managers@Bf_kLfmy7_uflqC9N0-jt.md +++ b/src/data/roadmaps/redis/content/using-package-managers@Bf_kLfmy7_uflqC9N0-jt.md @@ -1 +1,9 @@ -# Using Package Managers \ No newline at end of file +# Using Package Managers + +Redis can be installed on Linux, MacOS and WSL2 via the platform specific package managers such as yum, apt and brew. + +Learn more from the following resources: + +- [@official@Install via apt](https://redis.io/docs/latest/operate/oss_and_stack/install/install-stack/linux/) +- [@official@Install via brew](https://redis.io/docs/latest/operate/oss_and_stack/install/install-redis/install-redis-on-mac-os/) +- [@official@Install on WSL2](https://redis.io/docs/latest/operate/oss_and_stack/install/install-redis/install-redis-on-windows/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/watch@c-y5Eck8VtSyIf8RAW9p7.md b/src/data/roadmaps/redis/content/watch@c-y5Eck8VtSyIf8RAW9p7.md index 051ed5371..945530832 100644 --- a/src/data/roadmaps/redis/content/watch@c-y5Eck8VtSyIf8RAW9p7.md +++ b/src/data/roadmaps/redis/content/watch@c-y5Eck8VtSyIf8RAW9p7.md @@ -1 +1,7 @@ -# WATCH \ No newline at end of file +# WATCH + +The WATCH command marks the given keys to be watched for conditional execution of a transaction. It's a critical component of Redis's approach to handling race conditions in multi-key transactions. + +Learn more from the following resources: + +- [@official@WATCH Documentation](https://redis.io/docs/latest/commands/watch/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/when-to-choose-redis@1Af5H0BgdAsRdBCNdHz5v.md b/src/data/roadmaps/redis/content/when-to-choose-redis@1Af5H0BgdAsRdBCNdHz5v.md index 0940d61b0..ea618fc7d 100644 --- a/src/data/roadmaps/redis/content/when-to-choose-redis@1Af5H0BgdAsRdBCNdHz5v.md +++ b/src/data/roadmaps/redis/content/when-to-choose-redis@1Af5H0BgdAsRdBCNdHz5v.md @@ -1 +1,8 @@ -# When to choose Redis? \ No newline at end of file +# When to choose Redis? + +Redis is ideal when you need a fast, in-memory data store with low latency and high throughput. It's particularly well-suited for caching, session management, real-time analytics, leaderboards, and message queues. + +Learn more from the following resources: + +- [@official@Introduction to Redis](https://redis.io/about/) +- [@video@Why Use Redis For All Your Applications](https://www.youtube.com/watch?v=ZL4cHe3oL84) diff --git a/src/data/roadmaps/redis/content/when-to-consider-enterprise@JlLwy69eQ1bPHAOOJNqjo.md b/src/data/roadmaps/redis/content/when-to-consider-enterprise@JlLwy69eQ1bPHAOOJNqjo.md index f954085c5..fa8713c02 100644 --- a/src/data/roadmaps/redis/content/when-to-consider-enterprise@JlLwy69eQ1bPHAOOJNqjo.md +++ b/src/data/roadmaps/redis/content/when-to-consider-enterprise@JlLwy69eQ1bPHAOOJNqjo.md @@ -1 +1,8 @@ -# When to consider enterprise? \ No newline at end of file +# When to consider enterprise? + +Redis Enterprise is typically considered when an organization requires enhanced scalability, high availability, and advanced features beyond what open-source Redis provides. It's particularly valuable for large-scale applications with demanding performance requirements, complex architectures, or mission-critical deployments. + +Learn more from the following resources: + +- [@official@About Redis Enterprise](https://redis.io/about/redis-enterprise/) +- [@official@Redis Enterprise Website](https://redis.io/enterprise/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/xadd@7isWhgrUA6M5IGM2U2tm4.md b/src/data/roadmaps/redis/content/xadd@7isWhgrUA6M5IGM2U2tm4.md index f2199f8d0..adc450a33 100644 --- a/src/data/roadmaps/redis/content/xadd@7isWhgrUA6M5IGM2U2tm4.md +++ b/src/data/roadmaps/redis/content/xadd@7isWhgrUA6M5IGM2U2tm4.md @@ -1 +1,7 @@ -# XADD \ No newline at end of file +# XADD + +The XADD command used to append new entries to a stream data structure. It allows you to add one or more field-value pairs as a single entry, automatically assigning a unique ID to each new entry. + +Learn more from the following resources: + +- [@official@XADD Documentation](https://redis.io/docs/latest/commands/xadd/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/xlen@DQJCMEw13lELcw_AwLfrT.md b/src/data/roadmaps/redis/content/xlen@DQJCMEw13lELcw_AwLfrT.md index 0c5bc2b35..c4a50b5da 100644 --- a/src/data/roadmaps/redis/content/xlen@DQJCMEw13lELcw_AwLfrT.md +++ b/src/data/roadmaps/redis/content/xlen@DQJCMEw13lELcw_AwLfrT.md @@ -1 +1,7 @@ -# XLEN \ No newline at end of file +# XLEN + +The XLEN command used to get the length of a stream, returning the number of entries it contains. This simple yet powerful command provides a quick way to assess the size of a stream without retrieving its contents. Unlike other Redis types, zero-length streams are possible so XLEN should be used in tandem with TYPE or EXISTS. + +Learn more from the following resources: + +- [@official@XLEN Documentation](https://redis.io/docs/latest/commands/xlen/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/xrange@CiYFuYE8XudZkR6AW2NQ7.md b/src/data/roadmaps/redis/content/xrange@CiYFuYE8XudZkR6AW2NQ7.md index f2ef80a32..ededcf6d8 100644 --- a/src/data/roadmaps/redis/content/xrange@CiYFuYE8XudZkR6AW2NQ7.md +++ b/src/data/roadmaps/redis/content/xrange@CiYFuYE8XudZkR6AW2NQ7.md @@ -1 +1,7 @@ -# XRANGE \ No newline at end of file +# XRANGE + +The XRANGE command used for retrieving messages from a stream. It allows you to query a range of messages based on their IDs, returning them in chronological order. This command is particularly useful for reading a portion of a stream's history, enabling efficient data retrieval and processing. + +Learn more from the following resources: + +- [@official@XRANGE Documentation](https://redis.io/docs/latest/commands/xrange/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/xread@4sKiAtX5aIL4NDsQkilNC.md b/src/data/roadmaps/redis/content/xread@4sKiAtX5aIL4NDsQkilNC.md index b49d11a5e..f14d417b2 100644 --- a/src/data/roadmaps/redis/content/xread@4sKiAtX5aIL4NDsQkilNC.md +++ b/src/data/roadmaps/redis/content/xread@4sKiAtX5aIL4NDsQkilNC.md @@ -1 +1,7 @@ -# XREAD \ No newline at end of file +# XREAD + +The XREAD command reads data from one or more streams, only returning entired with an ID greater than the last recieved ID. + +Learn more from the following resources: + +- [@official@XREAD Documentation](https://redis.io/docs/latest/commands/xread/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/zadd@0swsBD0sOY-o5lzibT999.md b/src/data/roadmaps/redis/content/zadd@0swsBD0sOY-o5lzibT999.md index 77fa7ed01..6b8875540 100644 --- a/src/data/roadmaps/redis/content/zadd@0swsBD0sOY-o5lzibT999.md +++ b/src/data/roadmaps/redis/content/zadd@0swsBD0sOY-o5lzibT999.md @@ -1 +1,7 @@ -# ZADD \ No newline at end of file +# ZADD + +The ZADD command adds all of the specified members with the specified scores to the sorted set defined at `key`. + +Learn more from the following resources: + +- [@official@ZADD Documentation](https://redis.io/docs/latest/commands/zadd/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/zcount@O-fZM_U-tW0pYtNzN_8Ax.md b/src/data/roadmaps/redis/content/zcount@O-fZM_U-tW0pYtNzN_8Ax.md index 073a96f51..4f347c186 100644 --- a/src/data/roadmaps/redis/content/zcount@O-fZM_U-tW0pYtNzN_8Ax.md +++ b/src/data/roadmaps/redis/content/zcount@O-fZM_U-tW0pYtNzN_8Ax.md @@ -1 +1,7 @@ -# ZCOUNT \ No newline at end of file +# ZCOUNT + +ZCOUNT returns the number of elements in the sorted set at the targetted `key`, with a score between `min` and `max`. + +Learn more from the following resources: + +- [@official@ZCOUNT Documentation](https://redis.io/docs/latest/commands/zcount/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/zincrby@W4v7FIQr2k-Vbm-HdfKog.md b/src/data/roadmaps/redis/content/zincrby@W4v7FIQr2k-Vbm-HdfKog.md index 81d4e720f..4c8008883 100644 --- a/src/data/roadmaps/redis/content/zincrby@W4v7FIQr2k-Vbm-HdfKog.md +++ b/src/data/roadmaps/redis/content/zincrby@W4v7FIQr2k-Vbm-HdfKog.md @@ -1 +1,7 @@ -# ZINCRBY \ No newline at end of file +# ZINCRBY + +ZINCRBY increments the score of a member in a sorted set by the defined increment. If the member targeted does not exists in the sorted set then it will be added and will be assigned the value of the increment. If the key does not exists that ZINCRBY will created the set with the targeted member as it's only member. + +Learn more from the following resources: + +- [@official@ZINCRBY Documentation](https://redis.io/docs/latest/commands/zincrby/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/zrange@3pFChX6YIItrBz9lxu4XM.md b/src/data/roadmaps/redis/content/zrange@3pFChX6YIItrBz9lxu4XM.md index a294ed26c..c19e6c9f1 100644 --- a/src/data/roadmaps/redis/content/zrange@3pFChX6YIItrBz9lxu4XM.md +++ b/src/data/roadmaps/redis/content/zrange@3pFChX6YIItrBz9lxu4XM.md @@ -1 +1,7 @@ -# ZRANGE \ No newline at end of file +# ZRANGE + +The ZRANGE command can perform multiple range queries including by rank, by score or by lexiographical order. The order of elements returned are always from lowest to highest and any score ties are resolved using reverse lexiographical ordering. + +Learn more from the following resourceS: + +- [@official@ZRANGE Documentation](https://redis.io/docs/latest/commands/zrange/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/zrangebyscore@OlbixGa5RmdqEt7snY04j.md b/src/data/roadmaps/redis/content/zrangebyscore@OlbixGa5RmdqEt7snY04j.md index 603407d3e..e8627101e 100644 --- a/src/data/roadmaps/redis/content/zrangebyscore@OlbixGa5RmdqEt7snY04j.md +++ b/src/data/roadmaps/redis/content/zrangebyscore@OlbixGa5RmdqEt7snY04j.md @@ -1 +1,7 @@ -# ZRANGEBYSCORE \ No newline at end of file +# ZRANGEBYSCORE + +This command retrieves elements from a sorted set stored at the specified key. It returns all elements with scores falling within the given min and max range, inclusive of both boundaries. Elements are ordered from lowest to highest score. For elements sharing the same score, the command returns them in lexicographical order. This ordering is an inherent property of Redis sorted sets and requires no additional computation. + +Learn more from the following resources: + +- [@official@ZRANGEBYSCORE Documentation](https://redis.io/docs/latest/commands/zrangebyscore/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/zrank@AF_kWM4V8n5Ux06IgEVTl.md b/src/data/roadmaps/redis/content/zrank@AF_kWM4V8n5Ux06IgEVTl.md index e38b7a1b4..080891a6d 100644 --- a/src/data/roadmaps/redis/content/zrank@AF_kWM4V8n5Ux06IgEVTl.md +++ b/src/data/roadmaps/redis/content/zrank@AF_kWM4V8n5Ux06IgEVTl.md @@ -1 +1,7 @@ -# ZRANK \ No newline at end of file +# ZRANK + +ZRANK returns the rank of member in the sorted set stored at key, with the scores ordered from low to high. The rank is 0-based, which means that the member with the lowest score has rank 0. The optional WITHSCORE argument supplements the command's reply with the score of the element returned. + +Learn more from the following resources: + +- [@official@ZRANK Documentation](https://redis.io/docs/latest/commands/zrank/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/content/zrem@m0FZDPwNE71zcwM_gUwz0.md b/src/data/roadmaps/redis/content/zrem@m0FZDPwNE71zcwM_gUwz0.md index d5fe26188..f3bfe47b8 100644 --- a/src/data/roadmaps/redis/content/zrem@m0FZDPwNE71zcwM_gUwz0.md +++ b/src/data/roadmaps/redis/content/zrem@m0FZDPwNE71zcwM_gUwz0.md @@ -1 +1,7 @@ -# ZREM \ No newline at end of file +# ZREM + +Removes the specified members from the sorted set stored at key. Non existing members are ignored. An error is returned when key exists and does not hold a sorted set. + +Learn more from the following resources: + +- [@official@ZREM Documentation](https://redis.io/docs/latest/commands/zrem/) \ No newline at end of file diff --git a/src/data/roadmaps/redis/redis.json b/src/data/roadmaps/redis/redis.json index 60ddd2c32..5d80c9196 100644 --- a/src/data/roadmaps/redis/redis.json +++ b/src/data/roadmaps/redis/redis.json @@ -1 +1 @@ -{"nodes":[{"id":"H3njQtlasgGo0-IFiFZqL","type":"section","position":{"x":-773.4644850173872,"y":3639.6036656653055},"width":285,"height":217,"style":{"width":285,"height":217},"selected":true,"data":{"style":{"backgroundColor":"#ffffff","borderColor":"#000000"}},"dragging":false,"positionAbsolute":{"x":-773.4644850173872,"y":3639.6036656653055},"selectable":true,"focusable":true},{"id":"jdF_BPDRWuFJpgXw7Rds0","type":"section","position":{"x":-217.03386624713073,"y":2890.0682184225393},"width":231,"height":323,"style":{"width":231,"height":323},"selected":true,"data":{"style":{"backgroundColor":"#ffffff","borderColor":"#000000"}},"positionAbsolute":{"x":-217.03386624713073,"y":2890.0682184225393},"dragging":false,"selectable":true,"focusable":true},{"id":"7ETrwXaK2xR1AoS7tTyzW","type":"section","position":{"x":66.37632224296237,"y":2962.163811355771},"selected":true,"data":{"label":"","style":{"width":150,"height":100,"fontSize":17,"backgroundColor":"#ffffff","borderColor":"#000000"}},"zIndex":-999,"width":193,"height":253,"style":{"width":193,"height":253},"resizing":false,"positionAbsolute":{"x":66.37632224296237,"y":2962.163811355771},"dragging":false,"selectable":true,"focusable":true},{"id":"NLTXQpEiKE6rNo3tmN-EU","type":"section","position":{"x":-796.6812271795868,"y":3056.3469766128146},"selected":true,"data":{"label":"","style":{"width":150,"height":100,"fontSize":17,"backgroundColor":"#ffffff","borderColor":"#000000"}},"zIndex":-999,"width":270,"height":173,"style":{"width":270,"height":173},"positionAbsolute":{"x":-796.6812271795868,"y":3056.3469766128146},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"7b0qKpLRQkkSzCA_x3bsP","type":"section","position":{"x":-796.5040036977603,"y":2570.722300491497},"width":270,"height":221,"style":{"width":270,"height":221},"selected":true,"data":{"style":{"backgroundColor":"#ffffff","borderColor":"#000000"}},"positionAbsolute":{"x":-796.5040036977603,"y":2570.722300491497},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"dRhBLcgWnvsKEUIEeckVM","type":"section","position":{"x":-796.5040036977603,"y":2784.821469532407},"width":270,"height":274,"style":{"width":270,"height":274},"selected":true,"data":{"style":{"backgroundColor":"#ffffff","borderColor":"#000000"}},"positionAbsolute":{"x":-796.5040036977603,"y":2784.821469532407},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"PXWvq1ezVBU5UJVN887Es","type":"section","position":{"x":-540.6396884459828,"y":2185.0122972625486},"selected":true,"data":{"label":"","style":{"width":150,"height":100,"fontSize":17,"backgroundColor":"#ffffff","borderColor":"#000000"}},"zIndex":-999,"width":203,"height":217,"style":{"width":203,"height":217},"resizing":false,"positionAbsolute":{"x":-540.6396884459828,"y":2185.0122972625486},"dragging":false,"selectable":true,"focusable":true},{"id":"Mpt_WSLngBqt131nAm3Ns","type":"section","position":{"x":-270.6768116800821,"y":2181.7847957820186},"width":210,"height":275,"style":{"width":210,"height":275},"selected":true,"data":{"style":{"backgroundColor":"#ffffff","borderColor":"#000000"}},"positionAbsolute":{"x":-270.6768116800821,"y":2181.7847957820186},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"VJosvi5KwlePkGxBzmxSH","type":"section","position":{"x":33.284146851171954,"y":2182.83501494524},"selected":true,"data":{"label":"","style":{"width":150,"height":100,"fontSize":17,"backgroundColor":"#ffffff","borderColor":"#000000"}},"zIndex":-999,"width":208,"height":326,"style":{"width":208,"height":326},"resizing":false,"dragging":false,"positionAbsolute":{"x":33.284146851171954,"y":2182.83501494524},"selectable":true,"focusable":true},{"id":"4fIp9_ii_gYgEMFFk__BG","type":"section","position":{"x":34.61791119802774,"y":1685.4421321950363},"selected":true,"data":{"label":"","style":{"width":150,"height":100,"fontSize":17,"backgroundColor":"#ffffff"}},"zIndex":-999,"width":205,"height":274,"style":{"width":205,"height":274},"resizing":false,"positionAbsolute":{"x":34.61791119802774,"y":1685.4421321950363},"dragging":false,"selectable":true,"focusable":true},{"id":"S16vO5EHvxaylsnFzs4Kx","type":"section","position":{"x":-275.3075331630803,"y":1685.567787907652},"selected":true,"data":{"label":"","style":{"width":150,"height":100,"fontSize":17,"backgroundColor":"#ffffff","borderColor":"#000000"}},"zIndex":-999,"width":207,"height":268,"style":{"width":207,"height":268},"resizing":false,"positionAbsolute":{"x":-275.3075331630803,"y":1685.567787907652},"dragging":false,"selectable":true,"focusable":true},{"id":"ifAV_64bREZrJkxFnf7Cy","type":"section","position":{"x":-797.1336432750411,"y":1759.6382433656738},"selected":true,"data":{"label":"","style":{"width":150,"height":100,"fontSize":17,"backgroundColor":"#ffffff","borderColor":"#000000"}},"zIndex":-999,"width":213,"height":265,"style":{"width":213,"height":265},"positionAbsolute":{"x":-797.1336432750411,"y":1759.6382433656738},"selectable":true,"focusable":true,"resizing":true,"dragging":false},{"id":"CxiHaw63xmItCGdhpcsiz","type":"section","position":{"x":-797.050798511892,"y":1463.6928264789822},"selected":true,"data":{"label":"","style":{"width":150,"height":100,"fontSize":17,"backgroundColor":"#ffffff","borderColor":"#000000"}},"zIndex":-999,"width":213,"height":266,"style":{"width":213,"height":266},"resizing":false,"dragging":false,"positionAbsolute":{"x":-797.050798511892,"y":1463.6928264789822},"selectable":true,"focusable":true},{"id":"Kjkc8rNezN_LBD5WMrBbE","type":"section","position":{"x":-244.32217668933376,"y":1319.6577176448873},"width":223,"height":217,"style":{"width":223,"height":217},"selected":true,"data":{"style":{"backgroundColor":"#ffffff","borderColor":"#000000"}},"positionAbsolute":{"x":-244.32217668933376,"y":1319.6577176448873},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"Czv2TV_JqOuK7vumqw66I","type":"horizontal","position":{"x":-86.76785466292469,"y":985.5460686385047},"selected":true,"data":{"label":"horizontal node","style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2B78E4"}},"zIndex":999,"width":127,"height":20,"style":{"width":127,"height":20},"resizing":true,"positionAbsolute":{"x":-86.76785466292469,"y":985.5460686385047},"dragging":false,"selectable":true,"focusable":true},{"id":"JBXkEOLntmMR49axOFbA0","type":"section","position":{"x":36.126062755501266,"y":971.0460686385047},"selected":true,"data":{"label":"","style":{"width":150,"height":100,"fontSize":17,"backgroundColor":"#ffffff","borderColor":"#000000"}},"zIndex":-999,"width":222,"height":375,"style":{"width":222,"height":375},"resizing":false,"dragging":false,"positionAbsolute":{"x":36.126062755501266,"y":971.0460686385047},"selectable":true,"focusable":true},{"id":"gY6DBpC01GyAr-e_7FBGK","type":"horizontal","position":{"x":-106.87393724449873,"y":845.348933004529},"selected":true,"data":{"label":"horizontal node","style":{"stroke":"#2B78E4","strokeWidth":3.5,"strokeDasharray":"0.8 8","strokeLinecap":"round"}},"zIndex":999,"width":143,"height":20,"style":{"width":143,"height":20},"positionAbsolute":{"x":-106.87393724449873,"y":845.348933004529},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"xUioudlYG1bD0_eR0fNE3","type":"section","position":{"x":36.126062755501266,"y":612.577518106665},"selected":true,"data":{"label":"","style":{"width":150,"height":100,"fontSize":17,"backgroundColor":"#ffffff","borderColor":"#000000"}},"zIndex":-999,"width":222,"height":325,"style":{"width":222,"height":325},"resizing":false,"positionAbsolute":{"x":36.126062755501266,"y":612.577518106665},"dragging":false,"selectable":true,"focusable":true},{"id":"u2TdoI7ILaxYgUUni9W_w","type":"section","position":{"x":-489.964883323405,"y":1062.001634732462},"selected":true,"data":{"label":"","style":{"width":150,"height":100,"fontSize":17}},"zIndex":-999,"width":201,"height":426,"style":{"width":201,"height":426},"resizing":false,"positionAbsolute":{"x":-489.964883323405,"y":1062.001634732462},"selectable":true,"focusable":true,"dragging":false},{"id":"-NHxqJMM7SscP9pJ3bgD8","type":"section","position":{"x":-799.0705012400213,"y":1065.348933004529},"selected":true,"data":{"label":"","style":{"width":150,"height":100,"fontSize":17,"backgroundColor":"#ffffff","borderColor":"#000000"}},"zIndex":-999,"width":216,"height":368,"style":{"width":216,"height":368},"resizing":false,"positionAbsolute":{"x":-799.0705012400213,"y":1065.348933004529},"selectable":true,"focusable":true,"dragging":false},{"id":"Ljjl_kSEevtaBALxRh2By","type":"section","position":{"x":-633.6381872719934,"y":620.348933004529},"selected":true,"data":{"label":"","style":{"width":150,"height":100,"fontSize":17,"backgroundColor":"#ffffff"}},"zIndex":-999,"width":202,"height":317,"style":{"width":202,"height":317},"resizing":false,"positionAbsolute":{"x":-633.6381872719934,"y":620.348933004529},"dragging":false,"selectable":true,"focusable":true},{"id":"37hyOMnKf4H2qg27SK2rZ","type":"section","position":{"x":-359.00281520804924,"y":541.6034591804714},"selected":true,"data":{"label":"","style":{"width":150,"height":100,"fontSize":17,"backgroundColor":"#ffffff","borderColor":"#000000"}},"zIndex":-999,"width":304,"height":165,"style":{"width":304,"height":165},"dragging":false,"resizing":false,"positionAbsolute":{"x":-359.00281520804924,"y":541.6034591804714},"selectable":true,"focusable":true},{"id":"vfdrcpstewZ-lBAgCYhvs","type":"horizontal","position":{"x":-100.50281520804924,"y":286.4007482223489},"selected":true,"data":{"label":"horizontal node","style":{"stroke":"#2B78E4","strokeWidth":3.5}},"zIndex":999,"width":85,"height":20,"style":{"width":85,"height":20},"positionAbsolute":{"x":-100.50281520804924,"y":286.4007482223489},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"80UujPXPhvKIJMSM67pwl","type":"section","position":{"x":-16.012444385717174,"y":266.57327763985427},"selected":true,"data":{"label":"","style":{"width":150,"height":100,"fontSize":17,"backgroundColor":"#ffffff","borderColor":"#000000"}},"zIndex":-999,"width":287,"height":213,"style":{"width":287,"height":213},"resizing":false,"dragging":false,"positionAbsolute":{"x":-16.012444385717174,"y":266.57327763985427},"selectable":true,"focusable":true},{"id":"zxoi09oW1HbXNwvc14w9U","type":"section","position":{"x":-359.50281520804924,"y":264},"width":259,"height":217,"style":{"width":259,"height":217},"selected":true,"data":{"style":{"backgroundColor":"#ffffff","borderColor":"#000000"}},"positionAbsolute":{"x":-359.50281520804924,"y":264},"dragging":false,"selectable":true,"focusable":true},{"id":"Qy4AHQE22xHEsBddovVt4","type":"horizontal","position":{"x":-451.1381872719935,"y":31},"selected":true,"data":{"label":"horizontal node","style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2B78E4"}},"zIndex":999,"width":178,"height":20,"style":{"width":178,"height":20},"positionAbsolute":{"x":-451.1381872719935,"y":31},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"L191VgfCbX3ibSIKySpsN","type":"title","position":{"x":-309.00281520804924,"y":-112.59925177765109},"selected":true,"data":{"label":"Redis","style":{"fontSize":28,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":158,"height":68,"style":{"width":158.3046875,"height":68.00001525878906},"dragging":false,"positionAbsolute":{"x":-309.00281520804924,"y":-112.59925177765109},"selectable":true,"focusable":true},{"id":"EskmevvtPn-NlUQf39-6X","type":"vertical","position":{"x":-240.1381872719934,"y":-182.5992517776511},"selected":true,"data":{"label":"vertical node","style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2B78E4"}},"zIndex":999,"width":20,"height":70,"style":{"width":20,"height":70},"positionAbsolute":{"x":-240.1381872719934,"y":-182.5992517776511},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"-3pADOHMDQ0H6ZKNjURyn","type":"topic","position":{"x":-330.50281520804924,"y":16.5},"selected":true,"data":{"label":"What is Redis?","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"OKW1e0f3kQ_wCb97ztjIN"},"zIndex":999,"width":201,"height":49,"style":{"width":201,"height":49},"positionAbsolute":{"x":-330.50281520804924,"y":16.5},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"M-EXrTDeAEMz_IkEi-ab4","type":"subtopic","position":{"x":-781.1381872719934,"y":-149.5992517776511},"selected":true,"data":{"label":"In-memory Data Structure Store","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"eHuBz_zSZK3rubn7nkd7g"},"zIndex":999,"width":307,"height":49,"style":{"width":307,"height":49},"dragging":false,"positionAbsolute":{"x":-781.1381872719934,"y":-149.5992517776511},"resizing":false,"selectable":true,"focusable":true},{"id":"l2aXyO3STnhbFjvUXPpm2","type":"subtopic","position":{"x":-781.1381872719934,"y":-96.59925177765109},"selected":true,"data":{"label":"Key-value Database","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"eHuBz_zSZK3rubn7nkd7g"},"zIndex":999,"width":201,"height":49,"style":{"width":201,"height":49},"dragging":false,"positionAbsolute":{"x":-781.1381872719934,"y":-96.59925177765109},"resizing":false,"selectable":true,"focusable":true},{"id":"eHuBz_zSZK3rubn7nkd7g","type":"subtopic","position":{"x":-575.1381872719934,"y":-96.59925177765109},"selected":true,"data":{"label":"Cache","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":100,"height":49,"style":{"width":100,"height":49},"dragging":false,"positionAbsolute":{"x":-575.1381872719934,"y":-96.59925177765109},"resizing":false,"selectable":true,"focusable":true},{"id":"mgGJTBU8ofvOzl9gYWhnG","type":"subtopic","position":{"x":-781.1381872719934,"y":-42.59925177765109},"selected":true,"data":{"label":"Message Broker","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"M-EXrTDeAEMz_IkEi-ab4"},"zIndex":999,"width":307,"height":49,"style":{"width":307,"height":49},"dragging":false,"positionAbsolute":{"x":-781.1381872719934,"y":-42.59925177765109},"resizing":false,"selectable":true,"focusable":true},{"id":"Y1xDM_ZweG4IhlwvNK0bA","type":"label","position":{"x":-757.1381872719934,"y":-190.5992517776511},"selected":true,"data":{"label":"Overview of Redis / What is it?","href":"","color":"#000000","style":{"fontSize":17}},"zIndex":999,"width":250,"height":36,"style":{},"positionAbsolute":{"x":-757.1381872719934,"y":-190.5992517776511},"dragging":false,"selectable":true,"focusable":true},{"id":"pwGAa63okLFOBb1g7-fL5","type":"label","position":{"x":-698.6381872719934,"y":24.40074822234891},"selected":true,"data":{"label":"Core Use Cases","href":"","color":"#000000","style":{"fontSize":17},"oldId":"Y1xDM_ZweG4IhlwvNK0bA"},"zIndex":999,"width":142,"height":36,"style":{},"positionAbsolute":{"x":-698.6381872719934,"y":24.40074822234891},"dragging":false,"selectable":true,"focusable":true},{"id":"-TjnSOY8txYrhhxRV1OIl","type":"subtopic","position":{"x":-781.1381872719934,"y":63.40074822234891},"selected":true,"data":{"label":"Caching","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":100,"height":49,"style":{"width":100,"height":49},"resizing":false,"positionAbsolute":{"x":-781.1381872719934,"y":63.40074822234891},"dragging":false,"selectable":true,"focusable":true},{"id":"bVJASI7bfSYqYnNhX83ng","type":"subtopic","position":{"x":-675.1381872719934,"y":63.40074822234891},"selected":true,"data":{"label":"Real-time Analytics","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"-TjnSOY8txYrhhxRV1OIl"},"zIndex":999,"width":192,"height":49,"style":{},"resizing":false,"positionAbsolute":{"x":-675.1381872719934,"y":63.40074822234891},"dragging":false,"selectable":true,"focusable":true},{"id":"URxGmhZHr0Y8nyrYj0gJl","type":"subtopic","position":{"x":-781.6381872719934,"y":116.40074822234891},"selected":true,"data":{"label":"Session Management","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"bVJASI7bfSYqYnNhX83ng"},"zIndex":999,"width":299,"height":49,"style":{"width":299,"height":49},"resizing":false,"positionAbsolute":{"x":-781.6381872719934,"y":116.40074822234891},"dragging":false,"selectable":true,"focusable":true},{"id":"ZCyId3aIoLv3duxoJdk2P","type":"subtopic","position":{"x":-781.6381872719934,"y":169.4007482223489},"selected":true,"data":{"label":"Pub/Sub Messaging","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"URxGmhZHr0Y8nyrYj0gJl"},"zIndex":999,"width":299,"height":49,"style":{"width":299,"height":49},"resizing":false,"positionAbsolute":{"x":-781.6381872719934,"y":169.4007482223489},"dragging":false,"selectable":true,"focusable":true},{"id":"Fv1iGX22sApIEifM2IpJz","type":"subtopic","position":{"x":-781.6381872719934,"y":222.4007482223489},"selected":true,"data":{"label":"Leaderboards and Counters","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"ZCyId3aIoLv3duxoJdk2P"},"zIndex":999,"width":299,"height":49,"style":{"width":299,"height":49},"resizing":false,"positionAbsolute":{"x":-781.6381872719934,"y":222.4007482223489},"dragging":false,"selectable":true,"focusable":true},{"id":"SQ0078nMNlCtgNgHIJsU1","type":"label","position":{"x":-687.1381872719935,"y":294.4007482223489},"selected":true,"data":{"label":"Key Features","href":"","color":"#000000","style":{"fontSize":17}},"zIndex":999,"width":116,"height":36,"style":{},"positionAbsolute":{"x":-687.1381872719935,"y":294.4007482223489},"dragging":false,"selectable":true,"focusable":true},{"id":"8uRpPJ0iD4XnQPKruQc8P","type":"subtopic","position":{"x":-778.6381872719935,"y":334.4007482223489},"selected":true,"data":{"label":"Data Persistence Options","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":299,"height":49,"style":{"width":299},"positionAbsolute":{"x":-778.6381872719935,"y":334.4007482223489},"dragging":false,"selectable":true,"focusable":true},{"id":"uVewcyaFi1Pt2Gs0KrkfA","type":"subtopic","position":{"x":-778.6381872719935,"y":387.40074822234897},"selected":true,"data":{"label":"Rich Data Structures","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":299,"height":49,"style":{"width":299},"positionAbsolute":{"x":-778.6381872719935,"y":387.40074822234897},"dragging":false,"selectable":true,"focusable":true},{"id":"5-3pd4rLDqRzMzSRVLdXh","type":"subtopic","position":{"x":-778.6381872719935,"y":440.40074822234897},"selected":true,"data":{"label":"High Performance and Scalability","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":299,"height":49,"style":{"width":299,"height":49},"dragging":false,"resizing":false,"positionAbsolute":{"x":-778.6381872719935,"y":440.40074822234897},"selectable":true,"focusable":true},{"id":"leY33Yw_exuUP5_UX9gcP","type":"vertical","position":{"x":-465.1381872719935,"y":-178.5992517776511},"selected":true,"data":{"label":"vertical node","style":{"stroke":"#2B78E4"}},"zIndex":999,"width":20,"height":666,"style":{"width":20,"height":666},"positionAbsolute":{"x":-465.1381872719935,"y":-178.5992517776511},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"EvWiEx_AoxAht6sKxzW2l","type":"subtopic","position":{"x":0.3618127280066119,"y":67.40074822234891},"selected":true,"data":{"label":"Redis vs SQL/NoSQL DBs","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":249,"height":49,"style":{"width":249,"height":49},"positionAbsolute":{"x":0.3618127280066119,"y":67.40074822234891},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"1Af5H0BgdAsRdBCNdHz5v","type":"subtopic","position":{"x":0.3618127280066119,"y":120.40074822234891},"selected":true,"data":{"label":"When to choose Redis?","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"EvWiEx_AoxAht6sKxzW2l"},"zIndex":999,"width":249,"height":49,"style":{"width":249,"height":49},"positionAbsolute":{"x":0.3618127280066119,"y":120.40074822234891},"dragging":false,"selectable":true,"focusable":true},{"id":"yHmHXymPNWwu8p1vvqD3o","type":"paragraph","position":{"x":-41.50281520804924,"y":-193.15106699547107},"selected":true,"data":{"label":"Find the detailed version of this roadmap and other similar roadmaps","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center","borderColor":"#000000","backgroundColor":"#FFFFFf"}},"zIndex":999,"width":321,"height":142,"positionAbsolute":{"x":-41.50281520804924,"y":-193.15106699547107},"dragging":false,"selectable":true,"focusable":true,"style":{"width":321,"height":142},"resizing":false},{"id":"2zqZkyVgigifcRS1H7F_b","type":"button","position":{"x":-31.502815208049242,"y":-114.59925177765109},"selected":true,"data":{"label":"roadmap.sh","href":"https://roadmap.sh","color":"#ffffff","backgroundColor":"#4136D6","style":{"fontSize":17}},"zIndex":999,"width":301,"height":49,"dragging":false,"style":{"width":301,"height":49},"resizing":false,"positionAbsolute":{"x":-31.502815208049242,"y":-114.59925177765109},"selectable":true,"focusable":true},{"id":"SGtXqkHKfGO0nQdrVzjdg","type":"label","position":{"x":-325.50281520804924,"y":276.99999999999994},"selected":true,"data":{"label":"Installing Redis Locally","href":"","color":"#000000","style":{"fontSize":17},"oldId":"pa2QJLhAv3SPRK_2XcMZx"},"zIndex":999,"width":191,"height":36,"style":{},"positionAbsolute":{"x":-325.50281520804924,"y":276.99999999999994},"dragging":false,"selectable":true,"focusable":true},{"id":"Bf_kLfmy7_uflqC9N0-jt","type":"subtopic","position":{"x":-351.50281520804924,"y":316},"selected":true,"data":{"label":"Using Package Managers","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":243,"height":49,"style":{"width":243,"height":49},"positionAbsolute":{"x":-351.50281520804924,"y":316},"dragging":false,"selectable":true,"focusable":true},{"id":"yBZ79s6mzGdj5AnX2H_Hy","type":"subtopic","position":{"x":-351.50281520804924,"y":368.99999999999994},"selected":true,"data":{"label":"Pre-compiled Binaries","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":243,"height":49,"style":{"width":243,"height":49},"positionAbsolute":{"x":-351.50281520804924,"y":368.99999999999994},"dragging":false,"selectable":true,"focusable":true},{"id":"TDxv0q7jlZ26uZYYlneem","type":"subtopic","position":{"x":-351.50281520804924,"y":421.99999999999994},"selected":true,"data":{"label":"Using Docker","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":243,"height":49,"style":{"width":243,"height":49},"positionAbsolute":{"x":-351.50281520804924,"y":421.99999999999994},"dragging":false,"selectable":true,"focusable":true},{"id":"gw04IG5uImCHxcFnOAAwy","type":"paragraph","position":{"x":-374.1381872719934,"y":136.5066900921993},"selected":true,"data":{"label":"Getting Started with Redis","style":{"fontSize":20,"borderColor":"transparent","backgroundColor":"transparent","color":"#000000","textAlign":"center","justifyContent":"flex-start","padding":16}},"zIndex":999,"width":288,"height":60,"style":{"width":288,"height":60},"dragging":false,"resizing":false,"positionAbsolute":{"x":-374.1381872719934,"y":136.5066900921993},"selectable":true,"focusable":true},{"id":"QXwoHEeisL4d6dpJOwYkU","type":"paragraph","position":{"x":-1.0028152080492418,"y":11},"selected":true,"data":{"label":"Redis vs Other Databases","style":{"fontSize":17,"borderColor":"transparent","backgroundColor":"transparent","color":"#000000","textAlign":"center","justifyContent":"flex-start","padding":16},"oldId":"gw04IG5uImCHxcFnOAAwy"},"zIndex":999,"width":240,"height":60,"style":{"width":240,"height":60},"dragging":false,"resizing":false,"positionAbsolute":{"x":-1.0028152080492418,"y":11},"selectable":true,"focusable":true},{"id":"nyVArH57QoeDASnYvEk3L","type":"label","position":{"x":63.44997804720737,"y":274.8898756040034},"selected":true,"data":{"label":"Running Redis","href":"","color":"#000000","style":{"fontSize":17}},"zIndex":999,"width":129,"height":36,"style":{},"positionAbsolute":{"x":63.44997804720737,"y":274.8898756040034},"dragging":false,"selectable":true,"focusable":true},{"id":"43LvShQhmoWQ8Nye7fLkz","type":"subtopic","position":{"x":-6.550021952792633,"y":313.46761791240385},"selected":true,"data":{"label":"Starting the Server","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":269,"height":49,"style":{"width":269,"height":49},"positionAbsolute":{"x":-6.550021952792633,"y":313.46761791240385},"dragging":false,"selectable":true,"focusable":true},{"id":"BOGXTjmCLo6WI6mYDsqRu","type":"subtopic","position":{"x":-6.550021952792633,"y":366.46761791240385},"selected":true,"data":{"label":"Connecting using Redis CLI","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":269,"height":49,"style":{"width":269,"height":49},"positionAbsolute":{"x":-6.550021952792633,"y":366.46761791240385},"dragging":false,"resizing":true,"selectable":true,"focusable":true},{"id":"NhcZM4nUQoSBBf_1qXi6l","type":"subtopic","position":{"x":-6.550021952792633,"y":419.46761791240385},"selected":true,"data":{"label":"Basic Commands / SET, GET","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":269,"height":49,"style":{"width":269,"height":49},"positionAbsolute":{"x":-6.550021952792633,"y":419.46761791240385},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"GjKw6hbNV57I2sxuLfkQw","type":"paragraph","position":{"x":50.987555614282826,"y":536.2610824325313},"selected":true,"data":{"label":"First Steps","style":{"fontSize":20,"borderColor":"transparent","backgroundColor":"transparent","color":"#000000","textAlign":"center","justifyContent":"center","padding":16},"oldId":"gw04IG5uImCHxcFnOAAwy"},"zIndex":999,"width":153,"height":65,"style":{"width":153,"height":65},"dragging":false,"resizing":false,"positionAbsolute":{"x":50.987555614282826,"y":536.2610824325313},"selectable":true,"focusable":true},{"id":"WYVzXLmj_TmqnX3ANzKj7","type":"label","position":{"x":-302.00281520804924,"y":550.7610824325313},"selected":true,"data":{"label":"Basic Data Operations","href":"","color":"#000000","style":{"fontSize":17}},"zIndex":999,"width":190,"height":36,"style":{},"positionAbsolute":{"x":-302.00281520804924,"y":550.7610824325313},"dragging":false,"selectable":true,"focusable":true},{"id":"DOdNkTY1yIMipWA2CD9xH","type":"subtopic","position":{"x":-349.00281520804924,"y":591.7610824325313},"selected":true,"data":{"label":"Settings and Getting Keys","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":284,"height":49,"style":{"width":284,"height":49},"positionAbsolute":{"x":-349.00281520804924,"y":591.7610824325313},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"lV_MnUNTB2h925idX0YWk","type":"subtopic","position":{"x":-349.00281520804924,"y":644.7610824325313},"selected":true,"data":{"label":"DEL","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"nS0DHhfy4wxHItgOFhulA"},"zIndex":999,"width":80,"height":49,"style":{"width":80,"height":49},"positionAbsolute":{"x":-349.00281520804924,"y":644.7610824325313},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"U84XgBFPyIbY0W5afH4cx","type":"subtopic","position":{"x":-359.00281520804924,"y":710.6034591804714},"selected":true,"data":{"label":"Overview of Data Types","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":304,"height":49,"style":{"width":304,"height":49},"positionAbsolute":{"x":-359.00281520804924,"y":710.6034591804714},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"TpW3rvaZYV9D2cHycy2my","type":"label","position":{"x":-365.00281520804924,"y":764.6034591804714},"selected":true,"data":{"label":"Strings, Lists, Sets, Hashes, Sorted Sets","href":"","color":"#000000","style":{"fontSize":17}},"zIndex":999,"width":316,"height":36,"style":{},"positionAbsolute":{"x":-365.00281520804924,"y":764.6034591804714},"dragging":false,"selectable":true,"focusable":true},{"id":"geUnNlWeXEBUs1W3fysRO","type":"paragraph","position":{"x":-799.6381872719934,"y":540.2610824325313},"selected":true,"data":{"label":"Core Data Structures","style":{"fontSize":20,"borderColor":"transparent","backgroundColor":"transparent","color":"#000000","textAlign":"center","justifyContent":"center","padding":16},"oldId":"GjKw6hbNV57I2sxuLfkQw"},"zIndex":999,"width":233,"height":57,"style":{"width":233,"height":57},"dragging":false,"resizing":false,"positionAbsolute":{"x":-799.6381872719934,"y":540.2610824325313},"selectable":true,"focusable":true},{"id":"ltF4vCT9ZA2XuUuHnuGnN","type":"subtopic","position":{"x":-624.5705012400213,"y":631.3489330045289},"selected":true,"data":{"label":"SET","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":90,"height":49,"style":{"width":90,"height":49},"resizing":false,"positionAbsolute":{"x":-624.5705012400213,"y":631.3489330045289},"selectable":true,"focusable":true,"dragging":false},{"id":"mQc4H2ZMMSVjh33LJY8mK","type":"subtopic","position":{"x":-530.0705012400213,"y":631.3489330045289},"selected":true,"data":{"label":"GET","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":90,"height":49,"style":{"width":90,"height":49},"resizing":false,"positionAbsolute":{"x":-530.0705012400213,"y":631.3489330045289},"dragging":false,"selectable":true,"focusable":true},{"id":"5K9qyC4mrhXYWOC8WSq8C","type":"subtopic","position":{"x":-624.5705012400213,"y":683.848933004529},"selected":true,"data":{"label":"INCR","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":90,"height":49,"style":{"width":90,"height":49},"resizing":false,"positionAbsolute":{"x":-624.5705012400213,"y":683.848933004529},"dragging":false,"selectable":true,"focusable":true},{"id":"t4BXPofF8OCqH5KHwdYVh","type":"subtopic","position":{"x":-530.0705012400213,"y":683.848933004529},"selected":true,"data":{"label":"DECR","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":90,"height":49,"style":{"width":90,"height":49},"resizing":false,"positionAbsolute":{"x":-530.0705012400213,"y":683.848933004529},"dragging":false,"selectable":true,"focusable":true},{"id":"cPWd53BO6tm-uy4gqLdtZ","type":"subtopic","position":{"x":-624.5705012400213,"y":736.348933004529},"selected":true,"data":{"label":"APPEND","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":90,"height":49,"style":{"width":90,"height":49},"resizing":false,"positionAbsolute":{"x":-624.5705012400213,"y":736.348933004529},"dragging":false,"selectable":true,"focusable":true},{"id":"eJQW986HM4Wf1o1i2FnXs","type":"subtopic","position":{"x":-530.0705012400213,"y":736.348933004529},"selected":true,"data":{"label":"STRLEN","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":90,"height":49,"style":{"width":90,"height":49},"resizing":false,"positionAbsolute":{"x":-530.0705012400213,"y":736.348933004529},"dragging":false,"selectable":true,"focusable":true},{"id":"JpPwzuJ9dK6b4uWH5rWe6","type":"label","position":{"x":-620.0705012400213,"y":840.348933004529},"selected":true,"data":{"label":"Common Commands","href":"","color":"#000000","style":{"fontSize":17}},"zIndex":999,"width":177,"height":36,"style":{},"positionAbsolute":{"x":-620.0705012400213,"y":840.348933004529},"dragging":false,"selectable":true,"focusable":true},{"id":"0v8uLWRCbAqEmKKdYaRQW","type":"subtopic","position":{"x":-624.0705012400213,"y":788.848933004529},"selected":true,"data":{"label":"More Commands","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"cPWd53BO6tm-uy4gqLdtZ"},"zIndex":999,"width":185,"height":49,"style":{"width":185,"height":49},"resizing":false,"positionAbsolute":{"x":-624.0705012400213,"y":788.848933004529},"dragging":false,"selectable":true,"focusable":true},{"id":"2_E2VwbjTgk4xxTFWfHuV","type":"subtopic","position":{"x":-624.0705012400213,"y":876.348933004529},"selected":true,"data":{"label":"Usecases","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":185,"height":49,"style":{"width":185,"height":49},"positionAbsolute":{"x":-624.0705012400213,"y":876.348933004529},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"i3Hnt66WKB47UILFmaOl_","type":"horizontal","position":{"x":-55.00281520804924,"y":558.7610824325313},"selected":true,"data":{"label":"horizontal node","style":{"stroke":"#2B78E4","strokeWidth":3.5}},"zIndex":999,"width":108,"height":20,"style":{"width":108,"height":20},"positionAbsolute":{"x":-55.00281520804924,"y":558.7610824325313},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"JboVpV-Oijm52vBYob9nj","type":"horizontal","position":{"x":-561.1381872719934,"y":558.7610824325313},"selected":true,"data":{"label":"horizontal node","style":{"stroke":"#2B78E4","strokeWidth":3.5},"oldId":"i3Hnt66WKB47UILFmaOl_"},"zIndex":999,"width":203,"height":20,"style":{"width":203,"height":20},"positionAbsolute":{"x":-561.1381872719934,"y":558.7610824325313},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"nS0DHhfy4wxHItgOFhulA","type":"subtopic","position":{"x":-265.25281520804924,"y":644.7610824325313},"selected":true,"data":{"label":"EXPR","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":105,"height":49,"style":{"width":105,"height":49},"positionAbsolute":{"x":-265.25281520804924,"y":644.7610824325313},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"Vll7VMmGWSI5XGZ9JpHyl","type":"subtopic","position":{"x":-156.50281520804924,"y":644.7610824325313},"selected":true,"data":{"label":"TTL","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"nS0DHhfy4wxHItgOFhulA"},"zIndex":999,"width":90,"height":49,"style":{"width":90,"height":49},"positionAbsolute":{"x":-156.50281520804924,"y":644.7610824325313},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"Kq7G89KaZZMFkrH-9WZoS","type":"subtopic","position":{"x":-788.5705012400213,"y":1074.348933004529},"selected":true,"data":{"label":"LPUSH","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":95,"height":49,"style":{"width":95,"height":49},"positionAbsolute":{"x":-788.5705012400213,"y":1074.348933004529},"dragging":false,"selectable":true,"focusable":true},{"id":"jC8G1o7yFj7D_PGmOIgcD","type":"subtopic","position":{"x":-689.5028152080492,"y":1074.348933004529},"selected":true,"data":{"label":"RPUSH","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":95,"height":49,"style":{"width":95,"height":49},"positionAbsolute":{"x":-689.5028152080492,"y":1074.348933004529},"dragging":false,"selectable":true,"focusable":true},{"id":"voa61RTWMJD3Sk8DNJoVQ","type":"subtopic","position":{"x":-788.5705012400213,"y":1126.848933004529},"selected":true,"data":{"label":"LPOP","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":95,"height":49,"style":{"width":95,"height":49},"positionAbsolute":{"x":-788.5705012400213,"y":1126.848933004529},"dragging":false,"selectable":true,"focusable":true},{"id":"brUGqWZ287EWtvl9uUbNt","type":"subtopic","position":{"x":-689.5028152080492,"y":1126.848933004529},"selected":true,"data":{"label":"RPOP","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":95,"height":49,"style":{"width":95,"height":49},"positionAbsolute":{"x":-689.5028152080492,"y":1126.848933004529},"dragging":false,"selectable":true,"focusable":true},{"id":"8JTtBy6oD2wFYDizVkcVa","type":"subtopic","position":{"x":-788.5705012400213,"y":1179.348933004529},"selected":true,"data":{"label":"LRANGE","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":95,"height":49,"style":{"width":95,"height":49},"positionAbsolute":{"x":-788.5705012400213,"y":1179.348933004529},"dragging":false,"selectable":true,"focusable":true},{"id":"hBFEUXtuzUTzWZKp2qWaZ","type":"subtopic","position":{"x":-689.5028152080492,"y":1179.348933004529},"selected":true,"data":{"label":"LINDEX","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":95,"height":49,"style":{"width":95,"height":49},"positionAbsolute":{"x":-689.5028152080492,"y":1179.348933004529},"dragging":false,"selectable":true,"focusable":true},{"id":"4oCcP9FxDJSDMHCEVBCNa","type":"subtopic","position":{"x":-788.5705012400213,"y":1231.848933004529},"selected":true,"data":{"label":"LLEN","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"8JTtBy6oD2wFYDizVkcVa"},"zIndex":999,"width":95,"height":49,"style":{"width":95,"height":49},"positionAbsolute":{"x":-788.5705012400213,"y":1231.848933004529},"dragging":false,"selectable":true,"focusable":true},{"id":"9KvHcS5F4Jj5ZXgIAdOQY","type":"subtopic","position":{"x":-689.5028152080492,"y":1231.848933004529},"selected":true,"data":{"label":"LMOVE","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"4oCcP9FxDJSDMHCEVBCNa"},"zIndex":999,"width":95,"height":49,"style":{"width":95,"height":49},"positionAbsolute":{"x":-689.5028152080492,"y":1231.848933004529},"dragging":false,"selectable":true,"focusable":true},{"id":"eBeEUYY-IL_CMkcm31lUL","type":"subtopic","position":{"x":-788.5705012400213,"y":1284.348933004529},"selected":true,"data":{"label":"More Commands","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"0v8uLWRCbAqEmKKdYaRQW"},"zIndex":999,"width":195,"height":49,"style":{"width":195,"height":49},"resizing":false,"positionAbsolute":{"x":-788.5705012400213,"y":1284.348933004529},"dragging":false,"selectable":true,"focusable":true},{"id":"Iour_R6xJ5PieRjX9t993","type":"label","position":{"x":-779.5705012400213,"y":1338.348933004529},"selected":true,"data":{"label":"Common Commands","href":"","color":"#000000","style":{"fontSize":17},"oldId":"JpPwzuJ9dK6b4uWH5rWe6"},"zIndex":999,"width":177,"height":36,"style":{},"positionAbsolute":{"x":-779.5705012400213,"y":1338.348933004529},"dragging":false,"selectable":true,"focusable":true},{"id":"XTwNCCtzXvZMdaex4gZEh","type":"subtopic","position":{"x":-790.5028152080492,"y":1374.348933004529},"selected":true,"data":{"label":"Usecases","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"2_E2VwbjTgk4xxTFWfHuV"},"zIndex":999,"width":200,"height":49,"style":{"width":200,"height":49},"positionAbsolute":{"x":-790.5028152080492,"y":1374.348933004529},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"Qgkpr9vf9d6-vUg1o8XFj","type":"topic","position":{"x":-439.5819137259901,"y":982.348933004529},"selected":true,"data":{"label":"Sets","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"wY46Qj5Inw_ClBNI9PB_2"},"zIndex":999,"width":100,"height":49,"style":{"width":100,"height":49},"positionAbsolute":{"x":-439.5819137259901,"y":982.348933004529},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"xUKoQps69FFQrJeuhD1pz","type":"subtopic","position":{"x":-482.464883323405,"y":1070.501634732462},"selected":true,"data":{"label":"SADD","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":90,"height":49,"style":{},"positionAbsolute":{"x":-482.464883323405,"y":1070.501634732462},"dragging":false,"selectable":true,"focusable":true},{"id":"mQ0ILns53n1By0Tq6xSZI","type":"subtopic","position":{"x":-482.464883323405,"y":1123.251634732462},"selected":true,"data":{"label":"SMEMBERS","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":186,"height":49,"style":{"width":186,"height":49},"positionAbsolute":{"x":-482.464883323405,"y":1123.251634732462},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"WQWVL5GT_scHdgfCtI7WT","type":"subtopic","position":{"x":-389.03256935537723,"y":1070.501634732462},"selected":true,"data":{"label":"SREM","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":93,"height":49,"style":{},"positionAbsolute":{"x":-389.03256935537723,"y":1070.501634732462},"dragging":false,"selectable":true,"focusable":true},{"id":"Ji5ghlcGJtlmErHFqVf3d","type":"subtopic","position":{"x":-482.464883323405,"y":1176.001634732462},"selected":true,"data":{"label":"SISMEMBER","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":186,"height":49,"style":{"width":186},"positionAbsolute":{"x":-482.464883323405,"y":1176.001634732462},"dragging":false,"selectable":true,"focusable":true},{"id":"5aLfNBewK4Dx017qVNO3T","type":"subtopic","position":{"x":-483.5325693553771,"y":1228.751634732462},"selected":true,"data":{"label":"SINTER","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"Ji5ghlcGJtlmErHFqVf3d"},"zIndex":999,"width":100,"height":49,"style":{"width":100,"height":49},"positionAbsolute":{"x":-483.5325693553771,"y":1228.751634732462},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"2gZL4a9aWGKWLa89iyHTc","type":"subtopic","position":{"x":-379.5325693553771,"y":1228.751634732462},"selected":true,"data":{"label":"SCARD","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"5aLfNBewK4Dx017qVNO3T"},"zIndex":999,"width":82,"height":49,"style":{"width":82,"height":49},"positionAbsolute":{"x":-379.5325693553771,"y":1228.751634732462},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"6QoYa-N2BKNBaRtvNeVNm","type":"subtopic","position":{"x":-483.5325693553771,"y":1281.501634732462},"selected":true,"data":{"label":"SUNION","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"5aLfNBewK4Dx017qVNO3T"},"zIndex":999,"width":100,"height":49,"style":{"width":100,"height":49},"positionAbsolute":{"x":-483.5325693553771,"y":1281.501634732462},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"JX5ajmcUmkshTO-mLF8lH","type":"subtopic","position":{"x":-379.5325693553771,"y":1281.501634732462},"selected":true,"data":{"label":"SDIFF","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"2gZL4a9aWGKWLa89iyHTc"},"zIndex":999,"width":82,"height":49,"style":{"width":82,"height":49},"positionAbsolute":{"x":-379.5325693553771,"y":1281.501634732462},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"WMDsN_k9KKTMJoVxvqRe_","type":"label","position":{"x":-478.464883323405,"y":1389.552701727933},"selected":true,"data":{"label":"Common Commands","href":"","color":"#000000","style":{"fontSize":17},"oldId":"JpPwzuJ9dK6b4uWH5rWe6"},"zIndex":999,"width":177,"height":36,"style":{},"positionAbsolute":{"x":-478.464883323405,"y":1389.552701727933},"dragging":false,"selectable":true,"focusable":true},{"id":"2SG4Hr9Tuv6cxmGkrKjYZ","type":"subtopic","position":{"x":-483.0325693553771,"y":1334.901634732462},"selected":true,"data":{"label":"More Commands","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"b48EUyFGUeSjtT5fOa_m6"},"zIndex":999,"width":186,"height":49,"style":{"width":186,"height":49},"resizing":false,"positionAbsolute":{"x":-483.0325693553771,"y":1334.901634732462},"dragging":false,"selectable":true,"focusable":true},{"id":"3hayYoSZepw7pppBubotg","type":"subtopic","position":{"x":-481.964883323405,"y":1429.552701727933},"selected":true,"data":{"label":"Usecases","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"YhqqIGcdOk9Qwfhqpc0L-"},"zIndex":999,"width":184,"height":49,"style":{"width":184,"height":49},"positionAbsolute":{"x":-481.964883323405,"y":1429.552701727933},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"b48EUyFGUeSjtT5fOa_m6","type":"subtopic","position":{"x":-483.0325693553771,"y":1334.901634732462},"selected":true,"data":{"label":"More Commands","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"0v8uLWRCbAqEmKKdYaRQW"},"zIndex":999,"width":186,"height":49,"style":{"width":186,"height":49},"resizing":false,"positionAbsolute":{"x":-483.0325693553771,"y":1334.901634732462},"dragging":false,"selectable":true,"focusable":true},{"id":"MnC2RVZsbUXRWBHhoS3IG","type":"vertical","position":{"x":-762.1381872719934,"y":601.2610824325313},"selected":true,"data":{"label":"vertical node","style":{"stroke":"#2B78E4"}},"zIndex":999,"width":20,"height":399,"style":{"width":20,"height":399},"positionAbsolute":{"x":-762.1381872719934,"y":601.2610824325313},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"Wl23Jh-ASJOQ850yjaTIU","type":"topic","position":{"x":-794.6381872719934,"y":754.348933004529},"selected":true,"data":{"label":"Strings","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"4-C4XqACUp4nvcMIj6djF"},"zIndex":999,"width":100,"height":49,"style":{"width":100,"height":49},"positionAbsolute":{"x":-794.6381872719934,"y":754.348933004529},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"LKpF1cUo7n_B8_7VYil8G","type":"vertical","position":{"x":-762.1381872719934,"y":996.348933004529},"selected":true,"data":{"label":"vertical node","oldId":"MnC2RVZsbUXRWBHhoS3IG","style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2B78E4"}},"zIndex":999,"width":20,"height":69,"style":{"width":20,"height":69},"positionAbsolute":{"x":-762.1381872719934,"y":996.348933004529},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"4-C4XqACUp4nvcMIj6djF","type":"topic","position":{"x":-799.0705012400213,"y":982.348933004529},"selected":true,"data":{"label":"Lists","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":103,"height":49,"style":{"width":103,"height":49},"positionAbsolute":{"x":-799.0705012400213,"y":982.348933004529},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"wY46Qj5Inw_ClBNI9PB_2","type":"topic","position":{"x":-205.4360763433994,"y":831.577518106665},"selected":true,"data":{"label":"Hashes","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"4-C4XqACUp4nvcMIj6djF"},"zIndex":999,"width":143,"height":49,"style":{"width":143,"height":49},"positionAbsolute":{"x":-205.4360763433994,"y":831.577518106665},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"BOJzn9SWad9oRRdY_ub01","type":"subtopic","position":{"x":44.870749690558,"y":619.6621339677162},"selected":true,"data":{"label":"HSET","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":100,"height":52,"style":{"width":100,"height":52},"positionAbsolute":{"x":44.870749690558,"y":619.6621339677162},"dragging":false,"selectable":true,"focusable":true},{"id":"MsKg9m5jFwHM2Bzjf-vdu","type":"subtopic","position":{"x":148.88342242236251,"y":621.1621339677162},"selected":true,"data":{"label":"HGET","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":100,"height":49,"style":{"width":100,"height":49},"positionAbsolute":{"x":148.88342242236251,"y":621.1621339677162},"dragging":false,"selectable":true,"focusable":true},{"id":"TpR33sJ-tAjeG3jpGTvYR","type":"subtopic","position":{"x":44.870749690558,"y":674.6621339677162},"selected":true,"data":{"label":"HGETALL","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":100,"height":49,"style":{"width":100,"height":49},"positionAbsolute":{"x":44.870749690558,"y":674.6621339677162},"dragging":false,"selectable":true,"focusable":true},{"id":"E7xFZkqqbzokD5KGTn9zJ","type":"subtopic","position":{"x":148.88342242236251,"y":674.6621339677162},"selected":true,"data":{"label":"HDEL","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":100,"height":49,"style":{"width":100,"height":49},"positionAbsolute":{"x":148.88342242236251,"y":674.6621339677162},"dragging":false,"selectable":true,"focusable":true},{"id":"adhLMuSmfYMRyWTwIgnyE","type":"subtopic","position":{"x":44.870749690558,"y":726.6621339677162},"selected":true,"data":{"label":"HEXISTS","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":205,"height":49,"style":{"width":205,"height":49},"positionAbsolute":{"x":44.870749690558,"y":726.6621339677162},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"3JTlcdE0621Do-fF7rmvY","type":"label","position":{"x":58.870749690558,"y":835.6621339677162},"selected":true,"data":{"label":"Common Commands","href":"","color":"#000000","style":{"fontSize":17},"oldId":"WMDsN_k9KKTMJoVxvqRe_"},"zIndex":999,"width":177,"height":36,"style":{},"positionAbsolute":{"x":58.870749690558,"y":835.6621339677162},"dragging":false,"selectable":true,"focusable":true},{"id":"jtVnUD-na-WffMaS8qYfu","type":"subtopic","position":{"x":47.870749690558,"y":876.6621339677162},"selected":true,"data":{"label":"Usecases","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"3hayYoSZepw7pppBubotg"},"zIndex":999,"width":202,"height":49,"style":{"width":202,"height":49},"positionAbsolute":{"x":47.870749690558,"y":876.6621339677162},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"QTbkWZ7BpqYmBhUivccPu","type":"topic","position":{"x":-205.4360763433994,"y":971.0460686385047},"selected":true,"data":{"label":"Sorted Sets","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"wY46Qj5Inw_ClBNI9PB_2"},"zIndex":999,"width":143,"height":49,"style":{"width":143,"height":49},"positionAbsolute":{"x":-205.4360763433994,"y":971.0460686385047},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"0swsBD0sOY-o5lzibT999","type":"subtopic","position":{"x":44.870749690558,"y":979.7159079993978},"selected":true,"data":{"label":"ZADD","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":100,"height":49,"style":{"width":100,"height":49},"resizing":false,"positionAbsolute":{"x":44.870749690558,"y":979.7159079993978},"selectable":true,"focusable":true,"dragging":false},{"id":"3pFChX6YIItrBz9lxu4XM","type":"subtopic","position":{"x":148.88342242236251,"y":979.7159079993978},"selected":true,"data":{"label":"ZRANGE","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":100,"height":49,"style":{"width":100,"height":49},"resizing":false,"positionAbsolute":{"x":148.88342242236251,"y":979.7159079993978},"dragging":false,"selectable":true,"focusable":true},{"id":"OlbixGa5RmdqEt7snY04j","type":"subtopic","position":{"x":44.870749690558,"y":1085.4042933441044},"selected":true,"data":{"label":"ZRANGEBYSCORE","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":204,"height":49,"style":{"width":204,"height":49},"positionAbsolute":{"x":44.870749690558,"y":1085.4042933441044},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"m0FZDPwNE71zcwM_gUwz0","type":"subtopic","position":{"x":148.88342242236251,"y":1033.4059280765664},"selected":true,"data":{"label":"ZREM","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":100,"height":49,"style":{"width":100,"height":49},"positionAbsolute":{"x":148.88342242236251,"y":1033.4059280765664},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"W4v7FIQr2k-Vbm-HdfKog","type":"subtopic","position":{"x":44.870749690558,"y":1137.9059280765664},"selected":true,"data":{"label":"ZINCRBY","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":100,"height":49,"style":{"width":100,"height":49},"positionAbsolute":{"x":44.870749690558,"y":1137.9059280765664},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"AF_kWM4V8n5Ux06IgEVTl","type":"subtopic","position":{"x":44.870749690558,"y":1033.4059280765664},"selected":true,"data":{"label":"ZRANK","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":100,"height":49,"style":{"width":100,"height":49},"positionAbsolute":{"x":44.870749690558,"y":1033.4059280765664},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"O-fZM_U-tW0pYtNzN_8Ax","type":"subtopic","position":{"x":148.88342242236251,"y":1137.9059280765664},"selected":true,"data":{"label":"ZCOUNT","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"W4v7FIQr2k-Vbm-HdfKog"},"zIndex":999,"width":100,"height":49,"style":{"width":100,"height":49},"positionAbsolute":{"x":148.88342242236251,"y":1137.9059280765664},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"P6TDUCroLlEI7qePBFHIH","type":"subtopic","position":{"x":44.870749690558,"y":780},"selected":true,"data":{"label":"More Commands","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"0v8uLWRCbAqEmKKdYaRQW"},"zIndex":999,"width":205,"height":49,"style":{"width":205,"height":49},"resizing":false,"positionAbsolute":{"x":44.870749690558,"y":780},"dragging":false,"selectable":true,"focusable":true},{"id":"B2KNO28rJqoasbleVgXn7","type":"label","position":{"x":63.2537192879729,"y":1247.2798077525504},"selected":true,"data":{"label":"Common Commands","href":"","color":"#000000","style":{"fontSize":17},"oldId":"3JTlcdE0621Do-fF7rmvY"},"zIndex":999,"width":177,"height":36,"style":{},"positionAbsolute":{"x":63.2537192879729,"y":1247.2798077525504},"dragging":false,"selectable":true,"focusable":true},{"id":"lxevY15ZyP43s_JrEqMX7","type":"subtopic","position":{"x":46.76039918125758,"y":1284.3678500599142},"selected":true,"data":{"label":"Usecases","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"jtVnUD-na-WffMaS8qYfu"},"zIndex":999,"width":202,"height":49,"style":{"width":202,"height":49},"positionAbsolute":{"x":46.76039918125758,"y":1284.3678500599142},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"o6e_CwxfPoU6qkfWkwKwj","type":"subtopic","position":{"x":44.870749690558,"y":1191.6176737848343},"selected":true,"data":{"label":"More Commands","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"P6TDUCroLlEI7qePBFHIH"},"zIndex":999,"width":205,"height":49,"style":{"width":205,"height":49},"resizing":false,"positionAbsolute":{"x":44.870749690558,"y":1191.6176737848343},"dragging":false,"selectable":true,"focusable":true},{"id":"8gyVwKg3Ctt2w15X7xZgC","type":"paragraph","position":{"x":-239.32217668933376,"y":1187.6176737848343},"selected":true,"data":{"label":"Working with Redis","style":{"fontSize":20,"borderColor":"transparent","backgroundColor":"transparent","color":"#000000","textAlign":"center","justifyContent":"center","padding":16}},"zIndex":999,"width":213,"height":57,"style":{"width":213,"height":57},"resizing":false,"positionAbsolute":{"x":-239.32217668933376,"y":1187.6176737848343},"dragging":false,"selectable":true,"focusable":true},{"id":"5SgC-_4Be_XpFmbJH3wH2","type":"label","position":{"x":-207.82217668933376,"y":1493.001634732462},"selected":true,"data":{"label":"Key Management","href":"","color":"#000000","style":{"fontSize":17}},"zIndex":999,"width":150,"height":36,"style":{},"positionAbsolute":{"x":-207.82217668933376,"y":1493.001634732462},"dragging":false,"selectable":true,"focusable":true},{"id":"jCaVx5wvsvuyqtwh6m8si","type":"subtopic","position":{"x":-236.32217668933376,"y":1327.6577176448873},"selected":true,"data":{"label":"Naming Conventions","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":207,"height":49,"style":{"width":207,"height":49},"positionAbsolute":{"x":-236.32217668933376,"y":1327.6577176448873},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"UlQHqw1dbxZnAKbsWsOgU","type":"subtopic","position":{"x":-236.32217668933376,"y":1380.6577176448873},"selected":true,"data":{"label":"Retrieval by Pattern","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":207,"height":49,"style":{"width":207,"height":49},"positionAbsolute":{"x":-236.32217668933376,"y":1380.6577176448873},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"OSIYDYPGz8Vgo9SU9GGH9","type":"subtopic","position":{"x":-236.32217668933376,"y":1433.6577176448873},"selected":true,"data":{"label":"Expiration","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"UlQHqw1dbxZnAKbsWsOgU"},"zIndex":999,"width":207,"height":49,"style":{"width":207,"height":49},"positionAbsolute":{"x":-236.32217668933376,"y":1433.6577176448873},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"jrgaoDnt_RxTu79hk4hCD","type":"topic","position":{"x":45.870749690558,"y":1403.6577176448873},"selected":true,"data":{"label":"Atomicity in Redis","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":202,"height":49,"style":{"width":202,"height":49},"positionAbsolute":{"x":45.870749690558,"y":1403.6577176448873},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"LHlwjN3WHYUBUafzzwsWQ","type":"topic","position":{"x":45.870749690558,"y":1488.001634732462},"selected":true,"data":{"label":"Pipelining","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"jrgaoDnt_RxTu79hk4hCD"},"zIndex":999,"width":202,"height":49,"style":{"width":202,"height":49},"positionAbsolute":{"x":45.870749690558,"y":1488.001634732462},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"7JzeyTrkZ_1_yxMVrqvZU","type":"topic","position":{"x":45.870749690558,"y":1571.9885116331939},"selected":true,"data":{"label":"Batch Operations","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"LHlwjN3WHYUBUafzzwsWQ"},"zIndex":999,"width":202,"height":49,"style":{"width":202,"height":49},"positionAbsolute":{"x":45.870749690558,"y":1571.9885116331939},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"osbKjF7VIAxtWokGjuYXq","type":"label","position":{"x":83.76039918125758,"y":1629.099028442399},"selected":true,"data":{"label":"MSET / MGET","href":"","color":"#000000","style":{"fontSize":17}},"zIndex":999,"width":128,"height":36,"style":{},"positionAbsolute":{"x":83.76039918125758,"y":1629.099028442399},"selectable":true,"focusable":true,"dragging":false},{"id":"45ihdIfRW-jI38h-s4Vdc","type":"paragraph","position":{"x":-305.3221766893338,"y":1567.9885116331939},"selected":true,"data":{"label":"Advanced Data Structures","style":{"fontSize":20,"borderColor":"transparent","backgroundColor":"transparent","color":"#000000","textAlign":"center","justifyContent":"center","padding":16},"oldId":"8gyVwKg3Ctt2w15X7xZgC"},"zIndex":999,"width":279,"height":57,"style":{"width":279,"height":57},"resizing":false,"positionAbsolute":{"x":-305.3221766893338,"y":1567.9885116331939},"dragging":false,"selectable":true,"focusable":true},{"id":"0Q3AkE8leWAyYsww3-BHX","type":"topic","position":{"x":-523.1381872719934,"y":1571.9885116331939},"selected":true,"data":{"label":"Bitmaps","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"cszjT3YK8oyhGpqLTQzwX"},"zIndex":999,"width":149,"height":49,"style":{"width":149,"height":49},"resizing":false,"positionAbsolute":{"x":-523.1381872719934,"y":1571.9885116331939},"dragging":false,"selectable":true,"focusable":true},{"id":"B-YUFhPQNdr1KZNupmR5N","type":"subtopic","position":{"x":-786.6346077601577,"y":1474.3345088216322},"selected":true,"data":{"label":"SETBIT","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":95,"height":49,"style":{"width":95,"height":49},"positionAbsolute":{"x":-786.6346077601577,"y":1474.3345088216322},"dragging":false,"selectable":true,"focusable":true},{"id":"0HFLJfcrcSnAVTecG3P8W","type":"subtopic","position":{"x":-687.5669217281857,"y":1475.3024555615639},"selected":true,"data":{"label":"GETBIT","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":95,"height":49,"style":{"width":95,"height":49},"positionAbsolute":{"x":-687.5669217281857,"y":1475.3024555615639},"dragging":false,"selectable":true,"focusable":true},{"id":"jpcyXSSib7q4WBPmpgnXA","type":"subtopic","position":{"x":-787.24296378698,"y":1580.9782502455694},"selected":true,"data":{"label":"BITCOUNT","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":195,"height":49,"style":{"width":195,"height":49},"positionAbsolute":{"x":-787.24296378698,"y":1580.9782502455694},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"tkrxArg_oYH0aQfM8NkD2","type":"subtopic","position":{"x":-786.6346077601577,"y":1526.9782502455694},"selected":true,"data":{"label":"BITOP","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":95,"height":49,"style":{"width":95,"height":49},"positionAbsolute":{"x":-786.6346077601577,"y":1526.9782502455694},"dragging":false,"selectable":true,"focusable":true},{"id":"Df1Eu7CuA-ARYii9JVvnm","type":"subtopic","position":{"x":-687.5669217281857,"y":1527.946196985501},"selected":true,"data":{"label":"BITPOS","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":95,"height":49,"style":{"width":95,"height":49},"positionAbsolute":{"x":-687.5669217281857,"y":1527.946196985501},"dragging":false,"selectable":true,"focusable":true},{"id":"i2qZKBU9LJ8c6z8wKt_Eb","type":"label","position":{"x":-777.24296378698,"y":1635.8291147642672},"selected":true,"data":{"label":"Common Commands","href":"","color":"#000000","style":{"fontSize":17},"oldId":"Iour_R6xJ5PieRjX9t993"},"zIndex":999,"width":177,"height":36,"style":{},"positionAbsolute":{"x":-777.24296378698,"y":1635.8291147642672},"dragging":false,"selectable":true,"focusable":true},{"id":"s7PEr-5TAm5EGJm0RSjPJ","type":"subtopic","position":{"x":-785.24296378698,"y":1671.8291147642672},"selected":true,"data":{"label":"Usecases","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"XTwNCCtzXvZMdaex4gZEh"},"zIndex":999,"width":193,"height":49,"style":{"width":193,"height":49},"positionAbsolute":{"x":-785.24296378698,"y":1671.8291147642672},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"cszjT3YK8oyhGpqLTQzwX","type":"topic","position":{"x":-523.1381872719934,"y":1867.6382433656738},"selected":true,"data":{"label":"HyperLogLog","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":149,"height":49,"style":{"width":149,"height":49},"resizing":false,"positionAbsolute":{"x":-523.1381872719934,"y":1867.6382433656738},"dragging":false,"selectable":true,"focusable":true},{"id":"8a4DmPZrX2xGZ7zdWxS63","type":"subtopic","position":{"x":-787.1336432750411,"y":1822.4395748673794},"selected":true,"data":{"label":"PFADD","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":193,"height":49,"style":{"width":193,"height":49},"positionAbsolute":{"x":-787.1336432750411,"y":1822.4395748673794},"selectable":true,"focusable":true,"resizing":false,"dragging":false},{"id":"JWT30KIJQHVw0MXI5sGR6","type":"subtopic","position":{"x":-787.1336432750411,"y":1875.4395748673794},"selected":true,"data":{"label":"PFCOUNT","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":193,"height":49,"style":{"width":193,"height":49},"positionAbsolute":{"x":-787.1336432750411,"y":1875.4395748673794},"selectable":true,"focusable":true,"dragging":false,"resizing":false},{"id":"s50jr_XOUcxh65-tGCKf5","type":"subtopic","position":{"x":-787.1336432750411,"y":1769.4395748673794},"selected":true,"data":{"label":"PFMERGE","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":193,"height":49,"style":{"width":193,"height":49},"positionAbsolute":{"x":-787.1336432750411,"y":1769.4395748673794},"selectable":true,"focusable":true,"dragging":false,"resizing":false},{"id":"EiVMoU64Omo8DOV7h6nBr","type":"label","position":{"x":-779.1336432750411,"y":1927.5036813875156},"selected":true,"data":{"label":"Common Commands","href":"","color":"#000000","style":{"fontSize":17},"oldId":"i2qZKBU9LJ8c6z8wKt_Eb"},"zIndex":999,"width":177,"height":36,"style":{},"positionAbsolute":{"x":-779.1336432750411,"y":1927.5036813875156},"dragging":false,"selectable":true,"focusable":true},{"id":"XPeCvikPuu6EJ8UcOLGPh","type":"subtopic","position":{"x":-787.1336432750411,"y":1963.5036813875156},"selected":true,"data":{"label":"Usecases","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"s7PEr-5TAm5EGJm0RSjPJ"},"zIndex":999,"width":193,"height":49,"style":{"width":193,"height":49},"positionAbsolute":{"x":-787.1336432750411,"y":1963.5036813875156},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"zXs_9n2yEb_eVi0WuOQKH","type":"topic","position":{"x":-242.30753316308028,"y":1998.5036813875156},"selected":true,"data":{"label":"Streams","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"cszjT3YK8oyhGpqLTQzwX"},"zIndex":999,"width":141,"height":49,"style":{"width":141,"height":49},"resizing":false,"positionAbsolute":{"x":-242.30753316308028,"y":1998.5036813875156},"dragging":false,"selectable":true,"focusable":true},{"id":"7isWhgrUA6M5IGM2U2tm4","type":"subtopic","position":{"x":-265.08695195283053,"y":1695.0200165881924},"selected":true,"data":{"label":"XADD","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":100,"height":49,"style":{"width":100,"height":49},"positionAbsolute":{"x":-265.08695195283053,"y":1695.0200165881924},"dragging":false,"selectable":true,"focusable":true},{"id":"4sKiAtX5aIL4NDsQkilNC","type":"subtopic","position":{"x":-161.52821095958973,"y":1694.0520698482605},"selected":true,"data":{"label":"XREAD","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":85,"height":49,"style":{"width":85,"height":49},"positionAbsolute":{"x":-161.52821095958973,"y":1694.0520698482605},"dragging":false,"selectable":true,"focusable":true},{"id":"CiYFuYE8XudZkR6AW2NQ7","type":"subtopic","position":{"x":-265.08695195283053,"y":1747.5200165881924},"selected":true,"data":{"label":"XRANGE","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":100,"height":49,"style":{"width":100,"height":49},"positionAbsolute":{"x":-265.08695195283053,"y":1747.5200165881924},"dragging":false,"selectable":true,"focusable":true},{"id":"DQJCMEw13lELcw_AwLfrT","type":"subtopic","position":{"x":-161.52821095958973,"y":1746.5520698482605},"selected":true,"data":{"label":"XLEN","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":85,"height":49,"style":{"width":85,"height":49},"positionAbsolute":{"x":-161.52821095958973,"y":1746.5520698482605},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"1eNIiXzA2XjiIDS_df1YR","type":"label","position":{"x":-260.35633423807275,"y":1855.4492672979154},"selected":true,"data":{"label":"Common Commands","href":"","color":"#000000","style":{"fontSize":17},"oldId":"WMDsN_k9KKTMJoVxvqRe_"},"zIndex":999,"width":177,"height":36,"style":{},"positionAbsolute":{"x":-260.35633423807275,"y":1855.4492672979154},"dragging":false,"selectable":true,"focusable":true},{"id":"zXlSBfa-Gi9_GhSYEzre3","type":"subtopic","position":{"x":-263.85633423807275,"y":1895.4492672979154},"selected":true,"data":{"label":"Usecases","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"3hayYoSZepw7pppBubotg"},"zIndex":999,"width":184,"height":49,"style":{"width":184,"height":49},"positionAbsolute":{"x":-263.85633423807275,"y":1895.4492672979154},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"4-z4hDKm86qQatYnmE21R","type":"subtopic","position":{"x":-264.9240202700449,"y":1800.7982003024445},"selected":true,"data":{"label":"More Commands","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"b48EUyFGUeSjtT5fOa_m6"},"zIndex":999,"width":186,"height":49,"style":{"width":186,"height":49},"resizing":false,"positionAbsolute":{"x":-264.9240202700449,"y":1800.7982003024445},"dragging":false,"selectable":true,"focusable":true},{"id":"_NiUdVQ85qnvryI38k_vQ","type":"topic","position":{"x":34.784146851171954,"y":1998.5036813875156},"selected":true,"data":{"label":"Geospatial Indexes","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"9W_jaK1DSEZHRKdPcUM7h"},"zIndex":999,"width":205,"height":49,"style":{"width":205,"height":49},"resizing":false,"positionAbsolute":{"x":34.784146851171954,"y":1998.5036813875156},"dragging":false,"selectable":true,"focusable":true},{"id":"U3N1EgHFs1-YUaB_VrJfw","type":"subtopic","position":{"x":43.68805808540674,"y":1693.57444541618},"selected":true,"data":{"label":"GEOADD","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":186,"height":51,"style":{"width":186,"height":51},"positionAbsolute":{"x":43.68805808540674,"y":1693.57444541618},"selectable":true,"focusable":true,"dragging":false},{"id":"OWWDLuGTbdNwME7v2jxVP","type":"subtopic","position":{"x":43.68805808540674,"y":1748.57444541618},"selected":true,"data":{"label":"GEOSEARCH","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":186,"height":49,"style":{"width":186,"height":49},"positionAbsolute":{"x":43.68805808540674,"y":1748.57444541618},"selectable":true,"focusable":true,"dragging":false},{"id":"n7tMR48rdamdpGuCKKiJh","type":"label","position":{"x":49.70715514077847,"y":1856.5838292760734},"selected":true,"data":{"label":"Common Commands","href":"","color":"#000000","style":{"fontSize":17},"oldId":"1eNIiXzA2XjiIDS_df1YR"},"zIndex":999,"width":177,"height":36,"style":{},"positionAbsolute":{"x":49.70715514077847,"y":1856.5838292760734},"dragging":false,"selectable":true,"focusable":true},{"id":"GNMjrLPkpTphneoQ0GoZF","type":"subtopic","position":{"x":46.20715514077847,"y":1896.5838292760734},"selected":true,"data":{"label":"Usecases","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"zXlSBfa-Gi9_GhSYEzre3"},"zIndex":999,"width":184,"height":49,"style":{"width":184,"height":49},"positionAbsolute":{"x":46.20715514077847,"y":1896.5838292760734},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"FCbdKnkI1ZHGekT6yiGua","type":"subtopic","position":{"x":45.13946910880634,"y":1801.9327622806024},"selected":true,"data":{"label":"More Commands","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"4-z4hDKm86qQatYnmE21R"},"zIndex":999,"width":186,"height":49,"style":{"width":186,"height":49},"resizing":false,"positionAbsolute":{"x":45.13946910880634,"y":1801.9327622806024},"dragging":false,"selectable":true,"focusable":true},{"id":"9W_jaK1DSEZHRKdPcUM7h","type":"topic","position":{"x":33.284146851171954,"y":2094.1338220801877},"selected":true,"data":{"label":"Pub/Sub","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"zXs_9n2yEb_eVi0WuOQKH"},"zIndex":999,"width":208,"height":49,"style":{"width":208,"height":49},"resizing":false,"positionAbsolute":{"x":33.284146851171954,"y":2094.1338220801877},"dragging":false,"selectable":true,"focusable":true},{"id":"55BCntuWlaQiLPqNtb-2i","type":"subtopic","position":{"x":44.284146851171954,"y":2193.028423683739},"selected":true,"data":{"label":"SUBSCRIBE","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":186,"height":49,"style":{"width":186,"height":49},"positionAbsolute":{"x":44.284146851171954,"y":2193.028423683739},"dragging":false,"selectable":true,"focusable":true},{"id":"5gkZzm2F4vu6IxUoJLYbK","type":"subtopic","position":{"x":44.284146851171954,"y":2246.028423683739},"selected":true,"data":{"label":"UNSUBSCRIBE","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":186,"height":49,"style":{"width":186,"height":49},"positionAbsolute":{"x":44.284146851171954,"y":2246.028423683739},"dragging":false,"selectable":true,"focusable":true},{"id":"gIPo-2CNqE1BsOaDzmkCU","type":"subtopic","position":{"x":44.284146851171954,"y":2299.028423683739},"selected":true,"data":{"label":"PUBLISH","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":186,"height":49,"style":{"width":186,"height":49},"positionAbsolute":{"x":44.284146851171954,"y":2299.028423683739},"dragging":false,"selectable":true,"focusable":true},{"id":"fu9hfU-5qxDc2psK6-AEm","type":"label","position":{"x":48.784146851171954,"y":2406.028423683739},"selected":true,"data":{"label":"Common Commands","href":"","color":"#000000","style":{"fontSize":17},"oldId":"n7tMR48rdamdpGuCKKiJh"},"zIndex":999,"width":177,"height":36,"style":{},"positionAbsolute":{"x":48.784146851171954,"y":2406.028423683739},"dragging":false,"selectable":true,"focusable":true},{"id":"V-d6q-3Sf0dl5v8xiCQwl","type":"subtopic","position":{"x":44.284146851171954,"y":2352.028423683739},"selected":true,"data":{"label":"More Commands","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"FCbdKnkI1ZHGekT6yiGua"},"zIndex":999,"width":186,"height":49,"style":{"width":186,"height":49},"resizing":false,"positionAbsolute":{"x":44.284146851171954,"y":2352.028423683739},"dragging":false,"selectable":true,"focusable":true},{"id":"MvyE_JUJej0UB9xe8Anfj","type":"subtopic","position":{"x":45.284146851171954,"y":2447.028423683739},"selected":true,"data":{"label":"Usecases","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"GNMjrLPkpTphneoQ0GoZF"},"zIndex":999,"width":184,"height":49,"style":{"width":184,"height":49},"positionAbsolute":{"x":45.284146851171954,"y":2447.028423683739},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"YHbWlKrQqptUDbaQVy0_A","type":"topic","position":{"x":-270.6768116800821,"y":2094.1338220801877},"selected":true,"data":{"label":"Transactions","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"9W_jaK1DSEZHRKdPcUM7h"},"zIndex":999,"width":210,"height":49,"style":{"width":210,"height":49},"resizing":false,"positionAbsolute":{"x":-270.6768116800821,"y":2094.1338220801877},"dragging":false,"selectable":true,"focusable":true},{"id":"c-y5Eck8VtSyIf8RAW9p7","type":"subtopic","position":{"x":-259.6768116800821,"y":2192.7847957820186},"selected":true,"data":{"label":"WATCH","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":188,"height":49,"style":{"width":188,"height":49},"positionAbsolute":{"x":-259.6768116800821,"y":2192.7847957820186},"dragging":false,"selectable":true,"focusable":true},{"id":"Ljy-Mc0EBBX4_vXfYZ5-4","type":"subtopic","position":{"x":-259.6768116800821,"y":2245.7847957820186},"selected":true,"data":{"label":"EXEC","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":188,"height":49,"style":{"width":188,"height":49},"positionAbsolute":{"x":-259.6768116800821,"y":2245.7847957820186},"dragging":false,"selectable":true,"focusable":true},{"id":"U6hST1MkS16T2CHV3-Ise","type":"subtopic","position":{"x":-259.6768116800821,"y":2298.7847957820186},"selected":true,"data":{"label":"MULTI","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":188,"height":49,"style":{"width":188,"height":49},"positionAbsolute":{"x":-259.6768116800821,"y":2298.7847957820186},"dragging":false,"selectable":true,"focusable":true},{"id":"bnqUb3pHb4KzH_vA0JO-o","type":"label","position":{"x":-254.1768116800821,"y":2357.7847957820186},"selected":true,"data":{"label":"Common Commands","href":"","color":"#000000","style":{"fontSize":17},"oldId":"fu9hfU-5qxDc2psK6-AEm"},"zIndex":999,"width":177,"height":36,"style":{},"positionAbsolute":{"x":-254.1768116800821,"y":2357.7847957820186},"dragging":false,"selectable":true,"focusable":true},{"id":"msW0Wd2H-6FFNDnjC64t-","type":"subtopic","position":{"x":-259.6768116800821,"y":2393.7847957820186},"selected":true,"data":{"label":"Optimistic Locking","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"MvyE_JUJej0UB9xe8Anfj"},"zIndex":999,"width":188,"height":50,"style":{"width":188,"height":50},"positionAbsolute":{"x":-259.6768116800821,"y":2393.7847957820186},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"Veb30QrPYNjUn13dtGbUr","type":"topic","position":{"x":-540.6396884459828,"y":2094.1338220801877},"selected":true,"data":{"label":"Lua Scripting","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"YHbWlKrQqptUDbaQVy0_A"},"zIndex":999,"width":203,"height":49,"style":{"width":203,"height":49},"resizing":false,"positionAbsolute":{"x":-540.6396884459828,"y":2094.1338220801877},"dragging":false,"selectable":true,"focusable":true},{"id":"rjeq3i9oX8IGyQzo--L3c","type":"subtopic","position":{"x":-531.1396884459828,"y":2193.3736263464275},"selected":true,"data":{"label":"EVAL","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":184,"height":49,"style":{"width":184,"height":49},"dragging":false,"positionAbsolute":{"x":-531.1396884459828,"y":2193.3736263464275},"selectable":true,"focusable":true},{"id":"3X0x_PcJGWBVPL-LSVAln","type":"subtopic","position":{"x":-531.1396884459828,"y":2246.3736263464275},"selected":true,"data":{"label":"EVALSHA","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":184,"height":49,"style":{"width":184,"height":49},"positionAbsolute":{"x":-531.1396884459828,"y":2246.3736263464275},"dragging":false,"selectable":true,"focusable":true},{"id":"ntFfk1RRA5g_dC5McYb9g","type":"label","position":{"x":-527.6396884459828,"y":2300.6176330596563},"selected":true,"data":{"label":"Common Commands","href":"","color":"#000000","style":{"fontSize":17},"oldId":"fu9hfU-5qxDc2psK6-AEm"},"zIndex":999,"width":177,"height":36,"style":{},"positionAbsolute":{"x":-527.6396884459828,"y":2300.6176330596563},"dragging":false,"selectable":true,"focusable":true},{"id":"kF_nGo845XDwLkwcQt008","type":"subtopic","position":{"x":-531.1396884459828,"y":2341.6176330596563},"selected":true,"data":{"label":"Usecases","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"MvyE_JUJej0UB9xe8Anfj"},"zIndex":999,"width":184,"height":49,"style":{"width":184,"height":49},"positionAbsolute":{"x":-531.1396884459828,"y":2341.6176330596563},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"bQaek7f3dAaZfSUhwovm1","type":"topic","position":{"x":-761.5705012400213,"y":2430.5411678802984},"selected":true,"data":{"label":"Persistence Options","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"Veb30QrPYNjUn13dtGbUr"},"zIndex":999,"width":203,"height":49,"style":{"width":203,"height":49},"resizing":false,"positionAbsolute":{"x":-761.5705012400213,"y":2430.5411678802984},"dragging":false,"selectable":true,"focusable":true},{"id":"D3pZdAjwPFMRxX1-iyu5-","type":"subtopic","position":{"x":-788.4056236984468,"y":2582.722300491497},"selected":true,"data":{"label":"How RDB Works?","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":254,"height":49,"style":{"width":254,"height":49},"positionAbsolute":{"x":-788.4056236984468,"y":2582.722300491497},"dragging":false,"selectable":true,"focusable":true},{"id":"_pb2DPrFUUZabKxWsuFUo","type":"subtopic","position":{"x":-788.4056236984468,"y":2635.722300491497},"selected":true,"data":{"label":"Configuring Save Interval","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":254,"height":49,"style":{"width":254,"height":49},"positionAbsolute":{"x":-788.4056236984468,"y":2635.722300491497},"dragging":false,"selectable":true,"focusable":true},{"id":"Z6yJwUkcDX08HoMyf1LwX","type":"subtopic","position":{"x":-788.4056236984468,"y":2688.722300491497},"selected":true,"data":{"label":"Usecases / Best Practices","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"vzp7DUpjklzIA0E9WxJQA"},"zIndex":999,"width":254,"height":49,"style":{"width":254,"height":49},"positionAbsolute":{"x":-788.4056236984468,"y":2688.722300491497},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"cXcTz_u6RL3novZimRdg_","type":"label","position":{"x":-746.4056236984468,"y":2748.722300491497},"selected":true,"data":{"label":"Snapshotting (RDB)","href":"","color":"#000000","style":{"fontSize":17}},"zIndex":999,"width":170,"height":36,"style":{},"positionAbsolute":{"x":-746.4056236984468,"y":2748.722300491497},"dragging":false,"selectable":true,"focusable":true},{"id":"PTj6oxvpw8vP295WvAI80","type":"subtopic","position":{"x":-788.5040036977603,"y":2795.239715349408},"selected":true,"data":{"label":"How AOF Works?","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":254,"height":49,"style":{"width":254,"height":49},"positionAbsolute":{"x":-788.5040036977603,"y":2795.239715349408},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"ibaZ34-laQtUyxAsERi7o","type":"subtopic","position":{"x":-788.5040036977603,"y":2848.239715349408},"selected":true,"data":{"label":"AOF rewrite & compaction","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":254,"height":49,"style":{"width":254,"height":49},"positionAbsolute":{"x":-788.5040036977603,"y":2848.239715349408},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"9ToKTUqbi-NV5Wcwb21PT","type":"subtopic","position":{"x":-788.5040036977603,"y":2901.239715349408},"selected":true,"data":{"label":"Truncation / Corruption","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":254,"height":49,"style":{"width":254,"height":49},"dragging":false,"positionAbsolute":{"x":-788.5040036977603,"y":2901.239715349408},"selectable":true,"focusable":true,"resizing":false},{"id":"VvOQUO22ZF8VvDSqHENNU","type":"subtopic","position":{"x":-788.5040036977603,"y":2954.239715349408},"selected":true,"data":{"label":"Usecases","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":254,"height":50,"style":{"width":254,"height":50},"positionAbsolute":{"x":-788.5040036977603,"y":2954.239715349408},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"Y__3QLU4PChySvPtqDtxT","type":"label","position":{"x":-761.0995417594463,"y":3012.821469532407},"selected":true,"data":{"label":"Append-Only File (AOF)","href":"","color":"#000000","style":{"fontSize":17}},"zIndex":999,"width":197,"height":36,"style":{},"positionAbsolute":{"x":-761.0995417594463,"y":3012.821469532407},"dragging":false,"selectable":true,"focusable":true},{"id":"vzp7DUpjklzIA0E9WxJQA","type":"subtopic","position":{"x":-788.4056236984468,"y":2688.722300491497},"selected":true,"data":{"label":"Usecases / Best Practices","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":254,"height":49,"style":{"width":254,"height":49},"positionAbsolute":{"x":-788.4056236984468,"y":2688.722300491497},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"80035BzcB-fKCvD_3N8zE","type":"subtopic","position":{"x":-796.4056236984468,"y":2525.722300491497},"selected":true,"data":{"label":"No Persistence Option","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"D3pZdAjwPFMRxX1-iyu5-"},"zIndex":999,"width":270,"height":49,"style":{"width":270,"height":49},"positionAbsolute":{"x":-796.4056236984468,"y":2525.722300491497},"dragging":false,"selectable":true,"focusable":true},{"id":"3S-qqOlfr60HR4VvDr4He","type":"subtopic","position":{"x":-788.4056236984468,"y":3069.0956068302976},"selected":true,"data":{"label":"RDB vs AOF Tradeoffs","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"PTj6oxvpw8vP295WvAI80"},"zIndex":999,"width":254,"height":49,"style":{"width":254,"height":49},"positionAbsolute":{"x":-788.4056236984468,"y":3069.0956068302976},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"S5Y26m1oHCQpB-oLCdtac","type":"subtopic","position":{"x":-786.6346077601577,"y":3121.5956068302976},"selected":true,"data":{"label":"Hybrid Persistence","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"3S-qqOlfr60HR4VvDr4He"},"zIndex":999,"width":254,"height":49,"style":{"width":254,"height":49},"positionAbsolute":{"x":-786.6346077601577,"y":3121.5956068302976},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"8zl_DwdRI2MGz6RadV4lE","type":"label","position":{"x":-762.1812271795868,"y":3177.5821619503376},"selected":true,"data":{"label":"Choosing Right Strategy","href":"","color":"#000000","style":{"fontSize":17},"oldId":"Y__3QLU4PChySvPtqDtxT"},"zIndex":999,"width":201,"height":36,"style":{},"positionAbsolute":{"x":-762.1812271795868,"y":3177.5821619503376},"dragging":false,"selectable":true,"focusable":true},{"id":"0zHluzD25vXl3AYcvbxhx","type":"vertical","position":{"x":-670.0705012400213,"y":2479.5411678802984},"selected":true,"data":{"label":"vertical node","style":{"stroke":"#2B78E4","strokeWidth":3.5,"strokeDasharray":"0.8 8","strokeLinecap":"round"}},"zIndex":999,"width":20,"height":50,"style":{"width":20,"height":50},"positionAbsolute":{"x":-670.0705012400213,"y":2479.5411678802984},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"uvwbpHaA6rH6YrHuEdBxh","type":"paragraph","position":{"x":-485.07050124002126,"y":2570.722300491497},"selected":true,"data":{"label":"Replication / HA","style":{"fontSize":20,"borderColor":"transparent","backgroundColor":"transparent","color":"#000000","textAlign":"center","justifyContent":"center","padding":16},"oldId":"45ihdIfRW-jI38h-s4Vdc"},"zIndex":999,"width":194,"height":58,"style":{"width":194,"height":58},"resizing":false,"positionAbsolute":{"x":-485.07050124002126,"y":2570.722300491497},"dragging":false,"selectable":true,"focusable":true},{"id":"rSD8nJ-uNpHJVe5Hn66h7","type":"topic","position":{"x":-487.52827201104554,"y":2691.3630425975985},"selected":true,"data":{"label":"Replication Basics","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":199,"height":49,"style":{"width":199,"height":49},"positionAbsolute":{"x":-487.52827201104554,"y":2691.3630425975985},"selectable":true,"focusable":true,"dragging":false,"resizing":false},{"id":"nci3OB1NE1zJHUPfZCOpT","type":"topic","position":{"x":-487.52827201104554,"y":2744.3630425975985},"selected":true,"data":{"label":"Redis Sentinel","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":199,"height":50,"style":{"width":199,"height":50},"positionAbsolute":{"x":-487.52827201104554,"y":2744.3630425975985},"selectable":true,"focusable":true,"dragging":false,"resizing":false},{"id":"AQiCcHS6dBAAAPloxiXub","type":"topic","position":{"x":-487.52827201104554,"y":2797.3630425975985},"selected":true,"data":{"label":"Clustering","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":199,"height":49,"style":{"width":199,"height":49},"positionAbsolute":{"x":-487.52827201104554,"y":2797.3630425975985},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"zmVjMf9wNHARBS_mBY4lY","type":"paragraph","position":{"x":-192.0301527130956,"y":2795.3630425975985},"selected":true,"data":{"label":"Security","style":{"fontSize":20,"borderColor":"transparent","backgroundColor":"transparent","color":"#000000","textAlign":"center","justifyContent":"center","padding":16},"oldId":"uvwbpHaA6rH6YrHuEdBxh"},"zIndex":999,"width":123,"height":53,"style":{"width":123,"height":53},"resizing":false,"positionAbsolute":{"x":-192.0301527130956,"y":2795.3630425975985},"dragging":false,"selectable":true,"focusable":true},{"id":"Qy42paiTUsO8HIwbWTMui","type":"topic","position":{"x":-232.0301527130956,"y":2574.728124123601},"selected":true,"data":{"label":"Authentication","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"rSD8nJ-uNpHJVe5Hn66h7"},"zIndex":999,"width":203,"height":49,"style":{"width":203,"height":49},"positionAbsolute":{"x":-232.0301527130956,"y":2574.728124123601},"selectable":true,"focusable":true,"dragging":false,"resizing":true},{"id":"wsuKH7YwGDV6GYQbdhA4o","type":"topic","position":{"x":-232.0301527130956,"y":2627.728124123601},"selected":true,"data":{"label":"Network Security","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"Qy42paiTUsO8HIwbWTMui"},"zIndex":999,"width":203,"height":49,"style":{"width":203,"height":49},"positionAbsolute":{"x":-232.0301527130956,"y":2627.728124123601},"selectable":true,"focusable":true,"dragging":false,"resizing":false},{"id":"gdiWwTQg6A-BFHdQBmgmH","type":"topic","position":{"x":-232.0301527130956,"y":2680.728124123601},"selected":true,"data":{"label":"SSL/TLS Encryption","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"wsuKH7YwGDV6GYQbdhA4o"},"zIndex":999,"width":203,"height":49,"style":{"width":203,"height":49},"positionAbsolute":{"x":-232.0301527130956,"y":2680.728124123601},"selectable":true,"focusable":true,"dragging":false,"resizing":false},{"id":"k9HeweEN4enuboEppbJiP","type":"paragraph","position":{"x":28.876322242962374,"y":2740.3630425975985},"selected":true,"data":{"label":"Monitoring / Optimization","style":{"fontSize":20,"borderColor":"transparent","backgroundColor":"transparent","color":"#000000","textAlign":"center","justifyContent":"center","padding":16},"oldId":"zmVjMf9wNHARBS_mBY4lY"},"zIndex":999,"width":268,"height":65,"style":{"width":268,"height":65},"resizing":false,"positionAbsolute":{"x":28.876322242962374,"y":2740.3630425975985},"dragging":false,"selectable":true,"focusable":true},{"id":"q2Jw49QUWCUGIfcEC1bZI","type":"subtopic","position":{"x":78.05051776655154,"y":2972.2582055339226},"selected":true,"data":{"label":"INFO","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"jBtEiylcedtaE6E20Uk4V"},"zIndex":999,"width":70,"height":49,"style":{"width":70,"height":49},"positionAbsolute":{"x":78.05051776655154,"y":2972.2582055339226},"selectable":true,"focusable":true,"dragging":false,"resizing":false},{"id":"jBtEiylcedtaE6E20Uk4V","type":"subtopic","position":{"x":150.47128940990217,"y":2972.2582055339226},"selected":true,"data":{"label":"MONITOR","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":100,"height":49,"style":{"width":100,"height":49},"positionAbsolute":{"x":150.47128940990217,"y":2972.2582055339226},"selectable":true,"focusable":true,"dragging":false,"resizing":false},{"id":"_Pc7nNLnVFca8Wn3DjOfL","type":"label","position":{"x":103.35425900731707,"y":3027.634878285732},"selected":true,"data":{"label":"Built-in Tools","href":"","color":"#000000","style":{"fontSize":17},"oldId":"gEDpVuVAS0oZv7rlku8LH"},"zIndex":999,"width":126,"height":34,"style":{"width":125.978759765625,"height":33.5302734375},"positionAbsolute":{"x":103.35425900731707,"y":3027.634878285732},"dragging":false,"selectable":true,"focusable":true},{"id":"XBPwHgIsXupMsyoOFkJZ0","type":"subtopic","position":{"x":78.05051776655154,"y":3066.634878285732},"selected":true,"data":{"label":"RedisInsight","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"y5FPSAi6T-5X9SUfR58_-"},"zIndex":999,"width":170,"height":49,"style":{"width":170,"height":49},"positionAbsolute":{"x":78.05051776655154,"y":3066.634878285732},"selectable":true,"focusable":true,"dragging":false,"resizing":false},{"id":"y5FPSAi6T-5X9SUfR58_-","type":"subtopic","position":{"x":78.05051776655154,"y":3120.634878285732},"selected":true,"data":{"label":"RedisCommander","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":170,"height":49,"style":{"width":170,"height":49},"positionAbsolute":{"x":78.05051776655154,"y":3120.634878285732},"selectable":true,"focusable":true,"dragging":false,"resizing":false},{"id":"gEDpVuVAS0oZv7rlku8LH","type":"label","position":{"x":99.36093890060175,"y":3172.716632468731},"selected":true,"data":{"label":"3rd Party Tools","href":"","color":"#000000","style":{"fontSize":17}},"zIndex":999,"width":128,"height":36,"style":{},"positionAbsolute":{"x":99.36093890060175,"y":3172.716632468731},"dragging":false,"selectable":true,"focusable":true},{"id":"YFNh64DIbJJPQrm5fquvi","type":"label","position":{"x":-209.03386624713073,"y":3170.0682184225393},"selected":true,"data":{"label":"Performance Optimization","href":"","color":"#000000","style":{"fontSize":17}},"zIndex":999,"width":215,"height":36,"style":{},"positionAbsolute":{"x":-209.03386624713073,"y":3170.0682184225393},"selectable":true,"focusable":true,"dragging":false},{"id":"xF0wQYmtwXYkrzvWg5gOO","type":"subtopic","position":{"x":-209.03386624713073,"y":2951.0682184225393},"selected":true,"data":{"label":"Memory Management","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":215,"height":49,"style":{"width":215,"height":49},"dragging":false,"positionAbsolute":{"x":-209.03386624713073,"y":2951.0682184225393},"selectable":true,"focusable":true,"resizing":false},{"id":"Sd1ENOXSFCz1YqccXjr2A","type":"subtopic","position":{"x":-209.03386624713073,"y":2898.0682184225393},"selected":true,"data":{"label":"Max Memory Policy","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":215,"height":49,"style":{"width":215,"height":49},"positionAbsolute":{"x":-209.03386624713073,"y":2898.0682184225393},"selectable":true,"focusable":true,"dragging":false},{"id":"yaCWw2KjX58SaPajUAb0d","type":"subtopic","position":{"x":-209.03386624713073,"y":3004.0682184225393},"selected":true,"data":{"label":"Slow Log Analysis","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":215,"height":49,"style":{"width":215,"height":49},"dragging":false,"positionAbsolute":{"x":-209.03386624713073,"y":3004.0682184225393},"selectable":true,"focusable":true},{"id":"kgHwK4N-sfh6dHjd_D_me","type":"subtopic","position":{"x":-209.03386624713073,"y":3057.0682184225393},"selected":true,"data":{"label":"redis-benchmark","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":215,"height":49,"style":{"height":49,"width":215},"positionAbsolute":{"x":-209.03386624713073,"y":3057.0682184225393},"selectable":true,"focusable":true,"dragging":false},{"id":"2p5RF4lVYfRvYTo1Ofm-a","type":"subtopic","position":{"x":-209.03386624713073,"y":3110.0682184225393},"selected":true,"data":{"label":"Monitoring","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":215,"height":49,"style":{"width":215,"height":49},"positionAbsolute":{"x":-209.03386624713073,"y":3110.0682184225393},"dragging":false,"selectable":true,"focusable":true},{"id":"L0t6e1P83aaoa3B9OUT-8","type":"horizontal","position":{"x":13.997184791950758,"y":3161.5956068302976},"selected":true,"data":{"label":"horizontal node","style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2B78E4"}},"zIndex":999,"width":52,"height":20,"style":{"width":52,"height":20},"positionAbsolute":{"x":13.997184791950758,"y":3161.5956068302976},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"PSQ274asgr1EEnim7U-eh","type":"horizontal","position":{"x":-307.03386624713073,"y":3158.0956068302976},"selected":true,"data":{"label":"horizontal node","style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2B78E4"},"oldId":"L0t6e1P83aaoa3B9OUT-8"},"zIndex":999,"width":90,"height":20,"style":{"width":90,"height":20},"positionAbsolute":{"x":-307.03386624713073,"y":3158.0956068302976},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"hLIT00Iz7rV56ZBIUhWYn","type":"topic","position":{"x":-460.32324473151516,"y":3143.5956068302976},"selected":true,"data":{"label":"Redis Modules","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":160,"height":49,"style":{},"positionAbsolute":{"x":-460.32324473151516,"y":3143.5956068302976},"dragging":false,"selectable":true,"focusable":true},{"id":"jicsfYw56VrbRUt7M8c85","type":"subtopic","position":{"x":-468.32324473151516,"y":3063.899240143158},"selected":true,"data":{"label":"RedisJSON","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":176,"height":49,"style":{"width":176},"dragging":false,"positionAbsolute":{"x":-468.32324473151516,"y":3063.899240143158},"selectable":true,"focusable":true},{"id":"_GdTXcJO8uJlhPdfrmeXG","type":"subtopic","position":{"x":-468.32324473151516,"y":2904.899240143158},"selected":true,"data":{"label":"Search","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":176,"height":49,"style":{"width":176},"positionAbsolute":{"x":-468.32324473151516,"y":2904.899240143158},"dragging":false,"selectable":true,"focusable":true},{"id":"RBr8opWSh2TKXC8Fmdg0j","type":"subtopic","position":{"x":-468.32324473151516,"y":2957.899240143158},"selected":true,"data":{"label":"RedisTimeSeries","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":176,"height":49,"style":{"width":176},"positionAbsolute":{"x":-468.32324473151516,"y":2957.899240143158},"dragging":false,"selectable":true,"focusable":true},{"id":"GwVL5CvbnHsiWb1hVh7lK","type":"subtopic","position":{"x":-468.32324473151516,"y":3010.899240143158},"selected":true,"data":{"label":"RedisBloom","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":176,"height":49,"style":{"width":176},"positionAbsolute":{"x":-468.32324473151516,"y":3010.899240143158},"dragging":false,"selectable":true,"focusable":true},{"id":"vWOOOTjEx8Ycz1NA0xZad","type":"paragraph","position":{"x":-547.3232447315152,"y":3289.9218306559433},"selected":true,"data":{"label":"Managing Redis in Production","style":{"fontSize":20,"borderColor":"transparent","backgroundColor":"transparent","color":"#000000","textAlign":"center","justifyContent":"center","padding":16},"oldId":"k9HeweEN4enuboEppbJiP"},"zIndex":999,"width":334,"height":58,"style":{"width":334,"height":58},"resizing":false,"positionAbsolute":{"x":-547.3232447315152,"y":3289.9218306559433},"dragging":false,"selectable":true,"focusable":true},{"id":"giyKPtQ-pziA064P8OQD-","type":"topic","position":{"x":45.96613375286927,"y":3294.4218306559433},"selected":true,"data":{"label":"redis.conf","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":206,"height":49,"style":{"width":206,"height":49},"positionAbsolute":{"x":45.96613375286927,"y":3294.4218306559433},"dragging":false,"selectable":true,"focusable":true},{"id":"GPsf1hc9hXNKgutGCribk","type":"label","position":{"x":45.96613375286927,"y":3348.3314038676613},"selected":true,"data":{"label":"Important Configurations","href":"","color":"#000000","style":{"fontSize":17},"oldId":"-gCy7Uj64KQJ39IYb_Vph"},"zIndex":999,"width":206,"height":36,"style":{},"positionAbsolute":{"x":45.96613375286927,"y":3348.3314038676613},"dragging":false,"selectable":true,"focusable":true},{"id":"wXRDsNGFckXV_CSiit5sN","type":"topic","position":{"x":41.96613375286927,"y":3435.2725756087743},"selected":true,"data":{"label":"Backup and Recovery","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"8lyXDuZJ-KHl4v2_8Ew1h"},"zIndex":999,"width":214,"height":49,"style":{},"positionAbsolute":{"x":41.96613375286927,"y":3435.2725756087743},"dragging":false,"selectable":true,"focusable":true},{"id":"-gCy7Uj64KQJ39IYb_Vph","type":"label","position":{"x":65.370749690558,"y":3489.2725756087743},"selected":true,"data":{"label":"RDB and AOF Files","href":"","color":"#000000","style":{"fontSize":17}},"zIndex":999,"width":164,"height":36,"style":{},"positionAbsolute":{"x":65.370749690558,"y":3489.2725756087743},"dragging":false,"selectable":true,"focusable":true},{"id":"Cb-KazR4PuR86VX5oT0zi","type":"topic","position":{"x":-401.8779496312137,"y":3434.2725756087743},"selected":true,"data":{"label":"Upgrading Redis","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"8lyXDuZJ-KHl4v2_8Ew1h"},"zIndex":999,"width":194,"height":50,"style":{"width":194,"height":50},"positionAbsolute":{"x":-401.8779496312137,"y":3434.2725756087743},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"VgqFVVf1rYiSbYLeUO6KL","type":"label","position":{"x":-398.3779496312137,"y":3488.032210578755},"selected":true,"data":{"label":"Minimizing Downtimes","href":"","color":"#000000","style":{"fontSize":17}},"zIndex":999,"width":187,"height":36,"style":{},"positionAbsolute":{"x":-398.3779496312137,"y":3488.032210578755},"dragging":false,"selectable":true,"focusable":true},{"id":"nUIfTkgm3PlSiqgun1BS7","type":"topic","position":{"x":-727.9644850173872,"y":3435.2725756087743},"selected":true,"data":{"label":"Disaster Recovery","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"8lyXDuZJ-KHl4v2_8Ew1h"},"zIndex":999,"width":194,"height":50,"style":{"width":194,"height":50},"positionAbsolute":{"x":-727.9644850173872,"y":3435.2725756087743},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"8lyXDuZJ-KHl4v2_8Ew1h","type":"topic","position":{"x":-727.9644850173872,"y":3552.753447069508},"selected":true,"data":{"label":"Redis Enterprise","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":194,"height":50,"style":{"width":194,"height":50},"positionAbsolute":{"x":-727.9644850173872,"y":3552.753447069508},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"RwGWF4dtvfhcORWz7lisg","type":"label","position":{"x":-715.4644850173872,"y":3813.6036656653055},"selected":true,"data":{"label":"Enterprise Features","href":"","color":"#000000","style":{"fontSize":17}},"zIndex":999,"width":169,"height":36,"style":{},"dragging":false,"positionAbsolute":{"x":-715.4644850173872,"y":3813.6036656653055},"selectable":true,"focusable":true},{"id":"cybF72wlJyJbHLUjitLvn","type":"subtopic","position":{"x":-765.4644850173872,"y":3647.6036656653055},"selected":true,"data":{"label":"Active-Active geo Distribution","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"ujs77bV8g8-FOm5hBtZFd"},"zIndex":999,"width":269,"height":49,"style":{"width":269,"height":49},"positionAbsolute":{"x":-765.4644850173872,"y":3647.6036656653055},"dragging":false,"selectable":true,"focusable":true},{"id":"sWOFnbh2EyaHRzquz1UeF","type":"subtopic","position":{"x":-765.4644850173872,"y":3700.6036656653055},"selected":true,"data":{"label":"Redis on Flash","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"ujs77bV8g8-FOm5hBtZFd"},"zIndex":999,"width":269,"height":49,"style":{"width":269,"height":49},"positionAbsolute":{"x":-765.4644850173872,"y":3700.6036656653055},"dragging":false,"selectable":true,"focusable":true},{"id":"ujs77bV8g8-FOm5hBtZFd","type":"subtopic","position":{"x":-765.4644850173872,"y":3753.6036656653055},"selected":true,"data":{"label":"Security and Compliance","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":269,"height":49,"style":{"width":269,"height":49},"positionAbsolute":{"x":-765.4644850173872,"y":3753.6036656653055},"dragging":false,"selectable":true,"focusable":true},{"id":"JlLwy69eQ1bPHAOOJNqjo","type":"subtopic","position":{"x":-773.4644850173872,"y":3851.6036656653055},"selected":true,"data":{"label":"When to consider enterprise?","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":285,"height":49,"style":{"width":285,"height":49},"positionAbsolute":{"x":-773.4644850173872,"y":3851.6036656653055},"dragging":false,"selectable":true,"focusable":true},{"width":409,"height":119,"id":"0vLaVNJaJSHZ_bHli6Qzs","type":"paragraph","position":{"x":-342.0466059451501,"y":3709.8659221702487},"selected":true,"data":{"label":"Continue Learning with following relevant tracks","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center","borderColor":"#000000","backgroundColor":"WHITe"},"oldId":"m9eO0jLGuR_9w2JJbe_g2"},"zIndex":999,"positionAbsolute":{"x":-342.0466059451501,"y":3709.8659221702487},"dragging":false,"style":{"width":409,"height":119},"resizing":false,"focusable":true,"selectable":true},{"width":132,"height":49,"id":"OIcmPSbdsuWapb6HZ4BEi","type":"button","position":{"x":-328.0328034608642,"y":3764.0115796033583},"selected":true,"data":{"label":"MongoDB","href":"https://roadmap.sh/mongodb","color":"#FFf","backgroundColor":"#4136D6","style":{"fontSize":17},"borderColor":"#4136D6","oldId":"cmSSwPPiiHwYh9ct14N6A"},"zIndex":999,"dragging":false,"positionAbsolute":{"x":-328.0328034608642,"y":3764.0115796033583},"style":{"width":132,"height":49},"focusable":true,"resizing":false,"selectable":true},{"width":140,"height":49,"id":"qXKNK_IsGS8-JgLK-Q9oU","type":"button","position":{"x":-191.4785882138204,"y":3764.0115796033583},"selected":true,"data":{"label":"PostgreSQL","href":"https://roadmap.sh/postgresql-dba","color":"#FFFFFf","backgroundColor":"#4136D6","style":{"fontSize":17},"borderColor":"#4136D6","oldId":"U309TNZ3yUYyAmP33dOt1"},"zIndex":999,"dragging":false,"positionAbsolute":{"x":-191.4785882138204,"y":3764.0115796033583},"style":{"width":140,"height":49},"focusable":true,"resizing":false,"selectable":true},{"width":20,"height":85,"id":"RLtk1C3gofHnLJ17x3o5b","type":"vertical","position":{"x":-149.11049657354835,"y":3832.8659221702487},"selected":true,"data":{"label":"vertical node","style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2B78E4"},"oldId":"ExXFPDHXtcOMcvZttzxvD"},"zIndex":999,"positionAbsolute":{"x":-149.11049657354835,"y":3832.8659221702487},"dragging":false,"focusable":true,"style":{"width":20,"height":85},"resizing":false,"selectable":true},{"width":100,"height":49,"id":"-sFboM4eFUMVq1tlPl-fV","type":"button","position":{"x":-47.00281520804924,"y":3764.0115796033583},"selected":true,"data":{"label":"SQL","href":"https://roadmap.sh/sql","color":"#FFFFFf","backgroundColor":"#4136D6","style":{"fontSize":17},"borderColor":"#4136D6","oldId":"qXKNK_IsGS8-JgLK-Q9oU"},"zIndex":999,"dragging":false,"positionAbsolute":{"x":-47.00281520804924,"y":3764.0115796033583},"style":{"width":100,"height":49},"focusable":true,"resizing":false,"selectable":true}],"edges":[{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"iogwMmOvub2ZF4zgg6WyF","sourceHandle":"x2","target":"_hYN0gEi9BL24nptEtXWU","targetHandle":"w1","data":{"edgeStyle":"solid"},"id":"XX0I26JoVMVXIe_7bVMix","selected":true,"focusable":true,"selectable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"_hYN0gEi9BL24nptEtXWU","sourceHandle":"z2","target":"idLHBxhvcIqZTqmh_E8Az","targetHandle":"y1","data":{"edgeStyle":"dashed"},"id":"dFn6kGOoJ-0BzJJEb9DSG","selected":true,"focusable":true,"selectable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"_hYN0gEi9BL24nptEtXWU","sourceHandle":"z2","target":"os3Pa6W9SSNEzgmlBbglQ","targetHandle":"y2","data":{"edgeStyle":"dashed"},"id":"arkF7QJJRbCBYWp0crqa2","selected":true,"focusable":true,"selectable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"_hYN0gEi9BL24nptEtXWU","sourceHandle":"z2","target":"3oInpqvTSSC5_K6i7j8N7","targetHandle":"y1","data":{"edgeStyle":"dashed"},"id":"HNVw8OboycWKLEtEbG2bn","selected":true,"focusable":true,"selectable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"_hYN0gEi9BL24nptEtXWU","sourceHandle":"z2","target":"YKhuRbcUFzo0hTvuTq-Yl","targetHandle":"y1","data":{"edgeStyle":"dashed"},"id":"auB7Png72XjmhcLr3IJA7","selected":true,"focusable":true,"selectable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"jZ67HhVRelJaxjsCckSSI","sourceHandle":"x2","target":"hWA7RtuqltMTmHdcCnmES","targetHandle":"y1","data":{"edgeStyle":"solid"},"id":"2aoDIr80lXSJLW1hIGUkb","selected":true,"focusable":true,"selectable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"sourceHandle":"z2","target":"NMznG9mo2wzNFnjhg990f","targetHandle":"y1","data":{"edgeStyle":"dashed"},"id":"m-_y7nLeYFkUKGiacxWA0","selected":true,"focusable":true,"selectable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"sourceHandle":"z2","target":"gc_7cuIO2_joKlQRAPDfX","targetHandle":"y1","data":{"edgeStyle":"dashed"},"id":"G7pXuJfkyt2nWAOHU8yV0","selected":true,"focusable":true,"selectable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"rrrvATyhXqRgJGWI3z0WF","sourceHandle":"x2","target":"AvbMQ5vY3ip1oX_6Yq4ie","targetHandle":"w2","data":{"edgeStyle":"dashed"},"id":"2_6Yz3-Agx9_rEN5xW86c","selected":true,"focusable":true,"selectable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"hWA7RtuqltMTmHdcCnmES","sourceHandle":"w2","target":"1AJv95mTLpR7L8KBoGym8","targetHandle":"x1","data":{"edgeStyle":"dashed"},"id":"kgMI98fg2-mKMgUs0wnjD","selected":true,"focusable":true,"selectable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"hWA7RtuqltMTmHdcCnmES","sourceHandle":"y2","target":"0etAs56EeBfh_0IlAaSra","targetHandle":"w1","data":{"edgeStyle":"solid"},"selected":true,"id":"ts38Q2ceHs60TJscUBZVE","focusable":true,"selectable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"jZ67HhVRelJaxjsCckSSI","sourceHandle":"y2","target":"h6ceO0kiBIxNRkPzN3hBY","targetHandle":"z1","data":{"edgeStyle":"dashed"},"id":"ZiMV7umyPdhy3JJDcopR-","selected":true,"focusable":true,"selectable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"jZ67HhVRelJaxjsCckSSI","sourceHandle":"y2","target":"_JlT9oKQ6Yu4UX6l19G8P","targetHandle":"z2","data":{"edgeStyle":"dashed"},"id":"WI-MhbxrehFcVwyGJ5CQJ","selected":true,"focusable":true,"selectable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"_hYN0gEi9BL24nptEtXWU","sourceHandle":"x2","target":"jZ67HhVRelJaxjsCckSSI","targetHandle":"w1","data":{"edgeStyle":"solid"},"id":"qUrLBzvXvJOg53HBfjrOI","selected":true,"focusable":true,"selectable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"L191VgfCbX3ibSIKySpsN","sourceHandle":"x2","target":"pa2QJLhAv3SPRK_2XcMZx","targetHandle":"w1","data":{"edgeStyle":"solid"},"id":"reactflow__edge-L191VgfCbX3ibSIKySpsNx2-pa2QJLhAv3SPRK_2XcMZxw1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"pa2QJLhAv3SPRK_2XcMZx","sourceHandle":"x2","target":"-3pADOHMDQ0H6ZKNjURyn","targetHandle":"w2","data":{"edgeStyle":"solid"},"id":"reactflow__edge-pa2QJLhAv3SPRK_2XcMZxx2--3pADOHMDQ0H6ZKNjURynw2","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"L191VgfCbX3ibSIKySpsN","sourceHandle":"x2","target":"-3pADOHMDQ0H6ZKNjURyn","targetHandle":"w1","data":{"edgeStyle":"solid"},"id":"reactflow__edge-L191VgfCbX3ibSIKySpsNx2--3pADOHMDQ0H6ZKNjURynw1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"-3pADOHMDQ0H6ZKNjURyn","sourceHandle":"x2","target":"gw04IG5uImCHxcFnOAAwy","targetHandle":"w1","data":{"edgeStyle":"solid"},"id":"reactflow__edge--3pADOHMDQ0H6ZKNjURynx2-gw04IG5uImCHxcFnOAAwyw1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"-3pADOHMDQ0H6ZKNjURyn","sourceHandle":"z2","target":"QXwoHEeisL4d6dpJOwYkU","targetHandle":"y1","data":{"edgeStyle":"dashed"},"id":"reactflow__edge--3pADOHMDQ0H6ZKNjURynz2-QXwoHEeisL4d6dpJOwYkUy1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"gw04IG5uImCHxcFnOAAwy","sourceHandle":"x2","target":"zxoi09oW1HbXNwvc14w9U","targetHandle":"w1","data":{"edgeStyle":"solid"},"id":"reactflow__edge-gw04IG5uImCHxcFnOAAwyx2-zxoi09oW1HbXNwvc14w9Uw1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"80UujPXPhvKIJMSM67pwl","sourceHandle":"x2","target":"GjKw6hbNV57I2sxuLfkQw","targetHandle":"w1","data":{"edgeStyle":"solid"},"id":"reactflow__edge-80UujPXPhvKIJMSM67pwlx2-GjKw6hbNV57I2sxuLfkQww1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"Wl23Jh-ASJOQ850yjaTIU","sourceHandle":"z2","target":"Ljjl_kSEevtaBALxRh2By","targetHandle":"y1","data":{"edgeStyle":"dashed"},"id":"reactflow__edge-Wl23Jh-ASJOQ850yjaTIUz2-Ljjl_kSEevtaBALxRh2Byy1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"4-C4XqACUp4nvcMIj6djF","sourceHandle":"z2","target":"Qgkpr9vf9d6-vUg1o8XFj","targetHandle":"y2","data":{"edgeStyle":"solid"},"selected":true,"type":"simplebezier","id":"reactflow__edge-4-C4XqACUp4nvcMIj6djFz2-wY46Qj5Inw_ClBNI9PB_2y2","selectable":true,"focusable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"Qgkpr9vf9d6-vUg1o8XFj","sourceHandle":"x2","target":"u2TdoI7ILaxYgUUni9W_w","targetHandle":"w1","data":{"edgeStyle":"dashed"},"id":"reactflow__edge-wY46Qj5Inw_ClBNI9PB_2x2-u2TdoI7ILaxYgUUni9W_ww1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"Qgkpr9vf9d6-vUg1o8XFj","sourceHandle":"w2","target":"wY46Qj5Inw_ClBNI9PB_2","targetHandle":"y1","data":{"edgeStyle":"solid"},"id":"reactflow__edge-Qgkpr9vf9d6-vUg1o8XFjw2-wY46Qj5Inw_ClBNI9PB_2y1","selected":true,"type":"simplebezier","selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"wY46Qj5Inw_ClBNI9PB_2","sourceHandle":"x2","target":"QTbkWZ7BpqYmBhUivccPu","targetHandle":"w2","data":{"edgeStyle":"solid"},"id":"reactflow__edge-wY46Qj5Inw_ClBNI9PB_2x2-QTbkWZ7BpqYmBhUivccPuw2","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"QTbkWZ7BpqYmBhUivccPu","sourceHandle":"x2","target":"8gyVwKg3Ctt2w15X7xZgC","targetHandle":"w1","data":{"edgeStyle":"solid"},"id":"reactflow__edge-QTbkWZ7BpqYmBhUivccPux2-8gyVwKg3Ctt2w15X7xZgCw1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"8gyVwKg3Ctt2w15X7xZgC","sourceHandle":"x2","target":"Kjkc8rNezN_LBD5WMrBbE","targetHandle":"w1","data":{"edgeStyle":"solid"},"id":"reactflow__edge-8gyVwKg3Ctt2w15X7xZgCx2-Kjkc8rNezN_LBD5WMrBbEw1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"Kjkc8rNezN_LBD5WMrBbE","sourceHandle":"z2","target":"jrgaoDnt_RxTu79hk4hCD","targetHandle":"y2","data":{"edgeStyle":"solid"},"id":"reactflow__edge-Kjkc8rNezN_LBD5WMrBbEz2-jrgaoDnt_RxTu79hk4hCDy2","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"jrgaoDnt_RxTu79hk4hCD","sourceHandle":"x2","target":"LHlwjN3WHYUBUafzzwsWQ","targetHandle":"w1","data":{"edgeStyle":"solid"},"id":"reactflow__edge-jrgaoDnt_RxTu79hk4hCDx2-LHlwjN3WHYUBUafzzwsWQw1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"LHlwjN3WHYUBUafzzwsWQ","sourceHandle":"x2","target":"7JzeyTrkZ_1_yxMVrqvZU","targetHandle":"w2","data":{"edgeStyle":"solid"},"id":"reactflow__edge-LHlwjN3WHYUBUafzzwsWQx2-7JzeyTrkZ_1_yxMVrqvZUw2","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"7JzeyTrkZ_1_yxMVrqvZU","sourceHandle":"y2","target":"45ihdIfRW-jI38h-s4Vdc","targetHandle":"z1","data":{"edgeStyle":"solid"},"id":"reactflow__edge-7JzeyTrkZ_1_yxMVrqvZUy2-45ihdIfRW-jI38h-s4Vdcz1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"45ihdIfRW-jI38h-s4Vdc","sourceHandle":"y2","target":"0Q3AkE8leWAyYsww3-BHX","targetHandle":"z1","data":{"edgeStyle":"solid"},"id":"reactflow__edge-45ihdIfRW-jI38h-s4Vdcy2-cszjT3YK8oyhGpqLTQzwXz1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"0Q3AkE8leWAyYsww3-BHX","sourceHandle":"y2","target":"CxiHaw63xmItCGdhpcsiz","targetHandle":"z1","data":{"edgeStyle":"dashed"},"id":"reactflow__edge-cszjT3YK8oyhGpqLTQzwXy2-CxiHaw63xmItCGdhpcsizz1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"0Q3AkE8leWAyYsww3-BHX","sourceHandle":"x2","target":"cszjT3YK8oyhGpqLTQzwX","targetHandle":"w1","data":{"edgeStyle":"solid"},"id":"reactflow__edge-0Q3AkE8leWAyYsww3-BHXx2-cszjT3YK8oyhGpqLTQzwXw1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"ifAV_64bREZrJkxFnf7Cy","sourceHandle":"z2","target":"cszjT3YK8oyhGpqLTQzwX","targetHandle":"y1","data":{"edgeStyle":"dashed"},"id":"reactflow__edge-ifAV_64bREZrJkxFnf7Cyz2-cszjT3YK8oyhGpqLTQzwXy1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"cszjT3YK8oyhGpqLTQzwX","sourceHandle":"x2","target":"zXs_9n2yEb_eVi0WuOQKH","targetHandle":"y1","data":{"edgeStyle":"solid"},"id":"reactflow__edge-cszjT3YK8oyhGpqLTQzwXx2-zXs_9n2yEb_eVi0WuOQKHy1","selected":true,"type":"step","selectable":true,"focusable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"zXs_9n2yEb_eVi0WuOQKH","sourceHandle":"w2","target":"S16vO5EHvxaylsnFzs4Kx","targetHandle":"x1","data":{"edgeStyle":"dashed"},"id":"reactflow__edge-zXs_9n2yEb_eVi0WuOQKHw2-S16vO5EHvxaylsnFzs4Kxx1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"zXs_9n2yEb_eVi0WuOQKH","sourceHandle":"z2","target":"_NiUdVQ85qnvryI38k_vQ","targetHandle":"y1","data":{"edgeStyle":"solid"},"id":"reactflow__edge-zXs_9n2yEb_eVi0WuOQKHz2-9W_jaK1DSEZHRKdPcUM7hy1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"_NiUdVQ85qnvryI38k_vQ","sourceHandle":"w2","target":"4fIp9_ii_gYgEMFFk__BG","targetHandle":"x1","data":{"edgeStyle":"dashed"},"id":"reactflow__edge-9W_jaK1DSEZHRKdPcUM7hw2-4fIp9_ii_gYgEMFFk__BGx1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"_NiUdVQ85qnvryI38k_vQ","sourceHandle":"x2","target":"9W_jaK1DSEZHRKdPcUM7h","targetHandle":"w2","data":{"edgeStyle":"solid"},"id":"reactflow__edge-_NiUdVQ85qnvryI38k_vQx2-9W_jaK1DSEZHRKdPcUM7hw2","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"9W_jaK1DSEZHRKdPcUM7h","sourceHandle":"x2","target":"VJosvi5KwlePkGxBzmxSH","targetHandle":"w1","data":{"edgeStyle":"dashed"},"id":"reactflow__edge-9W_jaK1DSEZHRKdPcUM7hx2-VJosvi5KwlePkGxBzmxSHw1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"9W_jaK1DSEZHRKdPcUM7h","sourceHandle":"y2","target":"YHbWlKrQqptUDbaQVy0_A","targetHandle":"z1","data":{"edgeStyle":"solid"},"id":"reactflow__edge-9W_jaK1DSEZHRKdPcUM7hy2-YHbWlKrQqptUDbaQVy0_Az1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"YHbWlKrQqptUDbaQVy0_A","sourceHandle":"x2","target":"Mpt_WSLngBqt131nAm3Ns","targetHandle":"w1","data":{"edgeStyle":"dashed"},"id":"reactflow__edge-YHbWlKrQqptUDbaQVy0_Ax2-Mpt_WSLngBqt131nAm3Nsw1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"YHbWlKrQqptUDbaQVy0_A","sourceHandle":"y2","target":"Veb30QrPYNjUn13dtGbUr","targetHandle":"z2","data":{"edgeStyle":"solid"},"id":"reactflow__edge-YHbWlKrQqptUDbaQVy0_Ay2-Veb30QrPYNjUn13dtGbUrz2","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"Veb30QrPYNjUn13dtGbUr","sourceHandle":"x2","target":"PXWvq1ezVBU5UJVN887Es","targetHandle":"w2","data":{"edgeStyle":"dashed"},"id":"reactflow__edge-Veb30QrPYNjUn13dtGbUrx2-PXWvq1ezVBU5UJVN887Esw2","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"Veb30QrPYNjUn13dtGbUr","sourceHandle":"y2","target":"bQaek7f3dAaZfSUhwovm1","targetHandle":"w1","data":{"edgeStyle":"solid"},"id":"reactflow__edge-Veb30QrPYNjUn13dtGbUry2-bQaek7f3dAaZfSUhwovm1w1","selected":true,"type":"smoothstep","selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"bQaek7f3dAaZfSUhwovm1","sourceHandle":"z2","target":"uvwbpHaA6rH6YrHuEdBxh","targetHandle":"w1","data":{"edgeStyle":"solid"},"selected":true,"type":"smoothstep","selectable":true,"focusable":true,"id":"reactflow__edge-bQaek7f3dAaZfSUhwovm1z2-uvwbpHaA6rH6YrHuEdBxhw1"},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"uvwbpHaA6rH6YrHuEdBxh","sourceHandle":"x2","target":"rSD8nJ-uNpHJVe5Hn66h7","targetHandle":"w1","data":{"edgeStyle":"solid"},"id":"reactflow__edge-uvwbpHaA6rH6YrHuEdBxhx2-rSD8nJ-uNpHJVe5Hn66h7w1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"AQiCcHS6dBAAAPloxiXub","sourceHandle":"z2","target":"zmVjMf9wNHARBS_mBY4lY","targetHandle":"y1","data":{"edgeStyle":"solid"},"id":"reactflow__edge-AQiCcHS6dBAAAPloxiXubz2-zmVjMf9wNHARBS_mBY4lYy1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"zmVjMf9wNHARBS_mBY4lY","sourceHandle":"w2","target":"gdiWwTQg6A-BFHdQBmgmH","targetHandle":"x1","data":{"edgeStyle":"solid"},"id":"reactflow__edge-zmVjMf9wNHARBS_mBY4lYw2-gdiWwTQg6A-BFHdQBmgmHx1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"Qy42paiTUsO8HIwbWTMui","sourceHandle":"z2","target":"k9HeweEN4enuboEppbJiP","targetHandle":"w1","data":{"edgeStyle":"solid"},"selected":true,"id":"reactflow__edge-Qy42paiTUsO8HIwbWTMuiz2-k9HeweEN4enuboEppbJiPw1","type":"smoothstep","selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"k9HeweEN4enuboEppbJiP","sourceHandle":"x2","target":"7ETrwXaK2xR1AoS7tTyzW","targetHandle":"w2","data":{"edgeStyle":"solid"},"id":"reactflow__edge-k9HeweEN4enuboEppbJiPx2-7ETrwXaK2xR1AoS7tTyzWw2","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"hLIT00Iz7rV56ZBIUhWYn","sourceHandle":"w2","target":"jicsfYw56VrbRUt7M8c85","targetHandle":"x2","data":{"edgeStyle":"dashed"},"id":"reactflow__edge-hLIT00Iz7rV56ZBIUhWYnw2-jicsfYw56VrbRUt7M8c85x2","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"hLIT00Iz7rV56ZBIUhWYn","sourceHandle":"x2","target":"vWOOOTjEx8Ycz1NA0xZad","targetHandle":"w1","data":{"edgeStyle":"solid"},"id":"reactflow__edge-hLIT00Iz7rV56ZBIUhWYnx2-vWOOOTjEx8Ycz1NA0xZadw1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"vWOOOTjEx8Ycz1NA0xZad","sourceHandle":"z2","target":"giyKPtQ-pziA064P8OQD-","targetHandle":"y1","data":{"edgeStyle":"solid"},"id":"reactflow__edge-vWOOOTjEx8Ycz1NA0xZadz2-giyKPtQ-pziA064P8OQD-y1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"GPsf1hc9hXNKgutGCribk","sourceHandle":"x2","target":"wXRDsNGFckXV_CSiit5sN","targetHandle":"w2","data":{"edgeStyle":"solid"},"id":"reactflow__edge--gCy7Uj64KQJ39IYb_Vphx2-8lyXDuZJ-KHl4v2_8Ew1hw2","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"wXRDsNGFckXV_CSiit5sN","sourceHandle":"y2","target":"Cb-KazR4PuR86VX5oT0zi","targetHandle":"z1","data":{"edgeStyle":"solid"},"id":"reactflow__edge-wXRDsNGFckXV_CSiit5sNy2-8lyXDuZJ-KHl4v2_8Ew1hz1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"Cb-KazR4PuR86VX5oT0zi","sourceHandle":"y2","target":"nUIfTkgm3PlSiqgun1BS7","targetHandle":"z2","data":{"edgeStyle":"solid"},"id":"reactflow__edge-Cb-KazR4PuR86VX5oT0ziy2-nUIfTkgm3PlSiqgun1BS7z2","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"nUIfTkgm3PlSiqgun1BS7","sourceHandle":"x2","target":"8lyXDuZJ-KHl4v2_8Ew1h","targetHandle":"w2","data":{"edgeStyle":"solid"},"id":"reactflow__edge-nUIfTkgm3PlSiqgun1BS7x2-8lyXDuZJ-KHl4v2_8Ew1hw2","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"KMA7NkxFbPoUDtFnGBFnj","sourceHandle":"x2","target":"0vLaVNJaJSHZ_bHli6Qzs","targetHandle":"w1","data":{"edgeStyle":"solid"},"id":"reactflow__edge-KMA7NkxFbPoUDtFnGBFnjx2-0vLaVNJaJSHZ_bHli6Qzsw1","selected":true,"type":"simplebezier","focusable":true,"selectable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"8lyXDuZJ-KHl4v2_8Ew1h","sourceHandle":"x2","target":"H3njQtlasgGo0-IFiFZqL","targetHandle":"w1","data":{"edgeStyle":"dashed"},"id":"reactflow__edge-8lyXDuZJ-KHl4v2_8Ew1hx2-H3njQtlasgGo0-IFiFZqLw1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"8lyXDuZJ-KHl4v2_8Ew1h","sourceHandle":"z2","target":"0vLaVNJaJSHZ_bHli6Qzs","targetHandle":"w1","data":{"edgeStyle":"solid"},"selected":true,"selectable":true,"focusable":true,"id":"reactflow__edge-8lyXDuZJ-KHl4v2_8Ew1hz2-0vLaVNJaJSHZ_bHli6Qzsw1","type":"smoothstep"}]} \ No newline at end of file +{"nodes":[{"id":"H3njQtlasgGo0-IFiFZqL","type":"section","position":{"x":-773.4644850173872,"y":3639.6036656653055},"width":285,"height":217,"style":{"width":285,"height":217},"selected":true,"data":{"style":{"backgroundColor":"#ffffff","borderColor":"#000000"}},"dragging":false,"positionAbsolute":{"x":-773.4644850173872,"y":3639.6036656653055},"selectable":true,"focusable":true},{"id":"jdF_BPDRWuFJpgXw7Rds0","type":"section","position":{"x":-217.03386624713073,"y":2890.0682184225393},"width":231,"height":323,"style":{"width":231,"height":323},"selected":true,"data":{"style":{"backgroundColor":"#ffffff","borderColor":"#000000"}},"positionAbsolute":{"x":-217.03386624713073,"y":2890.0682184225393},"dragging":false,"selectable":true,"focusable":true},{"id":"7ETrwXaK2xR1AoS7tTyzW","type":"section","position":{"x":66.37632224296237,"y":2962.163811355771},"selected":true,"data":{"label":"","style":{"width":150,"height":100,"fontSize":17,"backgroundColor":"#ffffff","borderColor":"#000000"}},"zIndex":-999,"width":193,"height":253,"style":{"width":193,"height":253},"resizing":false,"positionAbsolute":{"x":66.37632224296237,"y":2962.163811355771},"dragging":false,"selectable":true,"focusable":true},{"id":"NLTXQpEiKE6rNo3tmN-EU","type":"section","position":{"x":-796.6812271795868,"y":3056.3469766128146},"selected":true,"data":{"label":"","style":{"width":150,"height":100,"fontSize":17,"backgroundColor":"#ffffff","borderColor":"#000000"}},"zIndex":-999,"width":270,"height":173,"style":{"width":270,"height":173},"positionAbsolute":{"x":-796.6812271795868,"y":3056.3469766128146},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"7b0qKpLRQkkSzCA_x3bsP","type":"section","position":{"x":-796.5040036977603,"y":2570.722300491497},"width":270,"height":221,"style":{"width":270,"height":221},"selected":true,"data":{"style":{"backgroundColor":"#ffffff","borderColor":"#000000"}},"positionAbsolute":{"x":-796.5040036977603,"y":2570.722300491497},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"dRhBLcgWnvsKEUIEeckVM","type":"section","position":{"x":-796.5040036977603,"y":2784.821469532407},"width":270,"height":274,"style":{"width":270,"height":274},"selected":true,"data":{"style":{"backgroundColor":"#ffffff","borderColor":"#000000"}},"positionAbsolute":{"x":-796.5040036977603,"y":2784.821469532407},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"PXWvq1ezVBU5UJVN887Es","type":"section","position":{"x":-540.6396884459828,"y":2185.0122972625486},"selected":true,"data":{"label":"","style":{"width":150,"height":100,"fontSize":17,"backgroundColor":"#ffffff","borderColor":"#000000"}},"zIndex":-999,"width":203,"height":217,"style":{"width":203,"height":217},"resizing":false,"positionAbsolute":{"x":-540.6396884459828,"y":2185.0122972625486},"dragging":false,"selectable":true,"focusable":true},{"id":"Mpt_WSLngBqt131nAm3Ns","type":"section","position":{"x":-270.6768116800821,"y":2181.7847957820186},"width":210,"height":275,"style":{"width":210,"height":275},"selected":true,"data":{"style":{"backgroundColor":"#ffffff","borderColor":"#000000"}},"positionAbsolute":{"x":-270.6768116800821,"y":2181.7847957820186},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"VJosvi5KwlePkGxBzmxSH","type":"section","position":{"x":33.284146851171954,"y":2182.83501494524},"selected":true,"data":{"label":"","style":{"width":150,"height":100,"fontSize":17,"backgroundColor":"#ffffff","borderColor":"#000000"}},"zIndex":-999,"width":208,"height":326,"style":{"width":208,"height":326},"resizing":false,"dragging":false,"positionAbsolute":{"x":33.284146851171954,"y":2182.83501494524},"selectable":true,"focusable":true},{"id":"4fIp9_ii_gYgEMFFk__BG","type":"section","position":{"x":34.61791119802774,"y":1685.4421321950363},"selected":true,"data":{"label":"","style":{"width":150,"height":100,"fontSize":17,"backgroundColor":"#ffffff"}},"zIndex":-999,"width":205,"height":274,"style":{"width":205,"height":274},"resizing":false,"positionAbsolute":{"x":34.61791119802774,"y":1685.4421321950363},"dragging":false,"selectable":true,"focusable":true},{"id":"S16vO5EHvxaylsnFzs4Kx","type":"section","position":{"x":-275.3075331630803,"y":1685.567787907652},"selected":true,"data":{"label":"","style":{"width":150,"height":100,"fontSize":17,"backgroundColor":"#ffffff","borderColor":"#000000"}},"zIndex":-999,"width":207,"height":268,"style":{"width":207,"height":268},"resizing":false,"positionAbsolute":{"x":-275.3075331630803,"y":1685.567787907652},"dragging":false,"selectable":true,"focusable":true},{"id":"ifAV_64bREZrJkxFnf7Cy","type":"section","position":{"x":-797.1336432750411,"y":1759.6382433656738},"selected":true,"data":{"label":"","style":{"width":150,"height":100,"fontSize":17,"backgroundColor":"#ffffff","borderColor":"#000000"}},"zIndex":-999,"width":213,"height":265,"style":{"width":213,"height":265},"positionAbsolute":{"x":-797.1336432750411,"y":1759.6382433656738},"selectable":true,"focusable":true,"resizing":true,"dragging":false},{"id":"CxiHaw63xmItCGdhpcsiz","type":"section","position":{"x":-797.050798511892,"y":1463.6928264789822},"selected":true,"data":{"label":"","style":{"width":150,"height":100,"fontSize":17,"backgroundColor":"#ffffff","borderColor":"#000000"}},"zIndex":-999,"width":213,"height":266,"style":{"width":213,"height":266},"resizing":false,"dragging":false,"positionAbsolute":{"x":-797.050798511892,"y":1463.6928264789822},"selectable":true,"focusable":true},{"id":"Kjkc8rNezN_LBD5WMrBbE","type":"section","position":{"x":-244.32217668933376,"y":1319.6577176448873},"width":223,"height":217,"style":{"width":223,"height":217},"selected":true,"data":{"style":{"backgroundColor":"#ffffff","borderColor":"#000000"}},"positionAbsolute":{"x":-244.32217668933376,"y":1319.6577176448873},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"Czv2TV_JqOuK7vumqw66I","type":"horizontal","position":{"x":-86.76785466292469,"y":985.5460686385047},"selected":true,"data":{"label":"horizontal node","style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2B78E4"}},"zIndex":999,"width":127,"height":20,"style":{"width":127,"height":20},"resizing":true,"positionAbsolute":{"x":-86.76785466292469,"y":985.5460686385047},"dragging":false,"selectable":true,"focusable":true},{"id":"JBXkEOLntmMR49axOFbA0","type":"section","position":{"x":36.126062755501266,"y":971.0460686385047},"selected":true,"data":{"label":"","style":{"width":150,"height":100,"fontSize":17,"backgroundColor":"#ffffff","borderColor":"#000000"}},"zIndex":-999,"width":222,"height":375,"style":{"width":222,"height":375},"resizing":false,"dragging":false,"positionAbsolute":{"x":36.126062755501266,"y":971.0460686385047},"selectable":true,"focusable":true},{"id":"gY6DBpC01GyAr-e_7FBGK","type":"horizontal","position":{"x":-106.87393724449873,"y":845.348933004529},"selected":true,"data":{"label":"horizontal node","style":{"stroke":"#2B78E4","strokeWidth":3.5,"strokeDasharray":"0.8 8","strokeLinecap":"round"}},"zIndex":999,"width":143,"height":20,"style":{"width":143,"height":20},"positionAbsolute":{"x":-106.87393724449873,"y":845.348933004529},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"xUioudlYG1bD0_eR0fNE3","type":"section","position":{"x":36.126062755501266,"y":612.577518106665},"selected":true,"data":{"label":"","style":{"width":150,"height":100,"fontSize":17,"backgroundColor":"#ffffff","borderColor":"#000000"}},"zIndex":-999,"width":222,"height":325,"style":{"width":222,"height":325},"resizing":false,"positionAbsolute":{"x":36.126062755501266,"y":612.577518106665},"dragging":false,"selectable":true,"focusable":true},{"id":"u2TdoI7ILaxYgUUni9W_w","type":"section","position":{"x":-489.964883323405,"y":1062.001634732462},"selected":true,"data":{"label":"","style":{"width":150,"height":100,"fontSize":17}},"zIndex":-999,"width":201,"height":426,"style":{"width":201,"height":426},"resizing":false,"positionAbsolute":{"x":-489.964883323405,"y":1062.001634732462},"selectable":true,"focusable":true,"dragging":false},{"id":"-NHxqJMM7SscP9pJ3bgD8","type":"section","position":{"x":-799.0705012400213,"y":1065.348933004529},"selected":true,"data":{"label":"","style":{"width":150,"height":100,"fontSize":17,"backgroundColor":"#ffffff","borderColor":"#000000"}},"zIndex":-999,"width":216,"height":368,"style":{"width":216,"height":368},"resizing":false,"positionAbsolute":{"x":-799.0705012400213,"y":1065.348933004529},"selectable":true,"focusable":true,"dragging":false},{"id":"Ljjl_kSEevtaBALxRh2By","type":"section","position":{"x":-633.6381872719934,"y":620.348933004529},"selected":true,"data":{"label":"","style":{"width":150,"height":100,"fontSize":17,"backgroundColor":"#ffffff"}},"zIndex":-999,"width":202,"height":317,"style":{"width":202,"height":317},"resizing":false,"positionAbsolute":{"x":-633.6381872719934,"y":620.348933004529},"dragging":false,"selectable":true,"focusable":true},{"id":"37hyOMnKf4H2qg27SK2rZ","type":"section","position":{"x":-359.00281520804924,"y":541.6034591804714},"selected":true,"data":{"label":"","style":{"width":150,"height":100,"fontSize":17,"backgroundColor":"#ffffff","borderColor":"#000000"}},"zIndex":-999,"width":304,"height":165,"style":{"width":304,"height":165},"dragging":false,"resizing":false,"positionAbsolute":{"x":-359.00281520804924,"y":541.6034591804714},"selectable":true,"focusable":true},{"id":"vfdrcpstewZ-lBAgCYhvs","type":"horizontal","position":{"x":-100.50281520804924,"y":286.4007482223489},"selected":true,"data":{"label":"horizontal node","style":{"stroke":"#2B78E4","strokeWidth":3.5}},"zIndex":999,"width":85,"height":20,"style":{"width":85,"height":20},"positionAbsolute":{"x":-100.50281520804924,"y":286.4007482223489},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"80UujPXPhvKIJMSM67pwl","type":"section","position":{"x":-16.012444385717174,"y":266.57327763985427},"selected":true,"data":{"label":"","style":{"width":150,"height":100,"fontSize":17,"backgroundColor":"#ffffff","borderColor":"#000000"}},"zIndex":-999,"width":287,"height":213,"style":{"width":287,"height":213},"resizing":false,"dragging":false,"positionAbsolute":{"x":-16.012444385717174,"y":266.57327763985427},"selectable":true,"focusable":true},{"id":"zxoi09oW1HbXNwvc14w9U","type":"section","position":{"x":-359.50281520804924,"y":264},"width":259,"height":217,"style":{"width":259,"height":217},"selected":true,"data":{"style":{"backgroundColor":"#ffffff","borderColor":"#000000"}},"positionAbsolute":{"x":-359.50281520804924,"y":264},"dragging":false,"selectable":true,"focusable":true},{"id":"Qy4AHQE22xHEsBddovVt4","type":"horizontal","position":{"x":-451.1381872719935,"y":31},"selected":true,"data":{"label":"horizontal node","style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2B78E4"}},"zIndex":999,"width":178,"height":20,"style":{"width":178,"height":20},"positionAbsolute":{"x":-451.1381872719935,"y":31},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"L191VgfCbX3ibSIKySpsN","type":"title","position":{"x":-309.00281520804924,"y":-112.59925177765109},"selected":true,"data":{"label":"Redis","style":{"fontSize":28,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":158,"height":68,"style":{"width":158.3046875,"height":68.00001525878906},"dragging":false,"positionAbsolute":{"x":-309.00281520804924,"y":-112.59925177765109},"selectable":true,"focusable":true},{"id":"EskmevvtPn-NlUQf39-6X","type":"vertical","position":{"x":-240.1381872719934,"y":-182.5992517776511},"selected":true,"data":{"label":"vertical node","style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2B78E4"}},"zIndex":999,"width":20,"height":70,"style":{"width":20,"height":70},"positionAbsolute":{"x":-240.1381872719934,"y":-182.5992517776511},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"-3pADOHMDQ0H6ZKNjURyn","type":"topic","position":{"x":-330.50281520804924,"y":16.5},"selected":true,"data":{"label":"What is Redis?","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"OKW1e0f3kQ_wCb97ztjIN"},"zIndex":999,"width":201,"height":49,"style":{"width":201,"height":49},"positionAbsolute":{"x":-330.50281520804924,"y":16.5},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"M-EXrTDeAEMz_IkEi-ab4","type":"subtopic","position":{"x":-781.1381872719934,"y":-149.5992517776511},"selected":true,"data":{"label":"In-memory Data Structure Store","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"eHuBz_zSZK3rubn7nkd7g"},"zIndex":999,"width":307,"height":49,"style":{"width":307,"height":49},"dragging":false,"positionAbsolute":{"x":-781.1381872719934,"y":-149.5992517776511},"resizing":false,"selectable":true,"focusable":true},{"id":"l2aXyO3STnhbFjvUXPpm2","type":"subtopic","position":{"x":-781.1381872719934,"y":-96.59925177765109},"selected":true,"data":{"label":"Key-value Database","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"eHuBz_zSZK3rubn7nkd7g"},"zIndex":999,"width":201,"height":49,"style":{"width":201,"height":49},"dragging":false,"positionAbsolute":{"x":-781.1381872719934,"y":-96.59925177765109},"resizing":false,"selectable":true,"focusable":true},{"id":"eHuBz_zSZK3rubn7nkd7g","type":"subtopic","position":{"x":-575.1381872719934,"y":-96.59925177765109},"selected":true,"data":{"label":"Cache","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":100,"height":49,"style":{"width":100,"height":49},"dragging":false,"positionAbsolute":{"x":-575.1381872719934,"y":-96.59925177765109},"resizing":false,"selectable":true,"focusable":true},{"id":"mgGJTBU8ofvOzl9gYWhnG","type":"subtopic","position":{"x":-781.1381872719934,"y":-42.59925177765109},"selected":true,"data":{"label":"Message Broker","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"M-EXrTDeAEMz_IkEi-ab4"},"zIndex":999,"width":307,"height":49,"style":{"width":307,"height":49},"dragging":false,"positionAbsolute":{"x":-781.1381872719934,"y":-42.59925177765109},"resizing":false,"selectable":true,"focusable":true},{"id":"Y1xDM_ZweG4IhlwvNK0bA","type":"label","position":{"x":-757.1381872719934,"y":-190.5992517776511},"selected":true,"data":{"label":"Overview of Redis / What is it?","href":"","color":"#000000","style":{"fontSize":17}},"zIndex":999,"width":250,"height":36,"style":{},"positionAbsolute":{"x":-757.1381872719934,"y":-190.5992517776511},"dragging":false,"selectable":true,"focusable":true},{"id":"pwGAa63okLFOBb1g7-fL5","type":"label","position":{"x":-698.6381872719934,"y":24.40074822234891},"selected":true,"data":{"label":"Core Use Cases","href":"","color":"#000000","style":{"fontSize":17},"oldId":"Y1xDM_ZweG4IhlwvNK0bA"},"zIndex":999,"width":142,"height":36,"style":{},"positionAbsolute":{"x":-698.6381872719934,"y":24.40074822234891},"dragging":false,"selectable":true,"focusable":true},{"id":"-TjnSOY8txYrhhxRV1OIl","type":"subtopic","position":{"x":-781.1381872719934,"y":63.40074822234891},"selected":true,"data":{"label":"Caching","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":100,"height":49,"style":{"width":100,"height":49},"resizing":false,"positionAbsolute":{"x":-781.1381872719934,"y":63.40074822234891},"dragging":false,"selectable":true,"focusable":true},{"id":"bVJASI7bfSYqYnNhX83ng","type":"subtopic","position":{"x":-675.1381872719934,"y":63.40074822234891},"selected":true,"data":{"label":"Real-time Analytics","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"-TjnSOY8txYrhhxRV1OIl"},"zIndex":999,"width":192,"height":49,"style":{},"resizing":false,"positionAbsolute":{"x":-675.1381872719934,"y":63.40074822234891},"dragging":false,"selectable":true,"focusable":true},{"id":"URxGmhZHr0Y8nyrYj0gJl","type":"subtopic","position":{"x":-781.6381872719934,"y":116.40074822234891},"selected":true,"data":{"label":"Session Management","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"bVJASI7bfSYqYnNhX83ng"},"zIndex":999,"width":299,"height":49,"style":{"width":299,"height":49},"resizing":false,"positionAbsolute":{"x":-781.6381872719934,"y":116.40074822234891},"dragging":false,"selectable":true,"focusable":true},{"id":"ZCyId3aIoLv3duxoJdk2P","type":"subtopic","position":{"x":-781.6381872719934,"y":169.4007482223489},"selected":true,"data":{"label":"Pub/Sub Messaging","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"URxGmhZHr0Y8nyrYj0gJl"},"zIndex":999,"width":299,"height":49,"style":{"width":299,"height":49},"resizing":false,"positionAbsolute":{"x":-781.6381872719934,"y":169.4007482223489},"dragging":false,"selectable":true,"focusable":true},{"id":"Fv1iGX22sApIEifM2IpJz","type":"subtopic","position":{"x":-781.6381872719934,"y":222.4007482223489},"selected":true,"data":{"label":"Leaderboards and Counters","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"ZCyId3aIoLv3duxoJdk2P"},"zIndex":999,"width":299,"height":49,"style":{"width":299,"height":49},"resizing":false,"positionAbsolute":{"x":-781.6381872719934,"y":222.4007482223489},"dragging":false,"selectable":true,"focusable":true},{"id":"SQ0078nMNlCtgNgHIJsU1","type":"label","position":{"x":-687.1381872719935,"y":294.4007482223489},"selected":true,"data":{"label":"Key Features","href":"","color":"#000000","style":{"fontSize":17}},"zIndex":999,"width":116,"height":36,"style":{},"positionAbsolute":{"x":-687.1381872719935,"y":294.4007482223489},"dragging":false,"selectable":true,"focusable":true},{"id":"8uRpPJ0iD4XnQPKruQc8P","type":"subtopic","position":{"x":-778.6381872719935,"y":334.4007482223489},"selected":true,"data":{"label":"Data Persistence Options","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":299,"height":49,"style":{"width":299},"positionAbsolute":{"x":-778.6381872719935,"y":334.4007482223489},"dragging":false,"selectable":true,"focusable":true},{"id":"uVewcyaFi1Pt2Gs0KrkfA","type":"subtopic","position":{"x":-778.6381872719935,"y":387.40074822234897},"selected":true,"data":{"label":"Rich Data Structures","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":299,"height":49,"style":{"width":299},"positionAbsolute":{"x":-778.6381872719935,"y":387.40074822234897},"dragging":false,"selectable":true,"focusable":true},{"id":"5-3pd4rLDqRzMzSRVLdXh","type":"subtopic","position":{"x":-778.6381872719935,"y":440.40074822234897},"selected":true,"data":{"label":"High Performance and Scalability","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":299,"height":49,"style":{"width":299,"height":49},"dragging":false,"resizing":false,"positionAbsolute":{"x":-778.6381872719935,"y":440.40074822234897},"selectable":true,"focusable":true},{"id":"leY33Yw_exuUP5_UX9gcP","type":"vertical","position":{"x":-465.1381872719935,"y":-178.5992517776511},"selected":true,"data":{"label":"vertical node","style":{"stroke":"#2B78E4"}},"zIndex":999,"width":20,"height":666,"style":{"width":20,"height":666},"positionAbsolute":{"x":-465.1381872719935,"y":-178.5992517776511},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"EvWiEx_AoxAht6sKxzW2l","type":"subtopic","position":{"x":0.3618127280066119,"y":67.40074822234891},"selected":true,"data":{"label":"Redis vs SQL/NoSQL DBs","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":249,"height":49,"style":{"width":249,"height":49},"positionAbsolute":{"x":0.3618127280066119,"y":67.40074822234891},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"1Af5H0BgdAsRdBCNdHz5v","type":"subtopic","position":{"x":0.3618127280066119,"y":120.40074822234891},"selected":true,"data":{"label":"When to choose Redis?","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"EvWiEx_AoxAht6sKxzW2l"},"zIndex":999,"width":249,"height":49,"style":{"width":249,"height":49},"positionAbsolute":{"x":0.3618127280066119,"y":120.40074822234891},"dragging":false,"selectable":true,"focusable":true},{"id":"yHmHXymPNWwu8p1vvqD3o","type":"paragraph","position":{"x":-41.50281520804924,"y":-193.15106699547107},"selected":true,"data":{"label":"Find the detailed version of this roadmap and other similar roadmaps","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center","borderColor":"#000000","backgroundColor":"#FFFFFf"}},"zIndex":999,"width":321,"height":142,"positionAbsolute":{"x":-41.50281520804924,"y":-193.15106699547107},"dragging":false,"selectable":true,"focusable":true,"style":{"width":321,"height":142},"resizing":false},{"id":"2zqZkyVgigifcRS1H7F_b","type":"button","position":{"x":-31.502815208049242,"y":-114.59925177765109},"selected":true,"data":{"label":"roadmap.sh","href":"https://roadmap.sh","color":"#ffffff","backgroundColor":"#4136D6","style":{"fontSize":17}},"zIndex":999,"width":301,"height":49,"dragging":false,"style":{"width":301,"height":49},"resizing":false,"positionAbsolute":{"x":-31.502815208049242,"y":-114.59925177765109},"selectable":true,"focusable":true},{"id":"SGtXqkHKfGO0nQdrVzjdg","type":"label","position":{"x":-325.50281520804924,"y":276.99999999999994},"selected":true,"data":{"label":"Installing Redis Locally","href":"","color":"#000000","style":{"fontSize":17},"oldId":"pa2QJLhAv3SPRK_2XcMZx"},"zIndex":999,"width":191,"height":36,"style":{},"positionAbsolute":{"x":-325.50281520804924,"y":276.99999999999994},"dragging":false,"selectable":true,"focusable":true},{"id":"Bf_kLfmy7_uflqC9N0-jt","type":"subtopic","position":{"x":-351.50281520804924,"y":316},"selected":true,"data":{"label":"Using Package Managers","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":243,"height":49,"style":{"width":243,"height":49},"positionAbsolute":{"x":-351.50281520804924,"y":316},"dragging":false,"selectable":true,"focusable":true},{"id":"yBZ79s6mzGdj5AnX2H_Hy","type":"subtopic","position":{"x":-351.50281520804924,"y":368.99999999999994},"selected":true,"data":{"label":"Pre-compiled Binaries","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":243,"height":49,"style":{"width":243,"height":49},"positionAbsolute":{"x":-351.50281520804924,"y":368.99999999999994},"dragging":false,"selectable":true,"focusable":true},{"id":"TDxv0q7jlZ26uZYYlneem","type":"subtopic","position":{"x":-351.50281520804924,"y":421.99999999999994},"selected":true,"data":{"label":"Using Docker","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":243,"height":49,"style":{"width":243,"height":49},"positionAbsolute":{"x":-351.50281520804924,"y":421.99999999999994},"dragging":false,"selectable":true,"focusable":true},{"id":"gw04IG5uImCHxcFnOAAwy","type":"paragraph","position":{"x":-374.1381872719934,"y":136.5066900921993},"selected":true,"data":{"label":"Getting Started with Redis","style":{"fontSize":20,"borderColor":"transparent","backgroundColor":"transparent","color":"#000000","textAlign":"center","justifyContent":"flex-start","padding":16}},"zIndex":999,"width":288,"height":60,"style":{"width":288,"height":60},"dragging":false,"resizing":false,"positionAbsolute":{"x":-374.1381872719934,"y":136.5066900921993},"selectable":true,"focusable":true},{"id":"QXwoHEeisL4d6dpJOwYkU","type":"paragraph","position":{"x":-1.0028152080492418,"y":11},"selected":true,"data":{"label":"Redis vs Other Databases","style":{"fontSize":17,"borderColor":"transparent","backgroundColor":"transparent","color":"#000000","textAlign":"center","justifyContent":"flex-start","padding":16},"oldId":"gw04IG5uImCHxcFnOAAwy"},"zIndex":999,"width":240,"height":60,"style":{"width":240,"height":60},"dragging":false,"resizing":false,"positionAbsolute":{"x":-1.0028152080492418,"y":11},"selectable":true,"focusable":true},{"id":"nyVArH57QoeDASnYvEk3L","type":"label","position":{"x":63.44997804720737,"y":274.8898756040034},"selected":true,"data":{"label":"Running Redis","href":"","color":"#000000","style":{"fontSize":17}},"zIndex":999,"width":129,"height":36,"style":{},"positionAbsolute":{"x":63.44997804720737,"y":274.8898756040034},"dragging":false,"selectable":true,"focusable":true},{"id":"43LvShQhmoWQ8Nye7fLkz","type":"subtopic","position":{"x":-6.550021952792633,"y":313.46761791240385},"selected":true,"data":{"label":"Starting the Server","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":269,"height":49,"style":{"width":269,"height":49},"positionAbsolute":{"x":-6.550021952792633,"y":313.46761791240385},"dragging":false,"selectable":true,"focusable":true},{"id":"BOGXTjmCLo6WI6mYDsqRu","type":"subtopic","position":{"x":-6.550021952792633,"y":366.46761791240385},"selected":true,"data":{"label":"Connecting using Redis CLI","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":269,"height":49,"style":{"width":269,"height":49},"positionAbsolute":{"x":-6.550021952792633,"y":366.46761791240385},"dragging":false,"resizing":true,"selectable":true,"focusable":true},{"id":"NhcZM4nUQoSBBf_1qXi6l","type":"subtopic","position":{"x":-6.550021952792633,"y":419.46761791240385},"selected":true,"data":{"label":"Basic Commands / SET, GET","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":269,"height":49,"style":{"width":269,"height":49},"positionAbsolute":{"x":-6.550021952792633,"y":419.46761791240385},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"GjKw6hbNV57I2sxuLfkQw","type":"paragraph","position":{"x":50.987555614282826,"y":536.2610824325313},"selected":true,"data":{"label":"First Steps","style":{"fontSize":20,"borderColor":"transparent","backgroundColor":"transparent","color":"#000000","textAlign":"center","justifyContent":"center","padding":16},"oldId":"gw04IG5uImCHxcFnOAAwy"},"zIndex":999,"width":153,"height":65,"style":{"width":153,"height":65},"dragging":false,"resizing":false,"positionAbsolute":{"x":50.987555614282826,"y":536.2610824325313},"selectable":true,"focusable":true},{"id":"WYVzXLmj_TmqnX3ANzKj7","type":"label","position":{"x":-302.00281520804924,"y":550.7610824325313},"selected":true,"data":{"label":"Basic Data Operations","href":"","color":"#000000","style":{"fontSize":17}},"zIndex":999,"width":190,"height":36,"style":{},"positionAbsolute":{"x":-302.00281520804924,"y":550.7610824325313},"dragging":false,"selectable":true,"focusable":true},{"id":"DOdNkTY1yIMipWA2CD9xH","type":"subtopic","position":{"x":-349.00281520804924,"y":591.7610824325313},"selected":true,"data":{"label":" and Getting Keys","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":284,"height":49,"style":{"width":284,"height":49},"positionAbsolute":{"x":-349.00281520804924,"y":591.7610824325313},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"lV_MnUNTB2h925idX0YWk","type":"subtopic","position":{"x":-349.00281520804924,"y":644.7610824325313},"selected":true,"data":{"label":"DEL","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"nS0DHhfy4wxHItgOFhulA"},"zIndex":999,"width":80,"height":49,"style":{"width":80,"height":49},"positionAbsolute":{"x":-349.00281520804924,"y":644.7610824325313},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"U84XgBFPyIbY0W5afH4cx","type":"subtopic","position":{"x":-359.00281520804924,"y":710.6034591804714},"selected":true,"data":{"label":"Overview of Data Types","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":304,"height":49,"style":{"width":304,"height":49},"positionAbsolute":{"x":-359.00281520804924,"y":710.6034591804714},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"TpW3rvaZYV9D2cHycy2my","type":"label","position":{"x":-365.00281520804924,"y":764.6034591804714},"selected":true,"data":{"label":"Strings, Lists, Sets, Hashes, Sorted Sets","href":"","color":"#000000","style":{"fontSize":17}},"zIndex":999,"width":316,"height":36,"style":{},"positionAbsolute":{"x":-365.00281520804924,"y":764.6034591804714},"dragging":false,"selectable":true,"focusable":true},{"id":"geUnNlWeXEBUs1W3fysRO","type":"paragraph","position":{"x":-799.6381872719934,"y":540.2610824325313},"selected":true,"data":{"label":"Core Data Structures","style":{"fontSize":20,"borderColor":"transparent","backgroundColor":"transparent","color":"#000000","textAlign":"center","justifyContent":"center","padding":16},"oldId":"GjKw6hbNV57I2sxuLfkQw"},"zIndex":999,"width":233,"height":57,"style":{"width":233,"height":57},"dragging":false,"resizing":false,"positionAbsolute":{"x":-799.6381872719934,"y":540.2610824325313},"selectable":true,"focusable":true},{"id":"ltF4vCT9ZA2XuUuHnuGnN","type":"subtopic","position":{"x":-624.5705012400213,"y":631.3489330045289},"selected":true,"data":{"label":"SET","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":90,"height":49,"style":{"width":90,"height":49},"resizing":false,"positionAbsolute":{"x":-624.5705012400213,"y":631.3489330045289},"selectable":true,"focusable":true,"dragging":false},{"id":"mQc4H2ZMMSVjh33LJY8mK","type":"subtopic","position":{"x":-530.0705012400213,"y":631.3489330045289},"selected":true,"data":{"label":"GET","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":90,"height":49,"style":{"width":90,"height":49},"resizing":false,"positionAbsolute":{"x":-530.0705012400213,"y":631.3489330045289},"dragging":false,"selectable":true,"focusable":true},{"id":"5K9qyC4mrhXYWOC8WSq8C","type":"subtopic","position":{"x":-624.5705012400213,"y":683.848933004529},"selected":true,"data":{"label":"INCR","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":90,"height":49,"style":{"width":90,"height":49},"resizing":false,"positionAbsolute":{"x":-624.5705012400213,"y":683.848933004529},"dragging":false,"selectable":true,"focusable":true},{"id":"t4BXPofF8OCqH5KHwdYVh","type":"subtopic","position":{"x":-530.0705012400213,"y":683.848933004529},"selected":true,"data":{"label":"DECR","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":90,"height":49,"style":{"width":90,"height":49},"resizing":false,"positionAbsolute":{"x":-530.0705012400213,"y":683.848933004529},"dragging":false,"selectable":true,"focusable":true},{"id":"cPWd53BO6tm-uy4gqLdtZ","type":"subtopic","position":{"x":-624.5705012400213,"y":736.348933004529},"selected":true,"data":{"label":"APPEND","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":90,"height":49,"style":{"width":90,"height":49},"resizing":false,"positionAbsolute":{"x":-624.5705012400213,"y":736.348933004529},"dragging":false,"selectable":true,"focusable":true},{"id":"eJQW986HM4Wf1o1i2FnXs","type":"subtopic","position":{"x":-530.0705012400213,"y":736.348933004529},"selected":true,"data":{"label":"STRLEN","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":90,"height":49,"style":{"width":90,"height":49},"resizing":false,"positionAbsolute":{"x":-530.0705012400213,"y":736.348933004529},"dragging":false,"selectable":true,"focusable":true},{"id":"JpPwzuJ9dK6b4uWH5rWe6","type":"label","position":{"x":-620.0705012400213,"y":840.348933004529},"selected":true,"data":{"label":"Common Commands","href":"","color":"#000000","style":{"fontSize":17}},"zIndex":999,"width":177,"height":36,"style":{},"positionAbsolute":{"x":-620.0705012400213,"y":840.348933004529},"dragging":false,"selectable":true,"focusable":true},{"id":"0v8uLWRCbAqEmKKdYaRQW","type":"subtopic","position":{"x":-624.0705012400213,"y":788.848933004529},"selected":true,"data":{"label":"More Commands","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"cPWd53BO6tm-uy4gqLdtZ"},"zIndex":999,"width":185,"height":49,"style":{"width":185,"height":49},"resizing":false,"positionAbsolute":{"x":-624.0705012400213,"y":788.848933004529},"dragging":false,"selectable":true,"focusable":true},{"id":"2_E2VwbjTgk4xxTFWfHuV","type":"subtopic","position":{"x":-624.0705012400213,"y":876.348933004529},"selected":true,"data":{"label":"Usecases","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":185,"height":49,"style":{"width":185,"height":49},"positionAbsolute":{"x":-624.0705012400213,"y":876.348933004529},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"i3Hnt66WKB47UILFmaOl_","type":"horizontal","position":{"x":-55.00281520804924,"y":558.7610824325313},"selected":true,"data":{"label":"horizontal node","style":{"stroke":"#2B78E4","strokeWidth":3.5}},"zIndex":999,"width":108,"height":20,"style":{"width":108,"height":20},"positionAbsolute":{"x":-55.00281520804924,"y":558.7610824325313},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"JboVpV-Oijm52vBYob9nj","type":"horizontal","position":{"x":-561.1381872719934,"y":558.7610824325313},"selected":true,"data":{"label":"horizontal node","style":{"stroke":"#2B78E4","strokeWidth":3.5},"oldId":"i3Hnt66WKB47UILFmaOl_"},"zIndex":999,"width":203,"height":20,"style":{"width":203,"height":20},"positionAbsolute":{"x":-561.1381872719934,"y":558.7610824325313},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"nS0DHhfy4wxHItgOFhulA","type":"subtopic","position":{"x":-265.25281520804924,"y":644.7610824325313},"selected":true,"data":{"label":"expire","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":105,"height":49,"style":{"width":105,"height":49},"positionAbsolute":{"x":-265.25281520804924,"y":644.7610824325313},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"Vll7VMmGWSI5XGZ9JpHyl","type":"subtopic","position":{"x":-156.50281520804924,"y":644.7610824325313},"selected":true,"data":{"label":"TTL","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"nS0DHhfy4wxHItgOFhulA"},"zIndex":999,"width":90,"height":49,"style":{"width":90,"height":49},"positionAbsolute":{"x":-156.50281520804924,"y":644.7610824325313},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"Kq7G89KaZZMFkrH-9WZoS","type":"subtopic","position":{"x":-788.5705012400213,"y":1074.348933004529},"selected":true,"data":{"label":"LPUSH","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":95,"height":49,"style":{"width":95,"height":49},"positionAbsolute":{"x":-788.5705012400213,"y":1074.348933004529},"dragging":false,"selectable":true,"focusable":true},{"id":"jC8G1o7yFj7D_PGmOIgcD","type":"subtopic","position":{"x":-689.5028152080492,"y":1074.348933004529},"selected":true,"data":{"label":"RPUSH","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":95,"height":49,"style":{"width":95,"height":49},"positionAbsolute":{"x":-689.5028152080492,"y":1074.348933004529},"dragging":false,"selectable":true,"focusable":true},{"id":"voa61RTWMJD3Sk8DNJoVQ","type":"subtopic","position":{"x":-788.5705012400213,"y":1126.848933004529},"selected":true,"data":{"label":"LPOP","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":95,"height":49,"style":{"width":95,"height":49},"positionAbsolute":{"x":-788.5705012400213,"y":1126.848933004529},"dragging":false,"selectable":true,"focusable":true},{"id":"brUGqWZ287EWtvl9uUbNt","type":"subtopic","position":{"x":-689.5028152080492,"y":1126.848933004529},"selected":true,"data":{"label":"RPOP","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":95,"height":49,"style":{"width":95,"height":49},"positionAbsolute":{"x":-689.5028152080492,"y":1126.848933004529},"dragging":false,"selectable":true,"focusable":true},{"id":"8JTtBy6oD2wFYDizVkcVa","type":"subtopic","position":{"x":-788.5705012400213,"y":1179.348933004529},"selected":true,"data":{"label":"LRANGE","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":95,"height":49,"style":{"width":95,"height":49},"positionAbsolute":{"x":-788.5705012400213,"y":1179.348933004529},"dragging":false,"selectable":true,"focusable":true},{"id":"hBFEUXtuzUTzWZKp2qWaZ","type":"subtopic","position":{"x":-689.5028152080492,"y":1179.348933004529},"selected":true,"data":{"label":"LINDEX","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":95,"height":49,"style":{"width":95,"height":49},"positionAbsolute":{"x":-689.5028152080492,"y":1179.348933004529},"dragging":false,"selectable":true,"focusable":true},{"id":"4oCcP9FxDJSDMHCEVBCNa","type":"subtopic","position":{"x":-788.5705012400213,"y":1231.848933004529},"selected":true,"data":{"label":"LLEN","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"8JTtBy6oD2wFYDizVkcVa"},"zIndex":999,"width":95,"height":49,"style":{"width":95,"height":49},"positionAbsolute":{"x":-788.5705012400213,"y":1231.848933004529},"dragging":false,"selectable":true,"focusable":true},{"id":"9KvHcS5F4Jj5ZXgIAdOQY","type":"subtopic","position":{"x":-689.5028152080492,"y":1231.848933004529},"selected":true,"data":{"label":"LMOVE","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"4oCcP9FxDJSDMHCEVBCNa"},"zIndex":999,"width":95,"height":49,"style":{"width":95,"height":49},"positionAbsolute":{"x":-689.5028152080492,"y":1231.848933004529},"dragging":false,"selectable":true,"focusable":true},{"id":"eBeEUYY-IL_CMkcm31lUL","type":"subtopic","position":{"x":-788.5705012400213,"y":1284.348933004529},"selected":true,"data":{"label":"More Commands","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"0v8uLWRCbAqEmKKdYaRQW"},"zIndex":999,"width":195,"height":49,"style":{"width":195,"height":49},"resizing":false,"positionAbsolute":{"x":-788.5705012400213,"y":1284.348933004529},"dragging":false,"selectable":true,"focusable":true},{"id":"Iour_R6xJ5PieRjX9t993","type":"label","position":{"x":-779.5705012400213,"y":1338.348933004529},"selected":true,"data":{"label":"Common Commands","href":"","color":"#000000","style":{"fontSize":17},"oldId":"JpPwzuJ9dK6b4uWH5rWe6"},"zIndex":999,"width":177,"height":36,"style":{},"positionAbsolute":{"x":-779.5705012400213,"y":1338.348933004529},"dragging":false,"selectable":true,"focusable":true},{"id":"XTwNCCtzXvZMdaex4gZEh","type":"subtopic","position":{"x":-790.5028152080492,"y":1374.348933004529},"selected":true,"data":{"label":"Usecases","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"2_E2VwbjTgk4xxTFWfHuV"},"zIndex":999,"width":200,"height":49,"style":{"width":200,"height":49},"positionAbsolute":{"x":-790.5028152080492,"y":1374.348933004529},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"Qgkpr9vf9d6-vUg1o8XFj","type":"topic","position":{"x":-439.5819137259901,"y":982.348933004529},"selected":true,"data":{"label":"Sets","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"wY46Qj5Inw_ClBNI9PB_2"},"zIndex":999,"width":100,"height":49,"style":{"width":100,"height":49},"positionAbsolute":{"x":-439.5819137259901,"y":982.348933004529},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"xUKoQps69FFQrJeuhD1pz","type":"subtopic","position":{"x":-482.464883323405,"y":1070.501634732462},"selected":true,"data":{"label":"SADD","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":90,"height":49,"style":{},"positionAbsolute":{"x":-482.464883323405,"y":1070.501634732462},"dragging":false,"selectable":true,"focusable":true},{"id":"mQ0ILns53n1By0Tq6xSZI","type":"subtopic","position":{"x":-482.464883323405,"y":1123.251634732462},"selected":true,"data":{"label":"SMEMBERS","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":186,"height":49,"style":{"width":186,"height":49},"positionAbsolute":{"x":-482.464883323405,"y":1123.251634732462},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"WQWVL5GT_scHdgfCtI7WT","type":"subtopic","position":{"x":-389.03256935537723,"y":1070.501634732462},"selected":true,"data":{"label":"SREM","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":93,"height":49,"style":{},"positionAbsolute":{"x":-389.03256935537723,"y":1070.501634732462},"dragging":false,"selectable":true,"focusable":true},{"id":"Ji5ghlcGJtlmErHFqVf3d","type":"subtopic","position":{"x":-482.464883323405,"y":1176.001634732462},"selected":true,"data":{"label":"SISMEMBER","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":186,"height":49,"style":{"width":186},"positionAbsolute":{"x":-482.464883323405,"y":1176.001634732462},"dragging":false,"selectable":true,"focusable":true},{"id":"5aLfNBewK4Dx017qVNO3T","type":"subtopic","position":{"x":-483.5325693553771,"y":1228.751634732462},"selected":true,"data":{"label":"SINTER","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"Ji5ghlcGJtlmErHFqVf3d"},"zIndex":999,"width":100,"height":49,"style":{"width":100,"height":49},"positionAbsolute":{"x":-483.5325693553771,"y":1228.751634732462},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"2gZL4a9aWGKWLa89iyHTc","type":"subtopic","position":{"x":-379.5325693553771,"y":1228.751634732462},"selected":true,"data":{"label":"SCARD","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"5aLfNBewK4Dx017qVNO3T"},"zIndex":999,"width":82,"height":49,"style":{"width":82,"height":49},"positionAbsolute":{"x":-379.5325693553771,"y":1228.751634732462},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"6QoYa-N2BKNBaRtvNeVNm","type":"subtopic","position":{"x":-483.5325693553771,"y":1281.501634732462},"selected":true,"data":{"label":"SUNION","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"5aLfNBewK4Dx017qVNO3T"},"zIndex":999,"width":100,"height":49,"style":{"width":100,"height":49},"positionAbsolute":{"x":-483.5325693553771,"y":1281.501634732462},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"JX5ajmcUmkshTO-mLF8lH","type":"subtopic","position":{"x":-379.5325693553771,"y":1281.501634732462},"selected":true,"data":{"label":"SDIFF","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"2gZL4a9aWGKWLa89iyHTc"},"zIndex":999,"width":82,"height":49,"style":{"width":82,"height":49},"positionAbsolute":{"x":-379.5325693553771,"y":1281.501634732462},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"WMDsN_k9KKTMJoVxvqRe_","type":"label","position":{"x":-478.464883323405,"y":1389.552701727933},"selected":true,"data":{"label":"Common Commands","href":"","color":"#000000","style":{"fontSize":17},"oldId":"JpPwzuJ9dK6b4uWH5rWe6"},"zIndex":999,"width":177,"height":36,"style":{},"positionAbsolute":{"x":-478.464883323405,"y":1389.552701727933},"dragging":false,"selectable":true,"focusable":true},{"id":"2SG4Hr9Tuv6cxmGkrKjYZ","type":"subtopic","position":{"x":-483.0325693553771,"y":1334.901634732462},"selected":true,"data":{"label":"More Commands","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"b48EUyFGUeSjtT5fOa_m6"},"zIndex":999,"width":186,"height":49,"style":{"width":186,"height":49},"resizing":false,"positionAbsolute":{"x":-483.0325693553771,"y":1334.901634732462},"dragging":false,"selectable":true,"focusable":true},{"id":"3hayYoSZepw7pppBubotg","type":"subtopic","position":{"x":-481.964883323405,"y":1429.552701727933},"selected":true,"data":{"label":"Usecases","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"YhqqIGcdOk9Qwfhqpc0L-"},"zIndex":999,"width":184,"height":49,"style":{"width":184,"height":49},"positionAbsolute":{"x":-481.964883323405,"y":1429.552701727933},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"b48EUyFGUeSjtT5fOa_m6","type":"subtopic","position":{"x":-483.0325693553771,"y":1334.901634732462},"selected":true,"data":{"label":"More Commands","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"0v8uLWRCbAqEmKKdYaRQW"},"zIndex":999,"width":186,"height":49,"style":{"width":186,"height":49},"resizing":false,"positionAbsolute":{"x":-483.0325693553771,"y":1334.901634732462},"dragging":false,"selectable":true,"focusable":true},{"id":"MnC2RVZsbUXRWBHhoS3IG","type":"vertical","position":{"x":-762.1381872719934,"y":601.2610824325313},"selected":true,"data":{"label":"vertical node","style":{"stroke":"#2B78E4"}},"zIndex":999,"width":20,"height":399,"style":{"width":20,"height":399},"positionAbsolute":{"x":-762.1381872719934,"y":601.2610824325313},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"Wl23Jh-ASJOQ850yjaTIU","type":"topic","position":{"x":-794.6381872719934,"y":754.348933004529},"selected":true,"data":{"label":"Strings","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"4-C4XqACUp4nvcMIj6djF"},"zIndex":999,"width":100,"height":49,"style":{"width":100,"height":49},"positionAbsolute":{"x":-794.6381872719934,"y":754.348933004529},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"LKpF1cUo7n_B8_7VYil8G","type":"vertical","position":{"x":-762.1381872719934,"y":996.348933004529},"selected":true,"data":{"label":"vertical node","oldId":"MnC2RVZsbUXRWBHhoS3IG","style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2B78E4"}},"zIndex":999,"width":20,"height":69,"style":{"width":20,"height":69},"positionAbsolute":{"x":-762.1381872719934,"y":996.348933004529},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"4-C4XqACUp4nvcMIj6djF","type":"topic","position":{"x":-799.0705012400213,"y":982.348933004529},"selected":true,"data":{"label":"Lists","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":103,"height":49,"style":{"width":103,"height":49},"positionAbsolute":{"x":-799.0705012400213,"y":982.348933004529},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"wY46Qj5Inw_ClBNI9PB_2","type":"topic","position":{"x":-205.4360763433994,"y":831.577518106665},"selected":true,"data":{"label":"Hashes","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"4-C4XqACUp4nvcMIj6djF"},"zIndex":999,"width":143,"height":49,"style":{"width":143,"height":49},"positionAbsolute":{"x":-205.4360763433994,"y":831.577518106665},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"BOJzn9SWad9oRRdY_ub01","type":"subtopic","position":{"x":44.870749690558,"y":619.6621339677162},"selected":true,"data":{"label":"HSET","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":100,"height":52,"style":{"width":100,"height":52},"positionAbsolute":{"x":44.870749690558,"y":619.6621339677162},"dragging":false,"selectable":true,"focusable":true},{"id":"MsKg9m5jFwHM2Bzjf-vdu","type":"subtopic","position":{"x":148.88342242236251,"y":621.1621339677162},"selected":true,"data":{"label":"HGET","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":100,"height":49,"style":{"width":100,"height":49},"positionAbsolute":{"x":148.88342242236251,"y":621.1621339677162},"dragging":false,"selectable":true,"focusable":true},{"id":"TpR33sJ-tAjeG3jpGTvYR","type":"subtopic","position":{"x":44.870749690558,"y":674.6621339677162},"selected":true,"data":{"label":"HGETALL","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":100,"height":49,"style":{"width":100,"height":49},"positionAbsolute":{"x":44.870749690558,"y":674.6621339677162},"dragging":false,"selectable":true,"focusable":true},{"id":"E7xFZkqqbzokD5KGTn9zJ","type":"subtopic","position":{"x":148.88342242236251,"y":674.6621339677162},"selected":true,"data":{"label":"HDEL","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":100,"height":49,"style":{"width":100,"height":49},"positionAbsolute":{"x":148.88342242236251,"y":674.6621339677162},"dragging":false,"selectable":true,"focusable":true},{"id":"adhLMuSmfYMRyWTwIgnyE","type":"subtopic","position":{"x":44.870749690558,"y":726.6621339677162},"selected":true,"data":{"label":"HEXISTS","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":205,"height":49,"style":{"width":205,"height":49},"positionAbsolute":{"x":44.870749690558,"y":726.6621339677162},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"3JTlcdE0621Do-fF7rmvY","type":"label","position":{"x":58.870749690558,"y":835.6621339677162},"selected":true,"data":{"label":"Common Commands","href":"","color":"#000000","style":{"fontSize":17},"oldId":"WMDsN_k9KKTMJoVxvqRe_"},"zIndex":999,"width":177,"height":36,"style":{},"positionAbsolute":{"x":58.870749690558,"y":835.6621339677162},"dragging":false,"selectable":true,"focusable":true},{"id":"jtVnUD-na-WffMaS8qYfu","type":"subtopic","position":{"x":47.870749690558,"y":876.6621339677162},"selected":true,"data":{"label":"Usecases","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"3hayYoSZepw7pppBubotg"},"zIndex":999,"width":202,"height":49,"style":{"width":202,"height":49},"positionAbsolute":{"x":47.870749690558,"y":876.6621339677162},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"QTbkWZ7BpqYmBhUivccPu","type":"topic","position":{"x":-205.4360763433994,"y":971.0460686385047},"selected":true,"data":{"label":"Sorted Sets","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"wY46Qj5Inw_ClBNI9PB_2"},"zIndex":999,"width":143,"height":49,"style":{"width":143,"height":49},"positionAbsolute":{"x":-205.4360763433994,"y":971.0460686385047},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"0swsBD0sOY-o5lzibT999","type":"subtopic","position":{"x":44.870749690558,"y":979.7159079993978},"selected":true,"data":{"label":"ZADD","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":100,"height":49,"style":{"width":100,"height":49},"resizing":false,"positionAbsolute":{"x":44.870749690558,"y":979.7159079993978},"selectable":true,"focusable":true,"dragging":false},{"id":"3pFChX6YIItrBz9lxu4XM","type":"subtopic","position":{"x":148.88342242236251,"y":979.7159079993978},"selected":true,"data":{"label":"ZRANGE","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":100,"height":49,"style":{"width":100,"height":49},"resizing":false,"positionAbsolute":{"x":148.88342242236251,"y":979.7159079993978},"dragging":false,"selectable":true,"focusable":true},{"id":"OlbixGa5RmdqEt7snY04j","type":"subtopic","position":{"x":44.870749690558,"y":1085.4042933441044},"selected":true,"data":{"label":"ZRANGEBYSCORE","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":204,"height":49,"style":{"width":204,"height":49},"positionAbsolute":{"x":44.870749690558,"y":1085.4042933441044},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"m0FZDPwNE71zcwM_gUwz0","type":"subtopic","position":{"x":148.88342242236251,"y":1033.4059280765664},"selected":true,"data":{"label":"ZREM","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":100,"height":49,"style":{"width":100,"height":49},"positionAbsolute":{"x":148.88342242236251,"y":1033.4059280765664},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"W4v7FIQr2k-Vbm-HdfKog","type":"subtopic","position":{"x":44.870749690558,"y":1137.9059280765664},"selected":true,"data":{"label":"ZINCRBY","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":100,"height":49,"style":{"width":100,"height":49},"positionAbsolute":{"x":44.870749690558,"y":1137.9059280765664},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"AF_kWM4V8n5Ux06IgEVTl","type":"subtopic","position":{"x":44.870749690558,"y":1033.4059280765664},"selected":true,"data":{"label":"ZRANK","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":100,"height":49,"style":{"width":100,"height":49},"positionAbsolute":{"x":44.870749690558,"y":1033.4059280765664},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"O-fZM_U-tW0pYtNzN_8Ax","type":"subtopic","position":{"x":148.88342242236251,"y":1137.9059280765664},"selected":true,"data":{"label":"ZCOUNT","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"W4v7FIQr2k-Vbm-HdfKog"},"zIndex":999,"width":100,"height":49,"style":{"width":100,"height":49},"positionAbsolute":{"x":148.88342242236251,"y":1137.9059280765664},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"P6TDUCroLlEI7qePBFHIH","type":"subtopic","position":{"x":44.870749690558,"y":780},"selected":true,"data":{"label":"More Commands","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"0v8uLWRCbAqEmKKdYaRQW"},"zIndex":999,"width":205,"height":49,"style":{"width":205,"height":49},"resizing":false,"positionAbsolute":{"x":44.870749690558,"y":780},"dragging":false,"selectable":true,"focusable":true},{"id":"B2KNO28rJqoasbleVgXn7","type":"label","position":{"x":63.2537192879729,"y":1247.2798077525504},"selected":true,"data":{"label":"Common Commands","href":"","color":"#000000","style":{"fontSize":17},"oldId":"3JTlcdE0621Do-fF7rmvY"},"zIndex":999,"width":177,"height":36,"style":{},"positionAbsolute":{"x":63.2537192879729,"y":1247.2798077525504},"dragging":false,"selectable":true,"focusable":true},{"id":"lxevY15ZyP43s_JrEqMX7","type":"subtopic","position":{"x":46.76039918125758,"y":1284.3678500599142},"selected":true,"data":{"label":"Usecases","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"jtVnUD-na-WffMaS8qYfu"},"zIndex":999,"width":202,"height":49,"style":{"width":202,"height":49},"positionAbsolute":{"x":46.76039918125758,"y":1284.3678500599142},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"o6e_CwxfPoU6qkfWkwKwj","type":"subtopic","position":{"x":44.870749690558,"y":1191.6176737848343},"selected":true,"data":{"label":"More Commands","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"P6TDUCroLlEI7qePBFHIH"},"zIndex":999,"width":205,"height":49,"style":{"width":205,"height":49},"resizing":false,"positionAbsolute":{"x":44.870749690558,"y":1191.6176737848343},"dragging":false,"selectable":true,"focusable":true},{"id":"8gyVwKg3Ctt2w15X7xZgC","type":"paragraph","position":{"x":-239.32217668933376,"y":1187.6176737848343},"selected":true,"data":{"label":"Working with Redis","style":{"fontSize":20,"borderColor":"transparent","backgroundColor":"transparent","color":"#000000","textAlign":"center","justifyContent":"center","padding":16}},"zIndex":999,"width":213,"height":57,"style":{"width":213,"height":57},"resizing":false,"positionAbsolute":{"x":-239.32217668933376,"y":1187.6176737848343},"dragging":false,"selectable":true,"focusable":true},{"id":"5SgC-_4Be_XpFmbJH3wH2","type":"label","position":{"x":-207.82217668933376,"y":1493.001634732462},"selected":true,"data":{"label":"Key Management","href":"","color":"#000000","style":{"fontSize":17}},"zIndex":999,"width":150,"height":36,"style":{},"positionAbsolute":{"x":-207.82217668933376,"y":1493.001634732462},"dragging":false,"selectable":true,"focusable":true},{"id":"jCaVx5wvsvuyqtwh6m8si","type":"subtopic","position":{"x":-236.32217668933376,"y":1327.6577176448873},"selected":true,"data":{"label":"Naming Conventions","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":207,"height":49,"style":{"width":207,"height":49},"positionAbsolute":{"x":-236.32217668933376,"y":1327.6577176448873},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"UlQHqw1dbxZnAKbsWsOgU","type":"subtopic","position":{"x":-236.32217668933376,"y":1380.6577176448873},"selected":true,"data":{"label":"Retrieval by Pattern","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":207,"height":49,"style":{"width":207,"height":49},"positionAbsolute":{"x":-236.32217668933376,"y":1380.6577176448873},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"OSIYDYPGz8Vgo9SU9GGH9","type":"subtopic","position":{"x":-236.32217668933376,"y":1433.6577176448873},"selected":true,"data":{"label":"Expiration","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"UlQHqw1dbxZnAKbsWsOgU"},"zIndex":999,"width":207,"height":49,"style":{"width":207,"height":49},"positionAbsolute":{"x":-236.32217668933376,"y":1433.6577176448873},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"jrgaoDnt_RxTu79hk4hCD","type":"topic","position":{"x":45.870749690558,"y":1403.6577176448873},"selected":true,"data":{"label":"Atomicity in Redis","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":202,"height":49,"style":{"width":202,"height":49},"positionAbsolute":{"x":45.870749690558,"y":1403.6577176448873},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"LHlwjN3WHYUBUafzzwsWQ","type":"topic","position":{"x":45.870749690558,"y":1488.001634732462},"selected":true,"data":{"label":"Pipelining","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"jrgaoDnt_RxTu79hk4hCD"},"zIndex":999,"width":202,"height":49,"style":{"width":202,"height":49},"positionAbsolute":{"x":45.870749690558,"y":1488.001634732462},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"7JzeyTrkZ_1_yxMVrqvZU","type":"topic","position":{"x":45.870749690558,"y":1571.9885116331939},"selected":true,"data":{"label":"Batch Operations","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"LHlwjN3WHYUBUafzzwsWQ"},"zIndex":999,"width":202,"height":49,"style":{"width":202,"height":49},"positionAbsolute":{"x":45.870749690558,"y":1571.9885116331939},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"osbKjF7VIAxtWokGjuYXq","type":"label","position":{"x":83.76039918125758,"y":1629.099028442399},"selected":true,"data":{"label":"MSET / MGET","href":"","color":"#000000","style":{"fontSize":17}},"zIndex":999,"width":128,"height":36,"style":{},"positionAbsolute":{"x":83.76039918125758,"y":1629.099028442399},"selectable":true,"focusable":true,"dragging":false},{"id":"45ihdIfRW-jI38h-s4Vdc","type":"paragraph","position":{"x":-305.3221766893338,"y":1567.9885116331939},"selected":true,"data":{"label":"Advanced Data Structures","style":{"fontSize":20,"borderColor":"transparent","backgroundColor":"transparent","color":"#000000","textAlign":"center","justifyContent":"center","padding":16},"oldId":"8gyVwKg3Ctt2w15X7xZgC"},"zIndex":999,"width":279,"height":57,"style":{"width":279,"height":57},"resizing":false,"positionAbsolute":{"x":-305.3221766893338,"y":1567.9885116331939},"dragging":false,"selectable":true,"focusable":true},{"id":"0Q3AkE8leWAyYsww3-BHX","type":"topic","position":{"x":-523.1381872719934,"y":1571.9885116331939},"selected":true,"data":{"label":"Bitmaps","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"cszjT3YK8oyhGpqLTQzwX"},"zIndex":999,"width":149,"height":49,"style":{"width":149,"height":49},"resizing":false,"positionAbsolute":{"x":-523.1381872719934,"y":1571.9885116331939},"dragging":false,"selectable":true,"focusable":true},{"id":"B-YUFhPQNdr1KZNupmR5N","type":"subtopic","position":{"x":-786.6346077601577,"y":1474.3345088216322},"selected":true,"data":{"label":"SETBIT","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":95,"height":49,"style":{"width":95,"height":49},"positionAbsolute":{"x":-786.6346077601577,"y":1474.3345088216322},"dragging":false,"selectable":true,"focusable":true},{"id":"0HFLJfcrcSnAVTecG3P8W","type":"subtopic","position":{"x":-687.5669217281857,"y":1475.3024555615639},"selected":true,"data":{"label":"GETBIT","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":95,"height":49,"style":{"width":95,"height":49},"positionAbsolute":{"x":-687.5669217281857,"y":1475.3024555615639},"dragging":false,"selectable":true,"focusable":true},{"id":"jpcyXSSib7q4WBPmpgnXA","type":"subtopic","position":{"x":-787.24296378698,"y":1580.9782502455694},"selected":true,"data":{"label":"BITCOUNT","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":195,"height":49,"style":{"width":195,"height":49},"positionAbsolute":{"x":-787.24296378698,"y":1580.9782502455694},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"tkrxArg_oYH0aQfM8NkD2","type":"subtopic","position":{"x":-786.6346077601577,"y":1526.9782502455694},"selected":true,"data":{"label":"BITOP","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":95,"height":49,"style":{"width":95,"height":49},"positionAbsolute":{"x":-786.6346077601577,"y":1526.9782502455694},"dragging":false,"selectable":true,"focusable":true},{"id":"Df1Eu7CuA-ARYii9JVvnm","type":"subtopic","position":{"x":-687.5669217281857,"y":1527.946196985501},"selected":true,"data":{"label":"BITPOS","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":95,"height":49,"style":{"width":95,"height":49},"positionAbsolute":{"x":-687.5669217281857,"y":1527.946196985501},"dragging":false,"selectable":true,"focusable":true},{"id":"i2qZKBU9LJ8c6z8wKt_Eb","type":"label","position":{"x":-777.24296378698,"y":1635.8291147642672},"selected":true,"data":{"label":"Common Commands","href":"","color":"#000000","style":{"fontSize":17},"oldId":"Iour_R6xJ5PieRjX9t993"},"zIndex":999,"width":177,"height":36,"style":{},"positionAbsolute":{"x":-777.24296378698,"y":1635.8291147642672},"dragging":false,"selectable":true,"focusable":true},{"id":"s7PEr-5TAm5EGJm0RSjPJ","type":"subtopic","position":{"x":-785.24296378698,"y":1671.8291147642672},"selected":true,"data":{"label":"Usecases","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"XTwNCCtzXvZMdaex4gZEh"},"zIndex":999,"width":193,"height":49,"style":{"width":193,"height":49},"positionAbsolute":{"x":-785.24296378698,"y":1671.8291147642672},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"cszjT3YK8oyhGpqLTQzwX","type":"topic","position":{"x":-523.1381872719934,"y":1867.6382433656738},"selected":true,"data":{"label":"HyperLogLog","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":149,"height":49,"style":{"width":149,"height":49},"resizing":false,"positionAbsolute":{"x":-523.1381872719934,"y":1867.6382433656738},"dragging":false,"selectable":true,"focusable":true},{"id":"8a4DmPZrX2xGZ7zdWxS63","type":"subtopic","position":{"x":-787.1336432750411,"y":1822.4395748673794},"selected":true,"data":{"label":"PFADD","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":193,"height":49,"style":{"width":193,"height":49},"positionAbsolute":{"x":-787.1336432750411,"y":1822.4395748673794},"selectable":true,"focusable":true,"resizing":false,"dragging":false},{"id":"JWT30KIJQHVw0MXI5sGR6","type":"subtopic","position":{"x":-787.1336432750411,"y":1875.4395748673794},"selected":true,"data":{"label":"PFCOUNT","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":193,"height":49,"style":{"width":193,"height":49},"positionAbsolute":{"x":-787.1336432750411,"y":1875.4395748673794},"selectable":true,"focusable":true,"dragging":false,"resizing":false},{"id":"s50jr_XOUcxh65-tGCKf5","type":"subtopic","position":{"x":-787.1336432750411,"y":1769.4395748673794},"selected":true,"data":{"label":"PFMERGE","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":193,"height":49,"style":{"width":193,"height":49},"positionAbsolute":{"x":-787.1336432750411,"y":1769.4395748673794},"selectable":true,"focusable":true,"dragging":false,"resizing":false},{"id":"EiVMoU64Omo8DOV7h6nBr","type":"label","position":{"x":-779.1336432750411,"y":1927.5036813875156},"selected":true,"data":{"label":"Common Commands","href":"","color":"#000000","style":{"fontSize":17},"oldId":"i2qZKBU9LJ8c6z8wKt_Eb"},"zIndex":999,"width":177,"height":36,"style":{},"positionAbsolute":{"x":-779.1336432750411,"y":1927.5036813875156},"dragging":false,"selectable":true,"focusable":true},{"id":"XPeCvikPuu6EJ8UcOLGPh","type":"subtopic","position":{"x":-787.1336432750411,"y":1963.5036813875156},"selected":true,"data":{"label":"Usecases","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"s7PEr-5TAm5EGJm0RSjPJ"},"zIndex":999,"width":193,"height":49,"style":{"width":193,"height":49},"positionAbsolute":{"x":-787.1336432750411,"y":1963.5036813875156},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"zXs_9n2yEb_eVi0WuOQKH","type":"topic","position":{"x":-242.30753316308028,"y":1998.5036813875156},"selected":true,"data":{"label":"Streams","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"cszjT3YK8oyhGpqLTQzwX"},"zIndex":999,"width":141,"height":49,"style":{"width":141,"height":49},"resizing":false,"positionAbsolute":{"x":-242.30753316308028,"y":1998.5036813875156},"dragging":false,"selectable":true,"focusable":true},{"id":"7isWhgrUA6M5IGM2U2tm4","type":"subtopic","position":{"x":-265.08695195283053,"y":1695.0200165881924},"selected":true,"data":{"label":"XADD","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":100,"height":49,"style":{"width":100,"height":49},"positionAbsolute":{"x":-265.08695195283053,"y":1695.0200165881924},"dragging":false,"selectable":true,"focusable":true},{"id":"4sKiAtX5aIL4NDsQkilNC","type":"subtopic","position":{"x":-161.52821095958973,"y":1694.0520698482605},"selected":true,"data":{"label":"XREAD","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":85,"height":49,"style":{"width":85,"height":49},"positionAbsolute":{"x":-161.52821095958973,"y":1694.0520698482605},"dragging":false,"selectable":true,"focusable":true},{"id":"CiYFuYE8XudZkR6AW2NQ7","type":"subtopic","position":{"x":-265.08695195283053,"y":1747.5200165881924},"selected":true,"data":{"label":"XRANGE","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":100,"height":49,"style":{"width":100,"height":49},"positionAbsolute":{"x":-265.08695195283053,"y":1747.5200165881924},"dragging":false,"selectable":true,"focusable":true},{"id":"DQJCMEw13lELcw_AwLfrT","type":"subtopic","position":{"x":-161.52821095958973,"y":1746.5520698482605},"selected":true,"data":{"label":"XLEN","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":85,"height":49,"style":{"width":85,"height":49},"positionAbsolute":{"x":-161.52821095958973,"y":1746.5520698482605},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"1eNIiXzA2XjiIDS_df1YR","type":"label","position":{"x":-260.35633423807275,"y":1855.4492672979154},"selected":true,"data":{"label":"Common Commands","href":"","color":"#000000","style":{"fontSize":17},"oldId":"WMDsN_k9KKTMJoVxvqRe_"},"zIndex":999,"width":177,"height":36,"style":{},"positionAbsolute":{"x":-260.35633423807275,"y":1855.4492672979154},"dragging":false,"selectable":true,"focusable":true},{"id":"zXlSBfa-Gi9_GhSYEzre3","type":"subtopic","position":{"x":-263.85633423807275,"y":1895.4492672979154},"selected":true,"data":{"label":"Usecases","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"3hayYoSZepw7pppBubotg"},"zIndex":999,"width":184,"height":49,"style":{"width":184,"height":49},"positionAbsolute":{"x":-263.85633423807275,"y":1895.4492672979154},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"4-z4hDKm86qQatYnmE21R","type":"subtopic","position":{"x":-264.9240202700449,"y":1800.7982003024445},"selected":true,"data":{"label":"More Commands","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"b48EUyFGUeSjtT5fOa_m6"},"zIndex":999,"width":186,"height":49,"style":{"width":186,"height":49},"resizing":false,"positionAbsolute":{"x":-264.9240202700449,"y":1800.7982003024445},"dragging":false,"selectable":true,"focusable":true},{"id":"_NiUdVQ85qnvryI38k_vQ","type":"topic","position":{"x":34.784146851171954,"y":1998.5036813875156},"selected":true,"data":{"label":"Geospatial Indexes","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"9W_jaK1DSEZHRKdPcUM7h"},"zIndex":999,"width":205,"height":49,"style":{"width":205,"height":49},"resizing":false,"positionAbsolute":{"x":34.784146851171954,"y":1998.5036813875156},"dragging":false,"selectable":true,"focusable":true},{"id":"U3N1EgHFs1-YUaB_VrJfw","type":"subtopic","position":{"x":43.68805808540674,"y":1693.57444541618},"selected":true,"data":{"label":"GEOADD","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":186,"height":51,"style":{"width":186,"height":51},"positionAbsolute":{"x":43.68805808540674,"y":1693.57444541618},"selectable":true,"focusable":true,"dragging":false},{"id":"OWWDLuGTbdNwME7v2jxVP","type":"subtopic","position":{"x":43.68805808540674,"y":1748.57444541618},"selected":true,"data":{"label":"GEOSEARCH","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":186,"height":49,"style":{"width":186,"height":49},"positionAbsolute":{"x":43.68805808540674,"y":1748.57444541618},"selectable":true,"focusable":true,"dragging":false},{"id":"n7tMR48rdamdpGuCKKiJh","type":"label","position":{"x":49.70715514077847,"y":1856.5838292760734},"selected":true,"data":{"label":"Common Commands","href":"","color":"#000000","style":{"fontSize":17},"oldId":"1eNIiXzA2XjiIDS_df1YR"},"zIndex":999,"width":177,"height":36,"style":{},"positionAbsolute":{"x":49.70715514077847,"y":1856.5838292760734},"dragging":false,"selectable":true,"focusable":true},{"id":"GNMjrLPkpTphneoQ0GoZF","type":"subtopic","position":{"x":46.20715514077847,"y":1896.5838292760734},"selected":true,"data":{"label":"Usecases","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"zXlSBfa-Gi9_GhSYEzre3"},"zIndex":999,"width":184,"height":49,"style":{"width":184,"height":49},"positionAbsolute":{"x":46.20715514077847,"y":1896.5838292760734},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"FCbdKnkI1ZHGekT6yiGua","type":"subtopic","position":{"x":45.13946910880634,"y":1801.9327622806024},"selected":true,"data":{"label":"More Commands","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"4-z4hDKm86qQatYnmE21R"},"zIndex":999,"width":186,"height":49,"style":{"width":186,"height":49},"resizing":false,"positionAbsolute":{"x":45.13946910880634,"y":1801.9327622806024},"dragging":false,"selectable":true,"focusable":true},{"id":"9W_jaK1DSEZHRKdPcUM7h","type":"topic","position":{"x":33.284146851171954,"y":2094.1338220801877},"selected":true,"data":{"label":"Pub/Sub","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"zXs_9n2yEb_eVi0WuOQKH"},"zIndex":999,"width":208,"height":49,"style":{"width":208,"height":49},"resizing":false,"positionAbsolute":{"x":33.284146851171954,"y":2094.1338220801877},"dragging":false,"selectable":true,"focusable":true},{"id":"55BCntuWlaQiLPqNtb-2i","type":"subtopic","position":{"x":44.284146851171954,"y":2193.028423683739},"selected":true,"data":{"label":"SUBSCRIBE","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":186,"height":49,"style":{"width":186,"height":49},"positionAbsolute":{"x":44.284146851171954,"y":2193.028423683739},"dragging":false,"selectable":true,"focusable":true},{"id":"5gkZzm2F4vu6IxUoJLYbK","type":"subtopic","position":{"x":44.284146851171954,"y":2246.028423683739},"selected":true,"data":{"label":"UNSUBSCRIBE","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":186,"height":49,"style":{"width":186,"height":49},"positionAbsolute":{"x":44.284146851171954,"y":2246.028423683739},"dragging":false,"selectable":true,"focusable":true},{"id":"gIPo-2CNqE1BsOaDzmkCU","type":"subtopic","position":{"x":44.284146851171954,"y":2299.028423683739},"selected":true,"data":{"label":"PUBLISH","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":186,"height":49,"style":{"width":186,"height":49},"positionAbsolute":{"x":44.284146851171954,"y":2299.028423683739},"dragging":false,"selectable":true,"focusable":true},{"id":"fu9hfU-5qxDc2psK6-AEm","type":"label","position":{"x":48.784146851171954,"y":2406.028423683739},"selected":true,"data":{"label":"Common Commands","href":"","color":"#000000","style":{"fontSize":17},"oldId":"n7tMR48rdamdpGuCKKiJh"},"zIndex":999,"width":177,"height":36,"style":{},"positionAbsolute":{"x":48.784146851171954,"y":2406.028423683739},"dragging":false,"selectable":true,"focusable":true},{"id":"V-d6q-3Sf0dl5v8xiCQwl","type":"subtopic","position":{"x":44.284146851171954,"y":2352.028423683739},"selected":true,"data":{"label":"More Commands","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"FCbdKnkI1ZHGekT6yiGua"},"zIndex":999,"width":186,"height":49,"style":{"width":186,"height":49},"resizing":false,"positionAbsolute":{"x":44.284146851171954,"y":2352.028423683739},"dragging":false,"selectable":true,"focusable":true},{"id":"MvyE_JUJej0UB9xe8Anfj","type":"subtopic","position":{"x":45.284146851171954,"y":2447.028423683739},"selected":true,"data":{"label":"Usecases","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"GNMjrLPkpTphneoQ0GoZF"},"zIndex":999,"width":184,"height":49,"style":{"width":184,"height":49},"positionAbsolute":{"x":45.284146851171954,"y":2447.028423683739},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"YHbWlKrQqptUDbaQVy0_A","type":"topic","position":{"x":-270.6768116800821,"y":2094.1338220801877},"selected":true,"data":{"label":"Transactions","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"9W_jaK1DSEZHRKdPcUM7h"},"zIndex":999,"width":210,"height":49,"style":{"width":210,"height":49},"resizing":false,"positionAbsolute":{"x":-270.6768116800821,"y":2094.1338220801877},"dragging":false,"selectable":true,"focusable":true},{"id":"c-y5Eck8VtSyIf8RAW9p7","type":"subtopic","position":{"x":-259.6768116800821,"y":2192.7847957820186},"selected":true,"data":{"label":"WATCH","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":188,"height":49,"style":{"width":188,"height":49},"positionAbsolute":{"x":-259.6768116800821,"y":2192.7847957820186},"dragging":false,"selectable":true,"focusable":true},{"id":"Ljy-Mc0EBBX4_vXfYZ5-4","type":"subtopic","position":{"x":-259.6768116800821,"y":2245.7847957820186},"selected":true,"data":{"label":"EXEC","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":188,"height":49,"style":{"width":188,"height":49},"positionAbsolute":{"x":-259.6768116800821,"y":2245.7847957820186},"dragging":false,"selectable":true,"focusable":true},{"id":"U6hST1MkS16T2CHV3-Ise","type":"subtopic","position":{"x":-259.6768116800821,"y":2298.7847957820186},"selected":true,"data":{"label":"MULTI","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":188,"height":49,"style":{"width":188,"height":49},"positionAbsolute":{"x":-259.6768116800821,"y":2298.7847957820186},"dragging":false,"selectable":true,"focusable":true},{"id":"bnqUb3pHb4KzH_vA0JO-o","type":"label","position":{"x":-254.1768116800821,"y":2357.7847957820186},"selected":true,"data":{"label":"Common Commands","href":"","color":"#000000","style":{"fontSize":17},"oldId":"fu9hfU-5qxDc2psK6-AEm"},"zIndex":999,"width":177,"height":36,"style":{},"positionAbsolute":{"x":-254.1768116800821,"y":2357.7847957820186},"dragging":false,"selectable":true,"focusable":true},{"id":"msW0Wd2H-6FFNDnjC64t-","type":"subtopic","position":{"x":-259.6768116800821,"y":2393.7847957820186},"selected":true,"data":{"label":"Optimistic Locking","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"MvyE_JUJej0UB9xe8Anfj"},"zIndex":999,"width":188,"height":50,"style":{"width":188,"height":50},"positionAbsolute":{"x":-259.6768116800821,"y":2393.7847957820186},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"Veb30QrPYNjUn13dtGbUr","type":"topic","position":{"x":-540.6396884459828,"y":2094.1338220801877},"selected":true,"data":{"label":"Lua Scripting","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"YHbWlKrQqptUDbaQVy0_A"},"zIndex":999,"width":203,"height":49,"style":{"width":203,"height":49},"resizing":false,"positionAbsolute":{"x":-540.6396884459828,"y":2094.1338220801877},"dragging":false,"selectable":true,"focusable":true},{"id":"rjeq3i9oX8IGyQzo--L3c","type":"subtopic","position":{"x":-531.1396884459828,"y":2193.3736263464275},"selected":true,"data":{"label":"EVAL","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":184,"height":49,"style":{"width":184,"height":49},"dragging":false,"positionAbsolute":{"x":-531.1396884459828,"y":2193.3736263464275},"selectable":true,"focusable":true},{"id":"3X0x_PcJGWBVPL-LSVAln","type":"subtopic","position":{"x":-531.1396884459828,"y":2246.3736263464275},"selected":true,"data":{"label":"EVALSHA","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":184,"height":49,"style":{"width":184,"height":49},"positionAbsolute":{"x":-531.1396884459828,"y":2246.3736263464275},"dragging":false,"selectable":true,"focusable":true},{"id":"ntFfk1RRA5g_dC5McYb9g","type":"label","position":{"x":-527.6396884459828,"y":2300.6176330596563},"selected":true,"data":{"label":"Common Commands","href":"","color":"#000000","style":{"fontSize":17},"oldId":"fu9hfU-5qxDc2psK6-AEm"},"zIndex":999,"width":177,"height":36,"style":{},"positionAbsolute":{"x":-527.6396884459828,"y":2300.6176330596563},"dragging":false,"selectable":true,"focusable":true},{"id":"kF_nGo845XDwLkwcQt008","type":"subtopic","position":{"x":-531.1396884459828,"y":2341.6176330596563},"selected":true,"data":{"label":"Usecases","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"MvyE_JUJej0UB9xe8Anfj"},"zIndex":999,"width":184,"height":49,"style":{"width":184,"height":49},"positionAbsolute":{"x":-531.1396884459828,"y":2341.6176330596563},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"bQaek7f3dAaZfSUhwovm1","type":"topic","position":{"x":-761.5705012400213,"y":2430.5411678802984},"selected":true,"data":{"label":"Persistence Options","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"Veb30QrPYNjUn13dtGbUr"},"zIndex":999,"width":203,"height":49,"style":{"width":203,"height":49},"resizing":false,"positionAbsolute":{"x":-761.5705012400213,"y":2430.5411678802984},"dragging":false,"selectable":true,"focusable":true},{"id":"D3pZdAjwPFMRxX1-iyu5-","type":"subtopic","position":{"x":-788.4056236984468,"y":2582.722300491497},"selected":true,"data":{"label":"How RDB Works?","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":254,"height":49,"style":{"width":254,"height":49},"positionAbsolute":{"x":-788.4056236984468,"y":2582.722300491497},"dragging":false,"selectable":true,"focusable":true},{"id":"_pb2DPrFUUZabKxWsuFUo","type":"subtopic","position":{"x":-788.4056236984468,"y":2635.722300491497},"selected":true,"data":{"label":"Configuring Save Interval","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":254,"height":49,"style":{"width":254,"height":49},"positionAbsolute":{"x":-788.4056236984468,"y":2635.722300491497},"dragging":false,"selectable":true,"focusable":true},{"id":"Z6yJwUkcDX08HoMyf1LwX","type":"subtopic","position":{"x":-788.4056236984468,"y":2688.722300491497},"selected":true,"data":{"label":"Usecases / Best Practices","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"vzp7DUpjklzIA0E9WxJQA"},"zIndex":999,"width":254,"height":49,"style":{"width":254,"height":49},"positionAbsolute":{"x":-788.4056236984468,"y":2688.722300491497},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"cXcTz_u6RL3novZimRdg_","type":"label","position":{"x":-746.4056236984468,"y":2748.722300491497},"selected":true,"data":{"label":"Snapshotting (RDB)","href":"","color":"#000000","style":{"fontSize":17}},"zIndex":999,"width":170,"height":36,"style":{},"positionAbsolute":{"x":-746.4056236984468,"y":2748.722300491497},"dragging":false,"selectable":true,"focusable":true},{"id":"PTj6oxvpw8vP295WvAI80","type":"subtopic","position":{"x":-788.5040036977603,"y":2795.239715349408},"selected":true,"data":{"label":"How AOF Works?","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":254,"height":49,"style":{"width":254,"height":49},"positionAbsolute":{"x":-788.5040036977603,"y":2795.239715349408},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"ibaZ34-laQtUyxAsERi7o","type":"subtopic","position":{"x":-788.5040036977603,"y":2848.239715349408},"selected":true,"data":{"label":"AOF rewrite & compaction","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":254,"height":49,"style":{"width":254,"height":49},"positionAbsolute":{"x":-788.5040036977603,"y":2848.239715349408},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"9ToKTUqbi-NV5Wcwb21PT","type":"subtopic","position":{"x":-788.5040036977603,"y":2901.239715349408},"selected":true,"data":{"label":"Truncation / Corruption","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":254,"height":49,"style":{"width":254,"height":49},"dragging":false,"positionAbsolute":{"x":-788.5040036977603,"y":2901.239715349408},"selectable":true,"focusable":true,"resizing":false},{"id":"VvOQUO22ZF8VvDSqHENNU","type":"subtopic","position":{"x":-788.5040036977603,"y":2954.239715349408},"selected":true,"data":{"label":"Usecases","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":254,"height":50,"style":{"width":254,"height":50},"positionAbsolute":{"x":-788.5040036977603,"y":2954.239715349408},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"Y__3QLU4PChySvPtqDtxT","type":"label","position":{"x":-761.0995417594463,"y":3012.821469532407},"selected":true,"data":{"label":"Append-Only File (AOF)","href":"","color":"#000000","style":{"fontSize":17}},"zIndex":999,"width":197,"height":36,"style":{},"positionAbsolute":{"x":-761.0995417594463,"y":3012.821469532407},"dragging":false,"selectable":true,"focusable":true},{"id":"vzp7DUpjklzIA0E9WxJQA","type":"subtopic","position":{"x":-788.4056236984468,"y":2688.722300491497},"selected":true,"data":{"label":"Usecases / Best Practices","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":254,"height":49,"style":{"width":254,"height":49},"positionAbsolute":{"x":-788.4056236984468,"y":2688.722300491497},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"80035BzcB-fKCvD_3N8zE","type":"subtopic","position":{"x":-796.4056236984468,"y":2525.722300491497},"selected":true,"data":{"label":"No Persistence Option","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"D3pZdAjwPFMRxX1-iyu5-"},"zIndex":999,"width":270,"height":49,"style":{"width":270,"height":49},"positionAbsolute":{"x":-796.4056236984468,"y":2525.722300491497},"dragging":false,"selectable":true,"focusable":true},{"id":"3S-qqOlfr60HR4VvDr4He","type":"subtopic","position":{"x":-788.4056236984468,"y":3069.0956068302976},"selected":true,"data":{"label":"RDB vs AOF Tradeoffs","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"PTj6oxvpw8vP295WvAI80"},"zIndex":999,"width":254,"height":49,"style":{"width":254,"height":49},"positionAbsolute":{"x":-788.4056236984468,"y":3069.0956068302976},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"S5Y26m1oHCQpB-oLCdtac","type":"subtopic","position":{"x":-786.6346077601577,"y":3121.5956068302976},"selected":true,"data":{"label":"Hybrid Persistence","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"3S-qqOlfr60HR4VvDr4He"},"zIndex":999,"width":254,"height":49,"style":{"width":254,"height":49},"positionAbsolute":{"x":-786.6346077601577,"y":3121.5956068302976},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"8zl_DwdRI2MGz6RadV4lE","type":"label","position":{"x":-762.1812271795868,"y":3177.5821619503376},"selected":true,"data":{"label":"Choosing Right Strategy","href":"","color":"#000000","style":{"fontSize":17},"oldId":"Y__3QLU4PChySvPtqDtxT"},"zIndex":999,"width":201,"height":36,"style":{},"positionAbsolute":{"x":-762.1812271795868,"y":3177.5821619503376},"dragging":false,"selectable":true,"focusable":true},{"id":"0zHluzD25vXl3AYcvbxhx","type":"vertical","position":{"x":-670.0705012400213,"y":2479.5411678802984},"selected":true,"data":{"label":"vertical node","style":{"stroke":"#2B78E4","strokeWidth":3.5,"strokeDasharray":"0.8 8","strokeLinecap":"round"}},"zIndex":999,"width":20,"height":50,"style":{"width":20,"height":50},"positionAbsolute":{"x":-670.0705012400213,"y":2479.5411678802984},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"uvwbpHaA6rH6YrHuEdBxh","type":"paragraph","position":{"x":-485.07050124002126,"y":2570.722300491497},"selected":true,"data":{"label":"Replication / HA","style":{"fontSize":20,"borderColor":"transparent","backgroundColor":"transparent","color":"#000000","textAlign":"center","justifyContent":"center","padding":16},"oldId":"45ihdIfRW-jI38h-s4Vdc"},"zIndex":999,"width":194,"height":58,"style":{"width":194,"height":58},"resizing":false,"positionAbsolute":{"x":-485.07050124002126,"y":2570.722300491497},"dragging":false,"selectable":true,"focusable":true},{"id":"rSD8nJ-uNpHJVe5Hn66h7","type":"topic","position":{"x":-487.52827201104554,"y":2691.3630425975985},"selected":true,"data":{"label":"Replication Basics","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":199,"height":49,"style":{"width":199,"height":49},"positionAbsolute":{"x":-487.52827201104554,"y":2691.3630425975985},"selectable":true,"focusable":true,"dragging":false,"resizing":false},{"id":"nci3OB1NE1zJHUPfZCOpT","type":"topic","position":{"x":-487.52827201104554,"y":2744.3630425975985},"selected":true,"data":{"label":"Redis Sentinel","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":199,"height":50,"style":{"width":199,"height":50},"positionAbsolute":{"x":-487.52827201104554,"y":2744.3630425975985},"selectable":true,"focusable":true,"dragging":false,"resizing":false},{"id":"AQiCcHS6dBAAAPloxiXub","type":"topic","position":{"x":-487.52827201104554,"y":2797.3630425975985},"selected":true,"data":{"label":"Clustering","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":199,"height":49,"style":{"width":199,"height":49},"positionAbsolute":{"x":-487.52827201104554,"y":2797.3630425975985},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"zmVjMf9wNHARBS_mBY4lY","type":"paragraph","position":{"x":-192.0301527130956,"y":2795.3630425975985},"selected":true,"data":{"label":"Security","style":{"fontSize":20,"borderColor":"transparent","backgroundColor":"transparent","color":"#000000","textAlign":"center","justifyContent":"center","padding":16},"oldId":"uvwbpHaA6rH6YrHuEdBxh"},"zIndex":999,"width":123,"height":53,"style":{"width":123,"height":53},"resizing":false,"positionAbsolute":{"x":-192.0301527130956,"y":2795.3630425975985},"dragging":false,"selectable":true,"focusable":true},{"id":"Qy42paiTUsO8HIwbWTMui","type":"topic","position":{"x":-232.0301527130956,"y":2574.728124123601},"selected":true,"data":{"label":"Authentication","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"rSD8nJ-uNpHJVe5Hn66h7"},"zIndex":999,"width":203,"height":49,"style":{"width":203,"height":49},"positionAbsolute":{"x":-232.0301527130956,"y":2574.728124123601},"selectable":true,"focusable":true,"dragging":false,"resizing":true},{"id":"wsuKH7YwGDV6GYQbdhA4o","type":"topic","position":{"x":-232.0301527130956,"y":2627.728124123601},"selected":true,"data":{"label":"Network Security","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"Qy42paiTUsO8HIwbWTMui"},"zIndex":999,"width":203,"height":49,"style":{"width":203,"height":49},"positionAbsolute":{"x":-232.0301527130956,"y":2627.728124123601},"selectable":true,"focusable":true,"dragging":false,"resizing":false},{"id":"gdiWwTQg6A-BFHdQBmgmH","type":"topic","position":{"x":-232.0301527130956,"y":2680.728124123601},"selected":true,"data":{"label":"SSL/TLS Encryption","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"wsuKH7YwGDV6GYQbdhA4o"},"zIndex":999,"width":203,"height":49,"style":{"width":203,"height":49},"positionAbsolute":{"x":-232.0301527130956,"y":2680.728124123601},"selectable":true,"focusable":true,"dragging":false,"resizing":false},{"id":"k9HeweEN4enuboEppbJiP","type":"paragraph","position":{"x":28.876322242962374,"y":2740.3630425975985},"selected":true,"data":{"label":"Monitoring / Optimization","style":{"fontSize":20,"borderColor":"transparent","backgroundColor":"transparent","color":"#000000","textAlign":"center","justifyContent":"center","padding":16},"oldId":"zmVjMf9wNHARBS_mBY4lY"},"zIndex":999,"width":268,"height":65,"style":{"width":268,"height":65},"resizing":false,"positionAbsolute":{"x":28.876322242962374,"y":2740.3630425975985},"dragging":false,"selectable":true,"focusable":true},{"id":"q2Jw49QUWCUGIfcEC1bZI","type":"subtopic","position":{"x":78.05051776655154,"y":2972.2582055339226},"selected":true,"data":{"label":"INFO","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"jBtEiylcedtaE6E20Uk4V"},"zIndex":999,"width":70,"height":49,"style":{"width":70,"height":49},"positionAbsolute":{"x":78.05051776655154,"y":2972.2582055339226},"selectable":true,"focusable":true,"dragging":false,"resizing":false},{"id":"jBtEiylcedtaE6E20Uk4V","type":"subtopic","position":{"x":150.47128940990217,"y":2972.2582055339226},"selected":true,"data":{"label":"MONITOR","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":100,"height":49,"style":{"width":100,"height":49},"positionAbsolute":{"x":150.47128940990217,"y":2972.2582055339226},"selectable":true,"focusable":true,"dragging":false,"resizing":false},{"id":"_Pc7nNLnVFca8Wn3DjOfL","type":"label","position":{"x":103.35425900731707,"y":3027.634878285732},"selected":true,"data":{"label":"Built-in Tools","href":"","color":"#000000","style":{"fontSize":17},"oldId":"gEDpVuVAS0oZv7rlku8LH"},"zIndex":999,"width":126,"height":34,"style":{"width":125.978759765625,"height":33.5302734375},"positionAbsolute":{"x":103.35425900731707,"y":3027.634878285732},"dragging":false,"selectable":true,"focusable":true},{"id":"XBPwHgIsXupMsyoOFkJZ0","type":"subtopic","position":{"x":78.05051776655154,"y":3066.634878285732},"selected":true,"data":{"label":"RedisInsight","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"y5FPSAi6T-5X9SUfR58_-"},"zIndex":999,"width":170,"height":49,"style":{"width":170,"height":49},"positionAbsolute":{"x":78.05051776655154,"y":3066.634878285732},"selectable":true,"focusable":true,"dragging":false,"resizing":false},{"id":"y5FPSAi6T-5X9SUfR58_-","type":"subtopic","position":{"x":78.05051776655154,"y":3120.634878285732},"selected":true,"data":{"label":"RedisCommander","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":170,"height":49,"style":{"width":170,"height":49},"positionAbsolute":{"x":78.05051776655154,"y":3120.634878285732},"selectable":true,"focusable":true,"dragging":false,"resizing":false},{"id":"gEDpVuVAS0oZv7rlku8LH","type":"label","position":{"x":99.36093890060175,"y":3172.716632468731},"selected":true,"data":{"label":"3rd Party Tools","href":"","color":"#000000","style":{"fontSize":17}},"zIndex":999,"width":128,"height":36,"style":{},"positionAbsolute":{"x":99.36093890060175,"y":3172.716632468731},"dragging":false,"selectable":true,"focusable":true},{"id":"YFNh64DIbJJPQrm5fquvi","type":"label","position":{"x":-209.03386624713073,"y":3170.0682184225393},"selected":true,"data":{"label":"Performance Optimization","href":"","color":"#000000","style":{"fontSize":17}},"zIndex":999,"width":215,"height":36,"style":{},"positionAbsolute":{"x":-209.03386624713073,"y":3170.0682184225393},"selectable":true,"focusable":true,"dragging":false},{"id":"xF0wQYmtwXYkrzvWg5gOO","type":"subtopic","position":{"x":-209.03386624713073,"y":2951.0682184225393},"selected":true,"data":{"label":"Memory Management","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":215,"height":49,"style":{"width":215,"height":49},"dragging":false,"positionAbsolute":{"x":-209.03386624713073,"y":2951.0682184225393},"selectable":true,"focusable":true,"resizing":false},{"id":"Sd1ENOXSFCz1YqccXjr2A","type":"subtopic","position":{"x":-209.03386624713073,"y":2898.0682184225393},"selected":true,"data":{"label":"Max Memory Policy","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":215,"height":49,"style":{"width":215,"height":49},"positionAbsolute":{"x":-209.03386624713073,"y":2898.0682184225393},"selectable":true,"focusable":true,"dragging":false},{"id":"yaCWw2KjX58SaPajUAb0d","type":"subtopic","position":{"x":-209.03386624713073,"y":3004.0682184225393},"selected":true,"data":{"label":"Slow Log Analysis","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":215,"height":49,"style":{"width":215,"height":49},"dragging":false,"positionAbsolute":{"x":-209.03386624713073,"y":3004.0682184225393},"selectable":true,"focusable":true},{"id":"kgHwK4N-sfh6dHjd_D_me","type":"subtopic","position":{"x":-209.03386624713073,"y":3057.0682184225393},"selected":true,"data":{"label":"redis-benchmark","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":215,"height":49,"style":{"height":49,"width":215},"positionAbsolute":{"x":-209.03386624713073,"y":3057.0682184225393},"selectable":true,"focusable":true,"dragging":false},{"id":"2p5RF4lVYfRvYTo1Ofm-a","type":"subtopic","position":{"x":-209.03386624713073,"y":3110.0682184225393},"selected":true,"data":{"label":"Monitoring","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":215,"height":49,"style":{"width":215,"height":49},"positionAbsolute":{"x":-209.03386624713073,"y":3110.0682184225393},"dragging":false,"selectable":true,"focusable":true},{"id":"L0t6e1P83aaoa3B9OUT-8","type":"horizontal","position":{"x":13.997184791950758,"y":3161.5956068302976},"selected":true,"data":{"label":"horizontal node","style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2B78E4"}},"zIndex":999,"width":52,"height":20,"style":{"width":52,"height":20},"positionAbsolute":{"x":13.997184791950758,"y":3161.5956068302976},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"PSQ274asgr1EEnim7U-eh","type":"horizontal","position":{"x":-307.03386624713073,"y":3158.0956068302976},"selected":true,"data":{"label":"horizontal node","style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2B78E4"},"oldId":"L0t6e1P83aaoa3B9OUT-8"},"zIndex":999,"width":90,"height":20,"style":{"width":90,"height":20},"positionAbsolute":{"x":-307.03386624713073,"y":3158.0956068302976},"dragging":false,"resizing":false,"selectable":true,"focusable":true},{"id":"hLIT00Iz7rV56ZBIUhWYn","type":"topic","position":{"x":-460.32324473151516,"y":3143.5956068302976},"selected":true,"data":{"label":"Redis Modules","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":160,"height":49,"style":{},"positionAbsolute":{"x":-460.32324473151516,"y":3143.5956068302976},"dragging":false,"selectable":true,"focusable":true},{"id":"jicsfYw56VrbRUt7M8c85","type":"subtopic","position":{"x":-468.32324473151516,"y":3063.899240143158},"selected":true,"data":{"label":"RedisJSON","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":176,"height":49,"style":{"width":176},"dragging":false,"positionAbsolute":{"x":-468.32324473151516,"y":3063.899240143158},"selectable":true,"focusable":true},{"id":"_GdTXcJO8uJlhPdfrmeXG","type":"subtopic","position":{"x":-468.32324473151516,"y":2904.899240143158},"selected":true,"data":{"label":"Search","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":176,"height":49,"style":{"width":176},"positionAbsolute":{"x":-468.32324473151516,"y":2904.899240143158},"dragging":false,"selectable":true,"focusable":true},{"id":"RBr8opWSh2TKXC8Fmdg0j","type":"subtopic","position":{"x":-468.32324473151516,"y":2957.899240143158},"selected":true,"data":{"label":"RedisTimeSeries","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":176,"height":49,"style":{"width":176},"positionAbsolute":{"x":-468.32324473151516,"y":2957.899240143158},"dragging":false,"selectable":true,"focusable":true},{"id":"GwVL5CvbnHsiWb1hVh7lK","type":"subtopic","position":{"x":-468.32324473151516,"y":3010.899240143158},"selected":true,"data":{"label":"RedisBloom","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":176,"height":49,"style":{"width":176},"positionAbsolute":{"x":-468.32324473151516,"y":3010.899240143158},"dragging":false,"selectable":true,"focusable":true},{"id":"vWOOOTjEx8Ycz1NA0xZad","type":"paragraph","position":{"x":-547.3232447315152,"y":3289.9218306559433},"selected":true,"data":{"label":"Managing Redis in Production","style":{"fontSize":20,"borderColor":"transparent","backgroundColor":"transparent","color":"#000000","textAlign":"center","justifyContent":"center","padding":16},"oldId":"k9HeweEN4enuboEppbJiP"},"zIndex":999,"width":334,"height":58,"style":{"width":334,"height":58},"resizing":false,"positionAbsolute":{"x":-547.3232447315152,"y":3289.9218306559433},"dragging":false,"selectable":true,"focusable":true},{"id":"giyKPtQ-pziA064P8OQD-","type":"topic","position":{"x":45.96613375286927,"y":3294.4218306559433},"selected":true,"data":{"label":"redis.conf","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":206,"height":49,"style":{"width":206,"height":49},"positionAbsolute":{"x":45.96613375286927,"y":3294.4218306559433},"dragging":false,"selectable":true,"focusable":true},{"id":"GPsf1hc9hXNKgutGCribk","type":"label","position":{"x":45.96613375286927,"y":3348.3314038676613},"selected":true,"data":{"label":"Important Configurations","href":"","color":"#000000","style":{"fontSize":17},"oldId":"-gCy7Uj64KQJ39IYb_Vph"},"zIndex":999,"width":206,"height":36,"style":{},"positionAbsolute":{"x":45.96613375286927,"y":3348.3314038676613},"dragging":false,"selectable":true,"focusable":true},{"id":"wXRDsNGFckXV_CSiit5sN","type":"topic","position":{"x":41.96613375286927,"y":3435.2725756087743},"selected":true,"data":{"label":"Backup and Recovery","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"8lyXDuZJ-KHl4v2_8Ew1h"},"zIndex":999,"width":214,"height":49,"style":{},"positionAbsolute":{"x":41.96613375286927,"y":3435.2725756087743},"dragging":false,"selectable":true,"focusable":true},{"id":"-gCy7Uj64KQJ39IYb_Vph","type":"label","position":{"x":65.370749690558,"y":3489.2725756087743},"selected":true,"data":{"label":"RDB and AOF Files","href":"","color":"#000000","style":{"fontSize":17}},"zIndex":999,"width":164,"height":36,"style":{},"positionAbsolute":{"x":65.370749690558,"y":3489.2725756087743},"dragging":false,"selectable":true,"focusable":true},{"id":"Cb-KazR4PuR86VX5oT0zi","type":"topic","position":{"x":-401.8779496312137,"y":3434.2725756087743},"selected":true,"data":{"label":"Upgrading Redis","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"8lyXDuZJ-KHl4v2_8Ew1h"},"zIndex":999,"width":194,"height":50,"style":{"width":194,"height":50},"positionAbsolute":{"x":-401.8779496312137,"y":3434.2725756087743},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"VgqFVVf1rYiSbYLeUO6KL","type":"label","position":{"x":-398.3779496312137,"y":3488.032210578755},"selected":true,"data":{"label":"Minimizing Downtimes","href":"","color":"#000000","style":{"fontSize":17}},"zIndex":999,"width":187,"height":36,"style":{},"positionAbsolute":{"x":-398.3779496312137,"y":3488.032210578755},"dragging":false,"selectable":true,"focusable":true},{"id":"nUIfTkgm3PlSiqgun1BS7","type":"topic","position":{"x":-727.9644850173872,"y":3435.2725756087743},"selected":true,"data":{"label":"Disaster Recovery","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"8lyXDuZJ-KHl4v2_8Ew1h"},"zIndex":999,"width":194,"height":50,"style":{"width":194,"height":50},"positionAbsolute":{"x":-727.9644850173872,"y":3435.2725756087743},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"8lyXDuZJ-KHl4v2_8Ew1h","type":"topic","position":{"x":-727.9644850173872,"y":3552.753447069508},"selected":true,"data":{"label":"Redis Enterprise","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":194,"height":50,"style":{"width":194,"height":50},"positionAbsolute":{"x":-727.9644850173872,"y":3552.753447069508},"dragging":false,"selectable":true,"focusable":true,"resizing":false},{"id":"RwGWF4dtvfhcORWz7lisg","type":"label","position":{"x":-715.4644850173872,"y":3813.6036656653055},"selected":true,"data":{"label":"Enterprise Features","href":"","color":"#000000","style":{"fontSize":17}},"zIndex":999,"width":169,"height":36,"style":{},"dragging":false,"positionAbsolute":{"x":-715.4644850173872,"y":3813.6036656653055},"selectable":true,"focusable":true},{"id":"cybF72wlJyJbHLUjitLvn","type":"subtopic","position":{"x":-765.4644850173872,"y":3647.6036656653055},"selected":true,"data":{"label":"Active-Active geo Distribution","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"ujs77bV8g8-FOm5hBtZFd"},"zIndex":999,"width":269,"height":49,"style":{"width":269,"height":49},"positionAbsolute":{"x":-765.4644850173872,"y":3647.6036656653055},"dragging":false,"selectable":true,"focusable":true},{"id":"sWOFnbh2EyaHRzquz1UeF","type":"subtopic","position":{"x":-765.4644850173872,"y":3700.6036656653055},"selected":true,"data":{"label":"Redis on Flash","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"ujs77bV8g8-FOm5hBtZFd"},"zIndex":999,"width":269,"height":49,"style":{"width":269,"height":49},"positionAbsolute":{"x":-765.4644850173872,"y":3700.6036656653055},"dragging":false,"selectable":true,"focusable":true},{"id":"ujs77bV8g8-FOm5hBtZFd","type":"subtopic","position":{"x":-765.4644850173872,"y":3753.6036656653055},"selected":true,"data":{"label":"Security and Compliance","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":269,"height":49,"style":{"width":269,"height":49},"positionAbsolute":{"x":-765.4644850173872,"y":3753.6036656653055},"dragging":false,"selectable":true,"focusable":true},{"id":"JlLwy69eQ1bPHAOOJNqjo","type":"subtopic","position":{"x":-773.4644850173872,"y":3851.6036656653055},"selected":true,"data":{"label":"When to consider enterprise?","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"}},"zIndex":999,"width":285,"height":49,"style":{"width":285,"height":49},"positionAbsolute":{"x":-773.4644850173872,"y":3851.6036656653055},"dragging":false,"selectable":true,"focusable":true},{"width":409,"height":119,"id":"0vLaVNJaJSHZ_bHli6Qzs","type":"paragraph","position":{"x":-342.0466059451501,"y":3709.8659221702487},"selected":true,"data":{"label":"Continue Learning with following relevant tracks","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center","borderColor":"#000000","backgroundColor":"WHITe"},"oldId":"m9eO0jLGuR_9w2JJbe_g2"},"zIndex":999,"positionAbsolute":{"x":-342.0466059451501,"y":3709.8659221702487},"dragging":false,"style":{"width":409,"height":119},"resizing":false,"focusable":true,"selectable":true},{"width":132,"height":49,"id":"OIcmPSbdsuWapb6HZ4BEi","type":"button","position":{"x":-328.0328034608642,"y":3764.0115796033583},"selected":true,"data":{"label":"MongoDB","href":"https://roadmap.sh/mongodb","color":"#FFf","backgroundColor":"#4136D6","style":{"fontSize":17},"borderColor":"#4136D6","oldId":"cmSSwPPiiHwYh9ct14N6A"},"zIndex":999,"dragging":false,"positionAbsolute":{"x":-328.0328034608642,"y":3764.0115796033583},"style":{"width":132,"height":49},"focusable":true,"resizing":false,"selectable":true},{"width":140,"height":49,"id":"qXKNK_IsGS8-JgLK-Q9oU","type":"button","position":{"x":-191.4785882138204,"y":3764.0115796033583},"selected":true,"data":{"label":"PostgreSQL","href":"https://roadmap.sh/postgresql-dba","color":"#FFFFFf","backgroundColor":"#4136D6","style":{"fontSize":17},"borderColor":"#4136D6","oldId":"U309TNZ3yUYyAmP33dOt1"},"zIndex":999,"dragging":false,"positionAbsolute":{"x":-191.4785882138204,"y":3764.0115796033583},"style":{"width":140,"height":49},"focusable":true,"resizing":false,"selectable":true},{"width":20,"height":85,"id":"RLtk1C3gofHnLJ17x3o5b","type":"vertical","position":{"x":-149.11049657354835,"y":3832.8659221702487},"selected":true,"data":{"label":"vertical node","style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2B78E4"},"oldId":"ExXFPDHXtcOMcvZttzxvD"},"zIndex":999,"positionAbsolute":{"x":-149.11049657354835,"y":3832.8659221702487},"dragging":false,"focusable":true,"style":{"width":20,"height":85},"resizing":false,"selectable":true},{"width":100,"height":49,"id":"-sFboM4eFUMVq1tlPl-fV","type":"button","position":{"x":-47.00281520804924,"y":3764.0115796033583},"selected":true,"data":{"label":"SQL","href":"https://roadmap.sh/sql","color":"#FFFFFf","backgroundColor":"#4136D6","style":{"fontSize":17},"borderColor":"#4136D6","oldId":"qXKNK_IsGS8-JgLK-Q9oU"},"zIndex":999,"dragging":false,"positionAbsolute":{"x":-47.00281520804924,"y":3764.0115796033583},"style":{"width":100,"height":49},"focusable":true,"resizing":false,"selectable":true}],"edges":[{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"iogwMmOvub2ZF4zgg6WyF","sourceHandle":"x2","target":"_hYN0gEi9BL24nptEtXWU","targetHandle":"w1","data":{"edgeStyle":"solid"},"id":"XX0I26JoVMVXIe_7bVMix","selected":true,"focusable":true,"selectable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"_hYN0gEi9BL24nptEtXWU","sourceHandle":"z2","target":"idLHBxhvcIqZTqmh_E8Az","targetHandle":"y1","data":{"edgeStyle":"dashed"},"id":"dFn6kGOoJ-0BzJJEb9DSG","selected":true,"focusable":true,"selectable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"_hYN0gEi9BL24nptEtXWU","sourceHandle":"z2","target":"os3Pa6W9SSNEzgmlBbglQ","targetHandle":"y2","data":{"edgeStyle":"dashed"},"id":"arkF7QJJRbCBYWp0crqa2","selected":true,"focusable":true,"selectable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"_hYN0gEi9BL24nptEtXWU","sourceHandle":"z2","target":"3oInpqvTSSC5_K6i7j8N7","targetHandle":"y1","data":{"edgeStyle":"dashed"},"id":"HNVw8OboycWKLEtEbG2bn","selected":true,"focusable":true,"selectable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"_hYN0gEi9BL24nptEtXWU","sourceHandle":"z2","target":"YKhuRbcUFzo0hTvuTq-Yl","targetHandle":"y1","data":{"edgeStyle":"dashed"},"id":"auB7Png72XjmhcLr3IJA7","selected":true,"focusable":true,"selectable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"jZ67HhVRelJaxjsCckSSI","sourceHandle":"x2","target":"hWA7RtuqltMTmHdcCnmES","targetHandle":"y1","data":{"edgeStyle":"solid"},"id":"2aoDIr80lXSJLW1hIGUkb","selected":true,"focusable":true,"selectable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"sourceHandle":"z2","target":"NMznG9mo2wzNFnjhg990f","targetHandle":"y1","data":{"edgeStyle":"dashed"},"id":"m-_y7nLeYFkUKGiacxWA0","selected":true,"focusable":true,"selectable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"sourceHandle":"z2","target":"gc_7cuIO2_joKlQRAPDfX","targetHandle":"y1","data":{"edgeStyle":"dashed"},"id":"G7pXuJfkyt2nWAOHU8yV0","selected":true,"focusable":true,"selectable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"rrrvATyhXqRgJGWI3z0WF","sourceHandle":"x2","target":"AvbMQ5vY3ip1oX_6Yq4ie","targetHandle":"w2","data":{"edgeStyle":"dashed"},"id":"2_6Yz3-Agx9_rEN5xW86c","selected":true,"focusable":true,"selectable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"hWA7RtuqltMTmHdcCnmES","sourceHandle":"w2","target":"1AJv95mTLpR7L8KBoGym8","targetHandle":"x1","data":{"edgeStyle":"dashed"},"id":"kgMI98fg2-mKMgUs0wnjD","selected":true,"focusable":true,"selectable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"hWA7RtuqltMTmHdcCnmES","sourceHandle":"y2","target":"0etAs56EeBfh_0IlAaSra","targetHandle":"w1","data":{"edgeStyle":"solid"},"selected":true,"id":"ts38Q2ceHs60TJscUBZVE","focusable":true,"selectable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"jZ67HhVRelJaxjsCckSSI","sourceHandle":"y2","target":"h6ceO0kiBIxNRkPzN3hBY","targetHandle":"z1","data":{"edgeStyle":"dashed"},"id":"ZiMV7umyPdhy3JJDcopR-","selected":true,"focusable":true,"selectable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"jZ67HhVRelJaxjsCckSSI","sourceHandle":"y2","target":"_JlT9oKQ6Yu4UX6l19G8P","targetHandle":"z2","data":{"edgeStyle":"dashed"},"id":"WI-MhbxrehFcVwyGJ5CQJ","selected":true,"focusable":true,"selectable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"_hYN0gEi9BL24nptEtXWU","sourceHandle":"x2","target":"jZ67HhVRelJaxjsCckSSI","targetHandle":"w1","data":{"edgeStyle":"solid"},"id":"qUrLBzvXvJOg53HBfjrOI","selected":true,"focusable":true,"selectable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"L191VgfCbX3ibSIKySpsN","sourceHandle":"x2","target":"pa2QJLhAv3SPRK_2XcMZx","targetHandle":"w1","data":{"edgeStyle":"solid"},"id":"reactflow__edge-L191VgfCbX3ibSIKySpsNx2-pa2QJLhAv3SPRK_2XcMZxw1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"pa2QJLhAv3SPRK_2XcMZx","sourceHandle":"x2","target":"-3pADOHMDQ0H6ZKNjURyn","targetHandle":"w2","data":{"edgeStyle":"solid"},"id":"reactflow__edge-pa2QJLhAv3SPRK_2XcMZxx2--3pADOHMDQ0H6ZKNjURynw2","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"L191VgfCbX3ibSIKySpsN","sourceHandle":"x2","target":"-3pADOHMDQ0H6ZKNjURyn","targetHandle":"w1","data":{"edgeStyle":"solid"},"id":"reactflow__edge-L191VgfCbX3ibSIKySpsNx2--3pADOHMDQ0H6ZKNjURynw1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"-3pADOHMDQ0H6ZKNjURyn","sourceHandle":"x2","target":"gw04IG5uImCHxcFnOAAwy","targetHandle":"w1","data":{"edgeStyle":"solid"},"id":"reactflow__edge--3pADOHMDQ0H6ZKNjURynx2-gw04IG5uImCHxcFnOAAwyw1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"-3pADOHMDQ0H6ZKNjURyn","sourceHandle":"z2","target":"QXwoHEeisL4d6dpJOwYkU","targetHandle":"y1","data":{"edgeStyle":"dashed"},"id":"reactflow__edge--3pADOHMDQ0H6ZKNjURynz2-QXwoHEeisL4d6dpJOwYkUy1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"gw04IG5uImCHxcFnOAAwy","sourceHandle":"x2","target":"zxoi09oW1HbXNwvc14w9U","targetHandle":"w1","data":{"edgeStyle":"solid"},"id":"reactflow__edge-gw04IG5uImCHxcFnOAAwyx2-zxoi09oW1HbXNwvc14w9Uw1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"80UujPXPhvKIJMSM67pwl","sourceHandle":"x2","target":"GjKw6hbNV57I2sxuLfkQw","targetHandle":"w1","data":{"edgeStyle":"solid"},"id":"reactflow__edge-80UujPXPhvKIJMSM67pwlx2-GjKw6hbNV57I2sxuLfkQww1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"Wl23Jh-ASJOQ850yjaTIU","sourceHandle":"z2","target":"Ljjl_kSEevtaBALxRh2By","targetHandle":"y1","data":{"edgeStyle":"dashed"},"id":"reactflow__edge-Wl23Jh-ASJOQ850yjaTIUz2-Ljjl_kSEevtaBALxRh2Byy1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"4-C4XqACUp4nvcMIj6djF","sourceHandle":"z2","target":"Qgkpr9vf9d6-vUg1o8XFj","targetHandle":"y2","data":{"edgeStyle":"solid"},"selected":true,"type":"simplebezier","id":"reactflow__edge-4-C4XqACUp4nvcMIj6djFz2-wY46Qj5Inw_ClBNI9PB_2y2","selectable":true,"focusable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"Qgkpr9vf9d6-vUg1o8XFj","sourceHandle":"x2","target":"u2TdoI7ILaxYgUUni9W_w","targetHandle":"w1","data":{"edgeStyle":"dashed"},"id":"reactflow__edge-wY46Qj5Inw_ClBNI9PB_2x2-u2TdoI7ILaxYgUUni9W_ww1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"Qgkpr9vf9d6-vUg1o8XFj","sourceHandle":"w2","target":"wY46Qj5Inw_ClBNI9PB_2","targetHandle":"y1","data":{"edgeStyle":"solid"},"id":"reactflow__edge-Qgkpr9vf9d6-vUg1o8XFjw2-wY46Qj5Inw_ClBNI9PB_2y1","selected":true,"type":"simplebezier","selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"wY46Qj5Inw_ClBNI9PB_2","sourceHandle":"x2","target":"QTbkWZ7BpqYmBhUivccPu","targetHandle":"w2","data":{"edgeStyle":"solid"},"id":"reactflow__edge-wY46Qj5Inw_ClBNI9PB_2x2-QTbkWZ7BpqYmBhUivccPuw2","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"QTbkWZ7BpqYmBhUivccPu","sourceHandle":"x2","target":"8gyVwKg3Ctt2w15X7xZgC","targetHandle":"w1","data":{"edgeStyle":"solid"},"id":"reactflow__edge-QTbkWZ7BpqYmBhUivccPux2-8gyVwKg3Ctt2w15X7xZgCw1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"8gyVwKg3Ctt2w15X7xZgC","sourceHandle":"x2","target":"Kjkc8rNezN_LBD5WMrBbE","targetHandle":"w1","data":{"edgeStyle":"solid"},"id":"reactflow__edge-8gyVwKg3Ctt2w15X7xZgCx2-Kjkc8rNezN_LBD5WMrBbEw1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"Kjkc8rNezN_LBD5WMrBbE","sourceHandle":"z2","target":"jrgaoDnt_RxTu79hk4hCD","targetHandle":"y2","data":{"edgeStyle":"solid"},"id":"reactflow__edge-Kjkc8rNezN_LBD5WMrBbEz2-jrgaoDnt_RxTu79hk4hCDy2","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"jrgaoDnt_RxTu79hk4hCD","sourceHandle":"x2","target":"LHlwjN3WHYUBUafzzwsWQ","targetHandle":"w1","data":{"edgeStyle":"solid"},"id":"reactflow__edge-jrgaoDnt_RxTu79hk4hCDx2-LHlwjN3WHYUBUafzzwsWQw1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"LHlwjN3WHYUBUafzzwsWQ","sourceHandle":"x2","target":"7JzeyTrkZ_1_yxMVrqvZU","targetHandle":"w2","data":{"edgeStyle":"solid"},"id":"reactflow__edge-LHlwjN3WHYUBUafzzwsWQx2-7JzeyTrkZ_1_yxMVrqvZUw2","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"7JzeyTrkZ_1_yxMVrqvZU","sourceHandle":"y2","target":"45ihdIfRW-jI38h-s4Vdc","targetHandle":"z1","data":{"edgeStyle":"solid"},"id":"reactflow__edge-7JzeyTrkZ_1_yxMVrqvZUy2-45ihdIfRW-jI38h-s4Vdcz1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"45ihdIfRW-jI38h-s4Vdc","sourceHandle":"y2","target":"0Q3AkE8leWAyYsww3-BHX","targetHandle":"z1","data":{"edgeStyle":"solid"},"id":"reactflow__edge-45ihdIfRW-jI38h-s4Vdcy2-cszjT3YK8oyhGpqLTQzwXz1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"0Q3AkE8leWAyYsww3-BHX","sourceHandle":"y2","target":"CxiHaw63xmItCGdhpcsiz","targetHandle":"z1","data":{"edgeStyle":"dashed"},"id":"reactflow__edge-cszjT3YK8oyhGpqLTQzwXy2-CxiHaw63xmItCGdhpcsizz1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"0Q3AkE8leWAyYsww3-BHX","sourceHandle":"x2","target":"cszjT3YK8oyhGpqLTQzwX","targetHandle":"w1","data":{"edgeStyle":"solid"},"id":"reactflow__edge-0Q3AkE8leWAyYsww3-BHXx2-cszjT3YK8oyhGpqLTQzwXw1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"ifAV_64bREZrJkxFnf7Cy","sourceHandle":"z2","target":"cszjT3YK8oyhGpqLTQzwX","targetHandle":"y1","data":{"edgeStyle":"dashed"},"id":"reactflow__edge-ifAV_64bREZrJkxFnf7Cyz2-cszjT3YK8oyhGpqLTQzwXy1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"cszjT3YK8oyhGpqLTQzwX","sourceHandle":"x2","target":"zXs_9n2yEb_eVi0WuOQKH","targetHandle":"y1","data":{"edgeStyle":"solid"},"id":"reactflow__edge-cszjT3YK8oyhGpqLTQzwXx2-zXs_9n2yEb_eVi0WuOQKHy1","selected":true,"type":"step","selectable":true,"focusable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"zXs_9n2yEb_eVi0WuOQKH","sourceHandle":"w2","target":"S16vO5EHvxaylsnFzs4Kx","targetHandle":"x1","data":{"edgeStyle":"dashed"},"id":"reactflow__edge-zXs_9n2yEb_eVi0WuOQKHw2-S16vO5EHvxaylsnFzs4Kxx1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"zXs_9n2yEb_eVi0WuOQKH","sourceHandle":"z2","target":"_NiUdVQ85qnvryI38k_vQ","targetHandle":"y1","data":{"edgeStyle":"solid"},"id":"reactflow__edge-zXs_9n2yEb_eVi0WuOQKHz2-9W_jaK1DSEZHRKdPcUM7hy1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"_NiUdVQ85qnvryI38k_vQ","sourceHandle":"w2","target":"4fIp9_ii_gYgEMFFk__BG","targetHandle":"x1","data":{"edgeStyle":"dashed"},"id":"reactflow__edge-9W_jaK1DSEZHRKdPcUM7hw2-4fIp9_ii_gYgEMFFk__BGx1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"_NiUdVQ85qnvryI38k_vQ","sourceHandle":"x2","target":"9W_jaK1DSEZHRKdPcUM7h","targetHandle":"w2","data":{"edgeStyle":"solid"},"id":"reactflow__edge-_NiUdVQ85qnvryI38k_vQx2-9W_jaK1DSEZHRKdPcUM7hw2","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"9W_jaK1DSEZHRKdPcUM7h","sourceHandle":"x2","target":"VJosvi5KwlePkGxBzmxSH","targetHandle":"w1","data":{"edgeStyle":"dashed"},"id":"reactflow__edge-9W_jaK1DSEZHRKdPcUM7hx2-VJosvi5KwlePkGxBzmxSHw1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"9W_jaK1DSEZHRKdPcUM7h","sourceHandle":"y2","target":"YHbWlKrQqptUDbaQVy0_A","targetHandle":"z1","data":{"edgeStyle":"solid"},"id":"reactflow__edge-9W_jaK1DSEZHRKdPcUM7hy2-YHbWlKrQqptUDbaQVy0_Az1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"YHbWlKrQqptUDbaQVy0_A","sourceHandle":"x2","target":"Mpt_WSLngBqt131nAm3Ns","targetHandle":"w1","data":{"edgeStyle":"dashed"},"id":"reactflow__edge-YHbWlKrQqptUDbaQVy0_Ax2-Mpt_WSLngBqt131nAm3Nsw1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"YHbWlKrQqptUDbaQVy0_A","sourceHandle":"y2","target":"Veb30QrPYNjUn13dtGbUr","targetHandle":"z2","data":{"edgeStyle":"solid"},"id":"reactflow__edge-YHbWlKrQqptUDbaQVy0_Ay2-Veb30QrPYNjUn13dtGbUrz2","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"Veb30QrPYNjUn13dtGbUr","sourceHandle":"x2","target":"PXWvq1ezVBU5UJVN887Es","targetHandle":"w2","data":{"edgeStyle":"dashed"},"id":"reactflow__edge-Veb30QrPYNjUn13dtGbUrx2-PXWvq1ezVBU5UJVN887Esw2","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"Veb30QrPYNjUn13dtGbUr","sourceHandle":"y2","target":"bQaek7f3dAaZfSUhwovm1","targetHandle":"w1","data":{"edgeStyle":"solid"},"id":"reactflow__edge-Veb30QrPYNjUn13dtGbUry2-bQaek7f3dAaZfSUhwovm1w1","selected":true,"type":"smoothstep","selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"bQaek7f3dAaZfSUhwovm1","sourceHandle":"z2","target":"uvwbpHaA6rH6YrHuEdBxh","targetHandle":"w1","data":{"edgeStyle":"solid"},"selected":true,"type":"smoothstep","selectable":true,"focusable":true,"id":"reactflow__edge-bQaek7f3dAaZfSUhwovm1z2-uvwbpHaA6rH6YrHuEdBxhw1"},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"uvwbpHaA6rH6YrHuEdBxh","sourceHandle":"x2","target":"rSD8nJ-uNpHJVe5Hn66h7","targetHandle":"w1","data":{"edgeStyle":"solid"},"id":"reactflow__edge-uvwbpHaA6rH6YrHuEdBxhx2-rSD8nJ-uNpHJVe5Hn66h7w1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"AQiCcHS6dBAAAPloxiXub","sourceHandle":"z2","target":"zmVjMf9wNHARBS_mBY4lY","targetHandle":"y1","data":{"edgeStyle":"solid"},"id":"reactflow__edge-AQiCcHS6dBAAAPloxiXubz2-zmVjMf9wNHARBS_mBY4lYy1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"zmVjMf9wNHARBS_mBY4lY","sourceHandle":"w2","target":"gdiWwTQg6A-BFHdQBmgmH","targetHandle":"x1","data":{"edgeStyle":"solid"},"id":"reactflow__edge-zmVjMf9wNHARBS_mBY4lYw2-gdiWwTQg6A-BFHdQBmgmHx1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"Qy42paiTUsO8HIwbWTMui","sourceHandle":"z2","target":"k9HeweEN4enuboEppbJiP","targetHandle":"w1","data":{"edgeStyle":"solid"},"selected":true,"id":"reactflow__edge-Qy42paiTUsO8HIwbWTMuiz2-k9HeweEN4enuboEppbJiPw1","type":"smoothstep","selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"k9HeweEN4enuboEppbJiP","sourceHandle":"x2","target":"7ETrwXaK2xR1AoS7tTyzW","targetHandle":"w2","data":{"edgeStyle":"solid"},"id":"reactflow__edge-k9HeweEN4enuboEppbJiPx2-7ETrwXaK2xR1AoS7tTyzWw2","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"hLIT00Iz7rV56ZBIUhWYn","sourceHandle":"w2","target":"jicsfYw56VrbRUt7M8c85","targetHandle":"x2","data":{"edgeStyle":"dashed"},"id":"reactflow__edge-hLIT00Iz7rV56ZBIUhWYnw2-jicsfYw56VrbRUt7M8c85x2","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"hLIT00Iz7rV56ZBIUhWYn","sourceHandle":"x2","target":"vWOOOTjEx8Ycz1NA0xZad","targetHandle":"w1","data":{"edgeStyle":"solid"},"id":"reactflow__edge-hLIT00Iz7rV56ZBIUhWYnx2-vWOOOTjEx8Ycz1NA0xZadw1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"vWOOOTjEx8Ycz1NA0xZad","sourceHandle":"z2","target":"giyKPtQ-pziA064P8OQD-","targetHandle":"y1","data":{"edgeStyle":"solid"},"id":"reactflow__edge-vWOOOTjEx8Ycz1NA0xZadz2-giyKPtQ-pziA064P8OQD-y1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"GPsf1hc9hXNKgutGCribk","sourceHandle":"x2","target":"wXRDsNGFckXV_CSiit5sN","targetHandle":"w2","data":{"edgeStyle":"solid"},"id":"reactflow__edge--gCy7Uj64KQJ39IYb_Vphx2-8lyXDuZJ-KHl4v2_8Ew1hw2","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"wXRDsNGFckXV_CSiit5sN","sourceHandle":"y2","target":"Cb-KazR4PuR86VX5oT0zi","targetHandle":"z1","data":{"edgeStyle":"solid"},"id":"reactflow__edge-wXRDsNGFckXV_CSiit5sNy2-8lyXDuZJ-KHl4v2_8Ew1hz1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"Cb-KazR4PuR86VX5oT0zi","sourceHandle":"y2","target":"nUIfTkgm3PlSiqgun1BS7","targetHandle":"z2","data":{"edgeStyle":"solid"},"id":"reactflow__edge-Cb-KazR4PuR86VX5oT0ziy2-nUIfTkgm3PlSiqgun1BS7z2","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"nUIfTkgm3PlSiqgun1BS7","sourceHandle":"x2","target":"8lyXDuZJ-KHl4v2_8Ew1h","targetHandle":"w2","data":{"edgeStyle":"solid"},"id":"reactflow__edge-nUIfTkgm3PlSiqgun1BS7x2-8lyXDuZJ-KHl4v2_8Ew1hw2","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"KMA7NkxFbPoUDtFnGBFnj","sourceHandle":"x2","target":"0vLaVNJaJSHZ_bHli6Qzs","targetHandle":"w1","data":{"edgeStyle":"solid"},"id":"reactflow__edge-KMA7NkxFbPoUDtFnGBFnjx2-0vLaVNJaJSHZ_bHli6Qzsw1","selected":true,"type":"simplebezier","focusable":true,"selectable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"8lyXDuZJ-KHl4v2_8Ew1h","sourceHandle":"x2","target":"H3njQtlasgGo0-IFiFZqL","targetHandle":"w1","data":{"edgeStyle":"dashed"},"id":"reactflow__edge-8lyXDuZJ-KHl4v2_8Ew1hx2-H3njQtlasgGo0-IFiFZqLw1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"8lyXDuZJ-KHl4v2_8Ew1h","sourceHandle":"z2","target":"0vLaVNJaJSHZ_bHli6Qzs","targetHandle":"w1","data":{"edgeStyle":"solid"},"selected":true,"selectable":true,"focusable":true,"id":"reactflow__edge-8lyXDuZJ-KHl4v2_8Ew1hz2-0vLaVNJaJSHZ_bHli6Qzsw1","type":"smoothstep"}]} \ No newline at end of file