fujitsu-pio / io

This repository is not updating now but hosted for archiving older versions than 1.4.1. Latest version is in "personium-core" .
https://github.com/personium
Apache License 2.0
29 stars 13 forks source link

Lock implementation using Redis #14

Open shimono opened 8 years ago

shimono commented 8 years ago

Problems

Currently, there are two implementations using namely, memcache interface and inProcess. Both have the following problems.

  1. They are volatile and locks may be gone away in case of system failure.
  2. locks can be created / removed only by key. So you cannot lock a certain level of data tree. e.g. "Cell", "Box", "Odata Collection", "EntitySet", "Dav Directory" etc..

    Solution

By adding "redis" implementation we will be able to solve the above 2 problems.

First step will be to add redis implementation of current Lock interface. At this point, the above problem #1 only will be solved. Then as a next step, we should extend the current Lock interface to solve the #2 problem.