Skip to content

Commit d39bbd8

Browse files
committed
Add eraseUnreferencedEntries in RocksDBCache
1 parent 386b0b0 commit d39bbd8

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

Code/RocksDBCache.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,12 @@ NS_ASSUME_NONNULL_BEGIN
3535
*/
3636
+ (instancetype)LRUCacheWithCapacity:(size_t)capacity numShardsBits:(int)numShardBits;
3737

38+
39+
/**
40+
Removes all unreferenced entries from the cache.
41+
*/
42+
- (void)eraseUnreferencedEntries;
43+
3844
@end
3945

4046
NS_ASSUME_NONNULL_END

Code/RocksDBCache.mm

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
#import "RocksDBCache.h"
1010

1111
#import <rocksdb/cache.h>
12+
#import <rocksdb/advanced_cache.h>
1213

1314
@interface RocksDBCache ()
1415
{
@@ -39,6 +40,15 @@ - (instancetype)initWithNativeCache:(std::shared_ptr<rocksdb::Cache>)cache
3940
return self;
4041
}
4142

43+
- (void)eraseUnreferencedEntries
44+
{
45+
@synchronized(self) {
46+
if (_cache != nullptr) {
47+
_cache->EraseUnRefEntries();
48+
}
49+
}
50+
}
51+
4252
- (void)dealloc
4353
{
4454
@synchronized(self) {

0 commit comments

Comments
 (0)