Skip to content
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

[RFC] Caching Layer #17

Open
6 tasks
slogsdon opened this issue Feb 6, 2014 · 1 comment
Open
6 tasks

[RFC] Caching Layer #17

slogsdon opened this issue Feb 6, 2014 · 1 comment

Comments

@slogsdon
Copy link
Member

slogsdon commented Feb 6, 2014

  • Application Data
  • Compiled HTML
  • Adapters
    • ets
    • redis
    • memcached
@ghost ghost assigned slogsdon Feb 6, 2014
@slogsdon slogsdon added the plug label Feb 10, 2014
@slogsdon slogsdon removed the v0.3.0 label May 22, 2014
@slogsdon slogsdon changed the title Caching Caching Layer Dec 17, 2014
@slogsdon
Copy link
Member Author

I see two options for this, which may or may not overlap.

Plugs

A plug-based solution where the plug is responsible for putting and deleting objects to a data store. It discovers updates to the store via an intermediate, private collection within conn.private. Controller actions must front most of the work in terms of managing the intermediate collection by modifying the connection or pass off the connection to the data layer (which would then have to know about and modify the connection).

I'm not too fond of requiring the data layer to reason about modifying connections. Seems unnecessarily cluttered.

Separate Caching Layer

A caching layer built upon a new process tree (to be supervised by the main application supervisor). The "master" pid/something would need to be tracked in order to access the rest of the (supposed) caching system. Cache interaction could occur anywhere that it is deemed necessary without intertwining separate layers of the application. As an example, the data layer would not need to know about connections with this, whether a controller action decides to interact with the cache or not.

Keeping a separate process tree from the rest of Sugar may offer the cleanest API by trading off some complexity/architecture.

@slogsdon slogsdon removed the plug label Dec 17, 2014
@slogsdon slogsdon removed this from the v0.3.0 milestone Dec 17, 2014
@slogsdon slogsdon removed their assignment Dec 17, 2014
@slogsdon slogsdon changed the title Caching Layer [RFC] Caching Layer Dec 17, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant