Comments (10)
Perfect. Super simple. Thanks.
from shallows.
Hi! There was a very similar issue: #7
Check it out and ping me if you’ll still have any questions after it!
from shallows.
Ah, okay, didn't see that. Thanks.
So, if I wanted to clear a single item, I'm guessing it might be something like: memoryCache.storage[<myKey>] = nil
Yes?
from shallows.
@jbmaxwell yes, that’s right!
from shallows.
Hmm, has something changed? I can't seem to get .storage
at all... I only see asStorage()
, but that doesn't support subscripting. I'd actually like to add a function to delete items from both disk and memory storage (in a combined disk+memory storage). How would I do that?
from shallows.
storage
exists only for MemoryStorage instances. For DiskStorage, I’m afraid, you’ll need to provide your own solution
from shallows.
Ah, okay. And I suppose a DiskStorage combined with a MemoryStorage is fundamentally a DiskStorage? (Because my combined MemoryStorage also doesn't have .storage
.):
let myMemoryCache = MemoryStorage<Filename, Chord>()
.combined(with: DiskStorage.main.folder("stuff", in: .cachesDirectory).mapJSONObject(Chord.self))
This also doesn't recognize .storage
.
from shallows.
When you perform any kind of transformation (mapping, combining, etc.), the original type information is lost. When you combine MemoryStorage
with DiskStorage
, you get just abstract Storage<Key, Value>
from shallows.
Check #7 for how to deal with this in certain scenarios
from shallows.
Okay, I can see what you're doing in MemoryStorage, but I don't understand exactly how I'd do something similar for DiskStorage (or I suppose, for Storage)—your code is beautiful, but terse.
I'll figure out a workaround... Would it work to just remove the disk item, as in DiskStorage's clear()
function?
UPDATE: Deleting using fileURL()
works for the DiskStorage but, as I expected, the MemoryStorage still has the item... Is there a way to refresh the MemoryStorage, based on the DiskStorage? Or can I get a reference to the MemoryStorage only from a combined Storage? (Wouldn't it be reasonable to have a built-in function to remove items?)
from shallows.
Related Issues (15)
- 3-layer composition? HOT 14
- Memory cache returns nothing HOT 4
- Archiving fails in Swift5 HOT 13
- Xcode 11.4.1, Swift 5.2.2 Abort trap: 6 points to Shallows HOT 1
- How to handle success in StorageProtocol set(value:forKey:completion:) HOT 13
- No mechanism for deleting from disk storage HOT 1
- Base64 encoding isn't great for filenames HOT 2
- Clear object from MemoryStorage? HOT 3
- Cocoapods? HOT 5
- Cache Expiration HOT 5
- Issue with combined cache creation and DiskFolderStorage HOT 2
- Memory limitations and responding to warnings with combined cache? HOT 5
- Clearer Error handling HOT 3
- update(forKey: ) is not thread safe HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from shallows.