File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -20,7 +20,7 @@ type DiskLRU struct {
2020 encoder Encoder
2121
2222 set_stm , get_stm , get_update_expiry_stm ,
23- peek_stm , delete_stm ,
23+ peek_stm , delete_stm , purge_stm ,
2424 clear_stm , cleanup_expires_stm ,
2525 cleanup_lru_stm * sql.Stmt
2626
@@ -43,6 +43,10 @@ func (self *DiskLRU) houseKeeping(ctx context.Context) {
4343 return
4444 }
4545
46+ if self .opts .HouseKeepPeriodSec == 0 {
47+ self .opts .HouseKeepPeriodSec = 60
48+ }
49+
4650 for {
4751 select {
4852 case <- ctx .Done ():
@@ -130,6 +134,11 @@ func (self *DiskLRU) Get(key string) (interface{}, error) {
130134 return self .encoder .Decode (buf )
131135}
132136
137+ func (self * DiskLRU ) Purge () error {
138+ _ , err := self .purge_stm .Exec ()
139+ return err
140+ }
141+
133142type CacheItem struct {
134143 Key string
135144 Value interface {}
@@ -251,6 +260,12 @@ func NewDiskLRU(
251260 return nil , err
252261 }
253262
263+ self .purge_stm , err = handle .Prepare (
264+ `DELETE FROM cache` )
265+ if err != nil {
266+ return nil , err
267+ }
268+
254269 self .clear_stm , err = handle .Prepare (`DELETE FROM cache` )
255270 if err != nil {
256271 return nil , err
You can’t perform that action at this time.
0 commit comments