ezbuy / Redis Orm
Licence: apache-2.0
write db yaml once, generate go orm code everywhere.
Stars: ✭ 66
Programming Languages
go
31211 projects - #10 most used programming language
Projects that are alternatives of or similar to Redis Orm
Dtcqueuebundle
Symfony2/3/4/5 Queue Bundle (for background jobs) supporting Mongo (Doctrine ODM), Mysql (and any Doctrine ORM), RabbitMQ, Beanstalkd, Redis, and ... {write your own}
Stars: ✭ 115 (+74.24%)
Mutual labels: orm, redis
Ymate Platform V2
YMP是一个非常简单、易用的轻量级Java应用开发框架,涵盖AOP、IoC、WebMVC、ORM、Validation、Plugin、Serv、Cache等特性,让开发工作像搭积木一样轻松!
Stars: ✭ 106 (+60.61%)
Mutual labels: orm, redis
Butterfly
🔥 蝴蝶--【简单】【稳定】【好用】的 Python web 框架🦋 除 Python 2.7,无其他依赖; 🦋 butterfly 是一个 RPC 风格 web 框架,同时也是微服务框架,自带消息队列通信机制实现分布式
Stars: ✭ 82 (+24.24%)
Mutual labels: orm, redis
Walrus
Lightweight Python utilities for working with Redis
Stars: ✭ 846 (+1181.82%)
Mutual labels: orm, redis
Summer
这是一个支持分布式和集群的java游戏服务器框架,可用于开发棋牌、回合制等游戏。基于netty实现高性能通讯,支持tcp、http、websocket等协议。支持消息加解密、攻击拦截、黑白名单机制。封装了redis缓存、mysql数据库的连接与使用。轻量级,便于上手。
Stars: ✭ 336 (+409.09%)
Mutual labels: orm, redis
Kev
K.E.V. (Keys, Extras, and Values) is a Python ORM for key-value stores based on Valley. Currently supported backends are Redis, S3, and a S3/Redis hybrid backend. Based on Valley.
Stars: ✭ 95 (+43.94%)
Mutual labels: orm, redis
Framework Learning
计算机学习资料(Java , Jvm , Linux , Mysql , Netty , Redis , Netty , Spring , SpringBoot , Mybatis , Rabbitmq ,计算机网络 , 数据结构与算法 , 设计模式 )Github网页阅读:https://guang19.github.io/framework-learning , Gitee网页版阅读: https://qsjzwithguang19forever.gitee.io/framework-learning
Stars: ✭ 416 (+530.3%)
Mutual labels: orm, redis
Smartsql
SmartSql = MyBatis in C# + .NET Core+ Cache(Memory | Redis) + R/W Splitting + PropertyChangedTrack +Dynamic Repository + InvokeSync + Diagnostics
Stars: ✭ 775 (+1074.24%)
Mutual labels: orm, redis
Treefrog Framework
TreeFrog Framework : High-speed C++ MVC Framework for Web Application
Stars: ✭ 885 (+1240.91%)
Mutual labels: orm, redis
X Springboot
X-SpringBoot是一个轻量级的Java快速开发平台,能快速开发项目并交付【接私活利器】
Stars: ✭ 1,117 (+1592.42%)
Mutual labels: redis
Vuex Orm Examples Nuxt
The example Nuxt application to demonstrate the use case of the Vuex ORM.
Stars: ✭ 63 (-4.55%)
Mutual labels: orm
Zanredisdb
Yet another distributed kvstore support redis data and index. moved to: https://github.com/youzan/ZanRedisDB
Stars: ✭ 64 (-3.03%)
Mutual labels: redis
Micropython Stm Lib
A collection of modules and examples for MicroPython running on an STM32F4DISCOVERY board
Stars: ✭ 64 (-3.03%)
Mutual labels: redis
Goods Seckill
高性能电商秒杀解决方案,redis预减库存,消息队列异步下单,订单防重,订单防刷,秒杀接口地址隐藏,数学公式验证码
Stars: ✭ 61 (-7.58%)
Mutual labels: redis
Video Transcode Queue
A sample video upload platform as a kubernetes cluster (WIP)
Stars: ✭ 66 (+0%)
Mutual labels: redis
redis-orm
redis-orm fly orm up
features
quick start
generate command
$: go get github.com/ezbuy/redis-orm
$: redis-orm code -i example/yaml -o example/model
read access usage
import "github.com/ezbuy/redis-orm/example/model"
# mysql
model.MySQLSetup(cf)
db := model.MySQL()
//! query (ids []string) by unique & index & range definitions
model.UserDBMgr(db).FindOne(unique)
model.UserDBMgr(db).Find(index)
model.UserDBMgr(db).Range(scope)
model.UserDBMgr(db).RangeRevert(scope)
//! search usage
blogs, err := model.BlogDBMgr(db).Search("INNER JOIN users ON blog.user_id = users.user_id WHERE users.mail_box=?", "", "", "[email protected]")
//! fetch object
model.UserDBMgr(db).Fetch(pk PrimaryKey) (*User, error)
model.UserDBMgr(db).FetchByPrimaryKey(id int32) (*User, error)
model.UserDBMgr(db).FetchByPrimaryKeys(ids []int32) ([]*User, error)
# redis
model.RedisSetup(cf)
redis := model.Redis()
//! query (ids []string) by unique & index & range definitions
model.UserRedisMgr(redis).FindOne(unique)
model.UserRedisMgr(redis).Find(index)
model.UserRedisMgr(redis).Range(scope)
model.UserRedisMgr(redis).RangeRevert(scope)
//! fetch object
model.UserRedisMgr(redis).Fetch(pk PrimaryKey) (*User, error)
model.UserRedisMgr(redis).FetchByPrimaryKeys(pks []PrimaryKey) ([]*User, error)
write access usage
import "github.com/ezbuy/redis-orm/example/model"
# mysql
model.MySQLSetup(cf)
db := model.MySQL()
tx, err := db.BeginTx()
defer tx.Close()
model.UserDBMgr(tx).Save(obj)
model.UserDBMgr(tx).Create(obj)
model.UserDBMgr(tx).Update(obj)
model.UserDBMgr(tx).Delete(obj)
model.UserDBMgr(tx).FindOne(unique)
model.UserDBMgr(tx).Find(index)
model.UserDBMgr(tx).Range(scope)
model.UserDBMgr(tx).RangeRevert(scope)
model.UserDBMgr(tx).Fetch(id string) (*User, error)
model.UserDBMgr(tx).FetchByPrimaryKey(id int32) (*User, error)
model.UserDBMgr(tx).FetchByPrimaryKeys(ids []int32) ([]*User, error)
# redis
model.RedisSetup(cf)
redis := model.Redis()
model.UserRedisMgr(redis).Save(obj)
model.UserRedisMgr(redis).Create(obj)
model.UserRedisMgr(redis).Update(obj)
model.UserRedisMgr(redis).Delete(obj)
sync data
import "github.com/ezbuy/redis-orm/example/model"
model.MySQLSetup(cf)
model.RedisSetup(cf)
db := model.MySQL()
redis := model.Redis()
model.UserRedisMgr(redis).Load(model.UserDBMgr(db))
bench redis vs mysql
enviroment:
mysql-server, redis-server, test client all in the same machine (mac air)
redis-orm.redis.bench
Ran 1000 samples:
unique.runtime:
Fastest Time: 0.000s
Slowest Time: 0.001s
Average Time: 0.000s ± 0.000s
index.runtime:
Fastest Time: 0.000s
Slowest Time: 0.000s
Average Time: 0.000s ± 0.000s
range.runtime:
Fastest Time: 0.000s
Slowest Time: 0.000s
Average Time: 0.000s ± 0.000s
range.revert.runtime:
Fastest Time: 0.000s
Slowest Time: 0.000s
Average Time: 0.000s ± 0.000s
fetch.runtime:
Fastest Time: 0.002s
Slowest Time: 0.004s
Average Time: 0.002s ± 0.000s
redis-orm.mysql.bench
Ran 1000 samples:
unique.runtime:
Fastest Time: 0.002s
Slowest Time: 0.106s
Average Time: 0.003s ± 0.005s
index.runtime:
Fastest Time: 0.002s
Slowest Time: 0.106s
Average Time: 0.003s ± 0.005s
range.runtime:
Fastest Time: 0.002s
Slowest Time: 0.105s
Average Time: 0.002s ± 0.005s
range.revert.runtime:
Fastest Time: 0.002s
Slowest Time: 0.105s
Average Time: 0.002s ± 0.006s
fetch.runtime:
Fastest Time: 0.004s
Slowest Time: 0.150s
Average Time: 0.006s ± 0.009s
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].