mirror of
https://github.com/gofiber/storage.git
synced 2025-10-18 22:44:47 +08:00
.
This commit is contained in:
@@ -28,7 +28,12 @@ var ErrNotExist = errors.New("key does not exist")
|
|||||||
var (
|
var (
|
||||||
dropQuery = "DROP TABLE IF EXISTS %s;"
|
dropQuery = "DROP TABLE IF EXISTS %s;"
|
||||||
initQuery = []string{
|
initQuery = []string{
|
||||||
"CREATE TABLE IF NOT EXISTS %s ( `id` VARCHAR(64) NOT NULL DEFAULT '' , `data` TEXT NOT NULL , `exp` BIGINT NOT NULL DEFAULT '0' , PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;",
|
`CREATE TABLE IF NOT EXISTS %s (
|
||||||
|
k VARCHAR(64) NOT NULL DEFAULT '',
|
||||||
|
v TEXT NOT NULL,
|
||||||
|
e BIGINT NOT NULL DEFAULT '0',
|
||||||
|
PRIMARY KEY (k)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;`,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -75,11 +80,11 @@ func New(config ...Config) *Storage {
|
|||||||
store := &Storage{
|
store := &Storage{
|
||||||
gcInterval: cfg.GCInterval,
|
gcInterval: cfg.GCInterval,
|
||||||
db: db,
|
db: db,
|
||||||
sqlSelect: fmt.Sprintf("SELECT data, exp FROM %s WHERE id=?;", cfg.Table),
|
sqlSelect: fmt.Sprintf("SELECT v, e FROM %s WHERE k=?;", cfg.Table),
|
||||||
sqlInsert: fmt.Sprintf("INSERT INTO %s (id, data, exp) VALUES (?,?,?) ON DUPLICATE KEY UPDATE data = ?, exp = ?", cfg.Table),
|
sqlInsert: fmt.Sprintf("INSERT INTO %s (k, v, e) VALUES (?,?,?) ON DUPLICATE KEY UPDATE v = ?, e = ?", cfg.Table),
|
||||||
sqlDelete: fmt.Sprintf("DELETE FROM %s WHERE id=?", cfg.Table),
|
sqlDelete: fmt.Sprintf("DELETE FROM %s WHERE id=?", cfg.Table),
|
||||||
sqlClear: fmt.Sprintf("DELETE FROM %s;", cfg.Table),
|
sqlClear: fmt.Sprintf("DELETE FROM %s;", cfg.Table),
|
||||||
sqlGC: fmt.Sprintf("DELETE FROM %s WHERE exp <= ?", cfg.Table),
|
sqlGC: fmt.Sprintf("DELETE FROM %s WHERE e <= ?", cfg.Table),
|
||||||
}
|
}
|
||||||
|
|
||||||
// Start garbage collector
|
// Start garbage collector
|
||||||
|
@@ -30,11 +30,11 @@ var (
|
|||||||
dropQuery = `DROP TABLE IF EXISTS %s;`
|
dropQuery = `DROP TABLE IF EXISTS %s;`
|
||||||
initQuery = []string{
|
initQuery = []string{
|
||||||
`CREATE TABLE IF NOT EXISTS %s (
|
`CREATE TABLE IF NOT EXISTS %s (
|
||||||
key VARCHAR(64) PRIMARY KEY NOT NULL DEFAULT '',
|
k VARCHAR(64) PRIMARY KEY NOT NULL DEFAULT '',
|
||||||
data TEXT NOT NULL,
|
v TEXT NOT NULL,
|
||||||
exp BIGINT NOT NULL DEFAULT '0'
|
e BIGINT NOT NULL DEFAULT '0'
|
||||||
);`,
|
);`,
|
||||||
`CREATE INDEX IF NOT EXISTS exp ON %s (exp);`,
|
`CREATE INDEX IF NOT EXISTS e ON %s (e);`,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -98,11 +98,11 @@ func New(config ...Config) *Storage {
|
|||||||
store := &Storage{
|
store := &Storage{
|
||||||
db: db,
|
db: db,
|
||||||
gcInterval: cfg.GCInterval,
|
gcInterval: cfg.GCInterval,
|
||||||
sqlSelect: fmt.Sprintf(`SELECT data, exp FROM %s WHERE key=$1;`, cfg.Table),
|
sqlSelect: fmt.Sprintf(`SELECT v, e FROM %s WHERE k=$1;`, cfg.Table),
|
||||||
sqlInsert: fmt.Sprintf(`INSERT INTO %s (key, data, exp) VALUES ($1, $2, $3)`, cfg.Table),
|
sqlInsert: fmt.Sprintf(`INSERT INTO %s (k, v, e) VALUES ($1, $2, $3)`, cfg.Table),
|
||||||
sqlDelete: fmt.Sprintf("DELETE FROM %s WHERE key=$1", cfg.Table),
|
sqlDelete: fmt.Sprintf("DELETE FROM %s WHERE k=$1", cfg.Table),
|
||||||
sqlClear: fmt.Sprintf("DELETE FROM %s;", cfg.Table),
|
sqlClear: fmt.Sprintf("DELETE FROM %s;", cfg.Table),
|
||||||
sqlGC: fmt.Sprintf("DELETE FROM %s WHERE exp <= $1", cfg.Table),
|
sqlGC: fmt.Sprintf("DELETE FROM %s WHERE e <= $1", cfg.Table),
|
||||||
}
|
}
|
||||||
|
|
||||||
// Start garbage collector
|
// Start garbage collector
|
||||||
|
@@ -30,11 +30,11 @@ var (
|
|||||||
dropQuery = `DROP TABLE IF EXISTS %s;`
|
dropQuery = `DROP TABLE IF EXISTS %s;`
|
||||||
initQuery = []string{
|
initQuery = []string{
|
||||||
`CREATE TABLE IF NOT EXISTS %s (
|
`CREATE TABLE IF NOT EXISTS %s (
|
||||||
key VARCHAR(64) PRIMARY KEY NOT NULL DEFAULT '',
|
k VARCHAR(64) PRIMARY KEY NOT NULL DEFAULT '',
|
||||||
data TEXT NOT NULL,
|
v TEXT NOT NULL,
|
||||||
exp BIGINT NOT NULL DEFAULT '0'
|
e BIGINT NOT NULL DEFAULT '0'
|
||||||
);`,
|
);`,
|
||||||
`CREATE INDEX IF NOT EXISTS exp ON %s (exp);`,
|
`CREATE INDEX IF NOT EXISTS e ON %s (e);`,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -80,11 +80,11 @@ func New(config ...Config) *Storage {
|
|||||||
store := &Storage{
|
store := &Storage{
|
||||||
db: db,
|
db: db,
|
||||||
gcInterval: cfg.GCInterval,
|
gcInterval: cfg.GCInterval,
|
||||||
sqlSelect: fmt.Sprintf(`SELECT data, exp FROM %s WHERE key=?;`, cfg.Table),
|
sqlSelect: fmt.Sprintf(`SELECT v, e FROM %s WHERE k=?;`, cfg.Table),
|
||||||
sqlInsert: fmt.Sprintf("INSERT OR REPLACE INTO %s (key, data, exp) VALUES (?,?,?)", cfg.Table),
|
sqlInsert: fmt.Sprintf("INSERT OR REPLACE INTO %s (k, v, e) VALUES (?,?,?)", cfg.Table),
|
||||||
sqlDelete: fmt.Sprintf("DELETE FROM %s WHERE key=?", cfg.Table),
|
sqlDelete: fmt.Sprintf("DELETE FROM %s WHERE k=?", cfg.Table),
|
||||||
sqlClear: fmt.Sprintf("DELETE FROM %s;", cfg.Table),
|
sqlClear: fmt.Sprintf("DELETE FROM %s;", cfg.Table),
|
||||||
sqlGC: fmt.Sprintf("DELETE FROM %s WHERE exp <= ?", cfg.Table),
|
sqlGC: fmt.Sprintf("DELETE FROM %s WHERE e <= ?", cfg.Table),
|
||||||
}
|
}
|
||||||
|
|
||||||
// Start garbage collector
|
// Start garbage collector
|
||||||
|
Reference in New Issue
Block a user