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
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
No packages published
Uh oh!
There was an error while loading.Please reload this page.
Contributors9
Uh oh!
There was an error while loading.Please reload this page.