This repository was archived by the owner on Jul 14, 2022. It is now read-only.
- Notifications
You must be signed in to change notification settings - Fork17
write db yaml once, generate go orm code everywhere.
License
NotificationsYou must be signed in to change notification settings
ezbuy/redis-orm
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
redis-orm fly orm up
redis-orm is not maintained anymore , try to use theezorm's mysqlr driver instead.
go get github.com/ezbuy/redis-ormredis-orm code -i example/yaml -o example/model
import"github.com/ezbuy/redis-orm/example/model"// mysqlmodel.MySQLSetup(cf)db:=model.MySQL()// query (ids []string) by unique & index & range definitionsmodel.UserDBMgr(db).FindOne(unique)model.UserDBMgr(db).Find(index)model.UserDBMgr(db).Range(scope)model.UserDBMgr(db).RangeRevert(scope)// search usageblogs,err:=model.BlogDBMgr(db).Search("INNER JOIN users ON blog.user_id = users.user_id WHERE users.mail_box=?","","","foo@bar.com")// fetch objectmodel.UserDBMgr(db).Fetch(pkPrimaryKey) (*User,error)model.UserDBMgr(db).FetchByPrimaryKey(idint32) (*User,error)model.UserDBMgr(db).FetchByPrimaryKeys(ids []int32) ([]*User,error)// redismodel.RedisSetup(cf)redis:=model.Redis()// query (ids []string) by unique & index & range definitionsmodel.UserRedisMgr(redis).FindOne(unique)model.UserRedisMgr(redis).Find(index)model.UserRedisMgr(redis).Range(scope)model.UserRedisMgr(redis).RangeRevert(scope)// fetch objectmodel.UserRedisMgr(redis).Fetch(pkPrimaryKey) (*User,error)model.UserRedisMgr(redis).FetchByPrimaryKeys(pks []PrimaryKey) ([]*User,error)
import"github.com/ezbuy/redis-orm/example/model"// mysqlmodel.MySQLSetup(cf)db:=model.MySQL()tx,err:=db.BeginTx()defertx.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(idstring) (*User,error)model.UserDBMgr(tx).FetchByPrimaryKey(idint32) (*User,error)model.UserDBMgr(tx).FetchByPrimaryKeys(ids []int32) ([]*User,error)// redismodel.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)
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))
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.000sindex.runtime: Fastest Time: 0.000s Slowest Time: 0.000s Average Time: 0.000s ± 0.000srange.runtime: Fastest Time: 0.000s Slowest Time: 0.000s Average Time: 0.000s ± 0.000srange.revert.runtime: Fastest Time: 0.000s Slowest Time: 0.000s Average Time: 0.000s ± 0.000sfetch.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.005sindex.runtime: Fastest Time: 0.002s Slowest Time: 0.106s Average Time: 0.003s ± 0.005srange.runtime: Fastest Time: 0.002s Slowest Time: 0.105s Average Time: 0.002s ± 0.005srange.revert.runtime: Fastest Time: 0.002s Slowest Time: 0.105s Average Time: 0.002s ± 0.006sfetch.runtime: Fastest Time: 0.004s Slowest Time: 0.150s Average Time: 0.006s ± 0.009s
About
write db yaml once, generate go orm code everywhere.
Topics
Resources
License
Stars
Watchers
Forks
Packages0
No packages published