Comments (7)
Setting allkeys-lru or expiration times on top-level Redis keys could lead to inconsistency.
from datasketch.
This is not possible with the current implementation. In general, this would be challenging because it is not possible to set expiry on Redis hash child keys (according to SO at least - https://stackoverflow.com/questions/16545321/how-to-expire-the-hset-child-key-in-redis).
Check out https://github.com/ekzhu/datasketch/blob/master/datasketch/storage.py#L360 to see where the problems lie.
from datasketch.
@ae-foster Thanks for the information.
By inconsistencies in setting an allkeys-lru, do you mean that we would lose the hashes present in the top level Redis key? Or would end up with any other issues?
I am trying to keep my system resilient in case we do end up hitting max memory limits. I am not too concerned if we lose hashes we are trying to find similar matches with, in case we run into such an issue. But of course, I would definitely be concerned if the system itself stops running properly.
from datasketch.
Some of the values in Redis are other Redis keys. You could end up with a case where you look up the contents of a key (having read it as a value, e.g. by SMEMBERS
), and find it (erroneously) empty because that key was deleted. Could cause unexpected behaviour!
from datasketch.
Thanks for the info.
from datasketch.
@SpandanThakur Maybe you can consider using the MongoDB storage @aastafiev is working on at #53? This should be able to utilize disk instead of keeping all data in memory.
from datasketch.
Sure @ekzhu , I will check out the pull.
from datasketch.
Related Issues (20)
- Distributed MinHashLSH HOT 3
- Poor default args in MinHashLSH? HOT 1
- Is is possible to rename already created index? HOT 1
- Add C-minHash variant HOT 11
- Synchronous Mongodb Storage HOT 3
- Merging (Identically Specified) MinHashLSH objects HOT 11
- Impact of MinHashLSH threshold on memory usage HOT 2
- Too large minhashLSH index HOT 10
- Is the bumber of bands correct? HOT 3
- Choice of np.uint64? HOT 11
- def jaccard 's denominator is self not [self union other] . HOT 2
- How to Use MinHash and MinHashLSH to Identify Comprehensive Documents and Partial Matches? HOT 3
- Forever growing index HOT 4
- HNSW: `HNSW.add` will not set the entry point of new levels HOT 2
- Process-safe, no mem bloat, implementation of LSH HOT 1
- Implementing MinHash retrieval from keys for MinHashLSHForest HOT 2
- Cassandra storage not compatible with Python 3.12 HOT 5
- Question: Effects of Bit Truncation on MinhashLSH? HOT 15
- uint64 overflow risk
- Can I specify the query range
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 datasketch.