Redis: the AK-47 of databases
Eek. Locking the entire data set to perform transactions? Isn't that so... MyISAM? Does rolling the transaction back work? The optimistic lock is not a great solution either: instead of deadlocking while waiting for a lock to be released, you are now stuck in a while (!saved) loop. Imagine two web pages trying to update the same resource at the same time.Also this part of the config:  save 900 1
  save 300 10
  save 60 10000

is not at all obvious. Maybe it's better documented in the sample config.