Keys and Values =============== Keys ---- AgaveDB keys are Python ``str`` objects. You have much flexibility in key naming them but there are rules: - Minimum key length is 4 characters. Really short keys aren't necessary. You will probably thank yourself for writing user:1001:bugreports instead of u1001bg when it comes time to debug or maintain our code. The added space and memory requirement is trivial. - Maximum key length is 512 characters, but such long keys aren't a great idea because they will consume memory and will be slow to retrieve. Consider using a hash (such as SHA1) to represent a larger value. - Schemas are good. Examples include object-type:id and user:1001. Dots, dashes, and underscores are often used as separators. - Whitespace is not allowed in keynames. Invalid characters will be removed via a safening process. Values ------ There are two constraints on values: - The maximum size for an AgaveDB value is currently 4096 bytes. - AgaveDB values can only be ``str`` objects. Currently, numeric values are coerced to a string representation. Support for lists, dicts, and tuples will be added in future releases.