<div>
There is a redis backend available for the matchmaker (rpc.matchmaker_redis)
</div><div><br></div><div>I was going to implement a memcache based backend, but abstracting it further is even better.</div><div><br></div><div>The service group and matchmaker drivers for memcache and redis do use expiring keys, so this is something that will be needed.</div><div><br></div><div><div>Regards,</div><div>Eric Windisch</div><div><br></div></div>
<p style="color: #A0A0A8;">On Wednesday, May 8, 2013 at 18:37 PM, Flavio Percoco wrote:</p>
<blockquote type="cite" style="border-left-style:solid;border-width:1px;margin-left:0px;padding-left:10px;">
<span><div><div><div>Greetings,</div><div><br></div><div>Today, I started working on a common, multi-backend cache library that</div><div>will, hopefully, be incubated in oslo[0] during havana. As part of the</div><div>design / draft phase, I put together some code and pushed it on my GH</div><div>account[1]. Now, I'm at the point that I would love to get some</div><div>feedback from the community so we can agree on the API and what's best</div><div>for it.</div><div><br></div><div>A few words about it:</div><div><br></div><div>It's inspired in both django's cache and oslo's memorycache modules</div><div>and implements the basic and expected (?) methods. It uses stevedore</div><div>for loading the different back-ends (inspired in the on-going</div><div>messaging re-factor branch).</div><div><br></div><div>There's not so much code but it already works. Implemented methods</div><div>are:</div><div><br></div><div>- set(sets a key)</div><div>- unset (un-sets a key)</div><div>- add (sets a key if it doesn't exists)</div><div>- incr (increments a key value, used for integer values)</div><div>- append (appends value to a key, some back-ends support this)</div><div><br></div><div>Target back-ends for the first release are:</div><div><br></div><div>- memory (stole, I mean, implemented)</div><div>- memcached</div><div>- redis</div><div>- file (?)</div><div><br></div><div>This is pretty much it. Any feedback, suggestion, use-case, code to</div><div>steal is very welcome.</div><div><br></div><div>Cheers,</div><div>FF</div><div><br></div><div>[0]</div><div><a href="https://blueprints.launchpad.net/oslo/+spec/cache-backend-abstraction">https://blueprints.launchpad.net/oslo/+spec/cache-backend-abstraction</a></div><div><br></div><div>[1]</div><div><a href="https://github.com/FlaPer87/oslo-incubator/tree/cache/openstack/common/cache">https://github.com/FlaPer87/oslo-incubator/tree/cache/openstack/common/cache</a></div><div><br></div><div>-- </div><div>{ name: "Flavio Percoco",</div><div> gpg: "87112EC1", </div><div> internal: "8261386",</div><div> phone: "+390687502386",</div><div> irc: ["fpercoco", "flaper87"]}</div><div><br></div><div>_______________________________________________</div><div>OpenStack-dev mailing list</div><div><a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a></div><div><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a></div></div></div></span>
</blockquote>
<div>
<br>
</div>