-
Notifications
You must be signed in to change notification settings - Fork 182
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add a new cache mode 'follow' #291
base: master
Are you sure you want to change the base?
Conversation
Rather than specifying 'true' or 'false' for the 'cache' option, specifying 'follow' will uses a changes feed to track external modification to cached documents. Only documents that have been cached during normal write-through operation will be updated. This is useful if you have a system where multiple clients may write directly to the database without going through a single cache. Note: This could be made more optimal for cases where not all changes in the feed are cached as it pulls the full document content in the change feed. Maybe a mode 'follow-lite' could enable a lightweight change feed followed by additional fetch if it is found that a changed document is cached. If, for a particular app however, changes are likely to occur externally to documents in the cache, the existing 'include_docs' mode is probably OK.
…follow' cache mode.
My personal opinion would be to get rid of the cache altogether. It shouldn't be in the purview of a database access library to cache database operations, and usually these caches have more costs than benefits. Cache will be disabled by default in 1.0.0, but I'd even push for removing the cache feature completely from cradle. I don't know how others feel about this change, though. |
I've had issues with the cache in the past +1 to remove it. |
… of the cache for specific databases.
fb82e09
to
19f7ee4
Compare
cf527ff
to
bfe1c9e
Compare
Rather than specifying 'true' or 'false' for the 'cache' option,
specifying 'follow' will use a changes feed to track external
modification to cached documents. Only documents that have been
cached during normal write-through operation will be updated.
This is useful if you have a system where multiple clients may write
directly to the database without going through a single cache.
Note: This could be made more optimal for cases where not all changes
in the feed are cached as it pulls the full document content in the
change feed. Maybe a mode 'follow-lite' could enable a lightweight
change feed followed by additional fetch if it is found that a changed
document is cached. If, for a particular app however, changes are
likely to occur externally to documents in the cache, the existing
'include_docs' mode is probably OK.