Use transactions with Redis; return resource to pool even when there is an error