我有一张桌子需要在我的应用程序中进行一些收费。我正在尝试将此表加载到 JSON 结构中并将其用作缓存。这是我的方法:
桌子:
CREATE TABLE `lwratecarddefinition` (
`RATECARDID` int(10) DEFAULT NULL AUTO_INCREMENT,
`RATECARDGROUPID` int(10) DEFAULT NULL,
`SERVICEID` varchar(10) DEFAULT NULL,
`USAGETYPEID` varchar(10) DEFAULT NULL,
`CURRENCYCODE` varchar(4) DEFAULT NULL,
`LEDGERID` varchar(15) DEFAULT NULL,
`PULSE` varchar(10) DEFAULT NULL,
`SPECIALPULSE` varchar(10) DEFAULT NULL,
`NORMALRATE` varchar(10) DEFAULT NULL,
`OFFPEAKSET` varchar(2) DEFAULT NULL,
`OFFPEAKRATE` varchar(10) DEFAULT NULL,
`PEAKRATE` varchar(10) DEFAULT NULL,
`ONDEMANDSET` varchar(2) DEFAULT NULL,
`ONDEMANDRATE` varchar(2) DEFAULT NULL,
KEY `idx_lwratecarddefinition_RATECARDID` (`RATECARDID`),
KEY `idx_lwratecarddefinition_RATECARDGROUPID` (`RATECARDGROUPID`),
KEY `idx_lwratecarddefinition_USAGETYPEID` (`USAGETYPEID`),
KEY `idx_lwratecarddefinition_SERVICEID` (`SERVICEID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
main.go 代码片段 - (我的目标是每 1 分钟使用 go 例程获取记录)
// load the ratecard first
lwratecardefinition = getRatecard()
// update data every 1 second
go func() {
for {
time.Sleep(time.Second)
lwratecardefinition = getRatecard()
fmt.Println(lwratecardefinition)
}
}()
dbfunction.go
package main
import (
"database/sql"
_ "github.com/go-sql-driver/mysql"
)
type Lwratecardefinition struct {
Ratecardid int `json:"ratecardid"`
Ratecardgroupid int `json:"ratecardgroupid"`
Serviceid int `json:"serviceid"`
Usagetypeid int `json:"usagetypeid"`
Currencycode int `json:"currencycode"`
Ledgerid string `json:"ledgerid"`
}
return lwratecardefinition
}
但是当我执行程序时,我只从 mysql 表中获取一行而不是所有行。我需要所有行将其用作缓存。输出:
{4 508 1 201 1 DATA 60 30 2 1 3 1 1 5}
我的最终目标也是使用这些值来查找速率和脉冲。如果 Ratecardgroupid = X 值和 Serviceid = Y 值,我想使用同一行的脉冲值。请提出这里有什么问题以及该方法是否可以减少数据库调用以及逻辑。
30秒到达战场
相关分类