support APPEND
abstract common getWithDefault pattern in RedisAdapter
move out big append handler into its own function