}
func (a *AssetStore) GetByOrmID(ormID uint64) (*orm.Asset, error) {
+ if v, ok := a.cache.Get(fmtOrmIDKey(ormID)); ok {
+ return v.(*orm.Asset), nil
+ }
+
asset := &orm.Asset{ID: ormID}
if err := a.db.Where(asset).First(asset).Error; err != nil {
return nil, errors.Wrap(err, "asset not found by orm id")
}
+ a.cache.Add(fmtOrmIDKey(asset.ID), asset)
+ a.cache.Add(fmtAssetIDKey(asset.AssetID), asset)
return asset, nil
}
func (a *AssetStore) GetByAssetID(assetID string) (*orm.Asset, error) {
- if v, ok := a.cache.Get(assetID); ok {
+ if v, ok := a.cache.Get(fmtAssetIDKey(assetID)); ok {
return v.(*orm.Asset), nil
}
return nil, errors.Wrap(err, "asset not found in memory and mysql")
}
- a.cache.Add(assetID, asset)
+ a.cache.Add(fmtOrmIDKey(asset.ID), asset)
+ a.cache.Add(fmtAssetIDKey(asset.AssetID), asset)
return asset, nil
}
return err
}
- a.cache.Add(asset.AssetID, asset)
+ a.cache.Add(fmtOrmIDKey(asset.ID), asset)
+ a.cache.Add(fmtAssetIDKey(asset.AssetID), asset)
return nil
}