FurqanSoftware / Too

Licence: bsd-3-clause
Simple recommendation engine implementation built on top of Redis

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Too

Springboot Demo
springboot学习
Stars: ✭ 100 (-3.85%)
Mutual labels:  redis
Production Ready Expressjs Server
Express.js server that implements production-ready error handling and logging following latest best practices.
Stars: ✭ 101 (-2.88%)
Mutual labels:  redis
Emkc
Engineer Man Knowledge Center
Stars: ✭ 104 (+0%)
Mutual labels:  redis
Perl Redis
Perl binding for Redis database
Stars: ✭ 100 (-3.85%)
Mutual labels:  redis
Simple recommender
A simple recommendation engine for Rails/Postgres
Stars: ✭ 101 (-2.88%)
Mutual labels:  recommendation-engine
Ohm
Object-Hash Mapping for Redis
Stars: ✭ 1,386 (+1232.69%)
Mutual labels:  redis
Vue Family Bucket Ssr Koa2 Full Stack Development From Meituan
🚀🚀2020最新Vue全家桶+SSR+Koa2全栈开发☁
Stars: ✭ 100 (-3.85%)
Mutual labels:  redis
Redisql
Redis module that provides a completely functional SQL database
Stars: ✭ 1,393 (+1239.42%)
Mutual labels:  redis
Bojack
🐴 The unreliable key-value store
Stars: ✭ 101 (-2.88%)
Mutual labels:  redis
Whatsmars
Java生态研究(Spring Boot + Redis + Dubbo + RocketMQ + Elasticsearch)🔥🔥🔥🔥🔥
Stars: ✭ 1,389 (+1235.58%)
Mutual labels:  redis
Fastapi cache
FastAPI simple cache
Stars: ✭ 96 (-7.69%)
Mutual labels:  redis
Redis Cui
Simple, visual command line tool for redis
Stars: ✭ 101 (-2.88%)
Mutual labels:  redis
Seckill
Spring Boot+MySQL+Redis+RabbitMQ的高性能高并发商品秒杀系统设计与优化
Stars: ✭ 103 (-0.96%)
Mutual labels:  redis
Foundatio
Pluggable foundation blocks for building distributed apps.
Stars: ✭ 1,365 (+1212.5%)
Mutual labels:  redis
Spring Boot 2.x Examples
Spring Boot 2.x code examples
Stars: ✭ 104 (+0%)
Mutual labels:  redis
Springboot Templates
springboot和dubbo、netty的集成,redis mongodb的nosql模板, kafka rocketmq rabbit的MQ模板, solr solrcloud elasticsearch查询引擎
Stars: ✭ 100 (-3.85%)
Mutual labels:  redis
Docker Laravel
🐳 Docker Images for Laravel development
Stars: ✭ 101 (-2.88%)
Mutual labels:  redis
Redislock
Node distributed locking using redis
Stars: ✭ 104 (+0%)
Mutual labels:  redis
Actix Redis
Redis actor and middleware for Actix
Stars: ✭ 104 (+0%)
Mutual labels:  redis
Pythonstudy
Python related technologies used in work: crawler, data analysis, timing tasks, RPC, page parsing, decorator, built-in functions, Python objects, multi-threading, multi-process, asynchronous, redis, mongodb, mysql, openstack, etc.
Stars: ✭ 103 (-0.96%)
Mutual labels:  redis

Too

Build Status

Too is a simple recommendation engine built on top of Redis in Go.

Installation

Install Too using the go get command:

$ go get github.com/hjr265/too

The only dependencies are Go distribution and Redis.

Usage

te, err := too.New("redis://localhost", "movies")
if err != nil {
	log.Fatal(err)
}

te.Likes.Add("Sonic", "The Shawshank Redemption")
te.Likes.Add("Sonic", "The Godfather")
te.Likes.Add("Sonic", "The Dark Knight")
te.Likes.Add("Sonic", "Pulp Fiction")

te.Likes.Add("Mario", "The Godfather")
te.Likes.Add("Mario", "The Dark Knight")
te.Likes.Add("Mario", "The Shawshank Redemption")
te.Likes.Add("Mario", "The Prestige")
te.Likes.Add("Mario", "The Matrix")

te.Likes.Add("Peach", "The Godfather")
te.Likes.Add("Peach", "Inception")
te.Likes.Add("Peach", "Fight Club")
te.Likes.Add("Peach", "WALL·E")
te.Likes.Add("Peach", "Princess Mononoke")

te.Likes.Add("Luigi", "The Prestige")
te.Likes.Add("Luigi", "The Dark Knight")

items, _ := te.Suggestions.For("Luigi", 2)
for _, item := range items {
	fmt.Println(item)
}

// Output:
// The Shawshank Redemption
// The Matrix

Batch Operations

te, err := too.New("redis://localhost", "movies")
if err != nil {
	log.Fatal(err)
}

te.Likes.Batch([]too.BatchRaterOp{
  {
    User: "Sonic",
    Items: []too.Item{
      "The Shawshank Redemption",
      "The Godfather",
      "The Dark Knight",
      "Pulp Fiction",
    },
  },
  {
    User: "Mario",
    Items: []too.Item{
      "The Godfather",
      "The Dark Knight",
      "The Shawshank Redemption",
      "The Prestige",
      "The Matrix",
    },
  },
  {
    User: "Peach",
    Items: []too.Item{
      "The Godfather",
      "Inception",
      "Fight Club",
      "WALL·E",
      "Princess Mononoke",
    },
  },
}, true) // The last command is about auto update the similars and Suggestions table

Documentation

Contributing

Contributions are welcome.

License

Too is available under the BSD (3-Clause) License.

Inspiration

This project is inspired by the very existence of the awesome project Recommendable.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].