item.go
func KVToBytes(k, v []byte) []byte {
	klen := len(k)
	buf := make([]byte, 2, len(k)+len(v)+2)
	binary.LittleEndian.PutUint16(buf[0:2], uint16(klen))
	buf = append(buf, k...)
	buf = append(buf, v...)

	return buf
}
func KVToBytes(k, v []byte) []byte {
	klen := len(k)
	buf := make([]byte, 2, len(k)+len(v)+2)
	binary.LittleEndian.PutUint16(buf[0:2], uint16(klen))
	buf = append(buf, k...)
	buf = append(buf, v...)

	return buf
}
// KVToBytes encodes key-value pair to item bytes which can be passed
// to the Put() and Delete() methods.