Pass args by value (and therefore pass the ownership) to avoid cloning bytes.
Pass key/value by ownership to the database mod
Use VecDeque instead of [] to deconstruct the args easily
Use Bytes for Value::Blob. Introduce Value::BlobRw, which is identical but will use BytesMut internally. Value::Blob will transform to Value::BlobRw on demand and there is no going back (there is no BlobRw to Blob)