Skip to content
This repository has been archived by the owner on Jan 27, 2019. It is now read-only.

rodrigues/red

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Red

Hex version Build status Deps Status Inline docs Hex downloads

Store relations between entities using redis.

Example: A follow system

import Red

# @vcr2 -{follow}-> @hex_pm

{:ok, _} =
  "@vcr2"
  |> relation(:follow)
  |> add!("@hex_pm")

"@vcr2" |> relation(:follow) |> Enum.at(0)
> "@hex_pm"

# @vcr2 ===follow===> *
count_following = "@vcr2" |> relation(:follow) |> Enum.count
> 100

# @vcr2 <===follow=== *
count_followers = "@vcr2" |> relation(:follow, :in) |> Enum.count
> 43

# jump 10, next 5
"@vcr2" |> relation(:follow) |> offset(10) |> limit(5) |> Enum.to_list
> []