What is the standard way to diagram a redis (key-value) data structure? -



What is the standard way to diagram a redis (key-value) data structure? -

i working on creating redis (key-value) database, , want able alter diagram represents how info should stored. included in diagram want able distinguish info saved string of json, vs hash table, or set or ordered set.

i tried writing in excel, much relational database, tried writing in json hard tell value of json string, , hashes.

is there industry standard on how diagram this?

edit: ended making own syntax, still know reply this.

this syntax created myself: (and here sample redis construction of card game going make: http://pastebin.com/4arye4hq)

key: = string #key: = hash $key: = set $$key: = sortedset

this sublime syntax highlighting file used color code syntax (saved redis.yaml-tmlanguage ):

# [packagedev] target_format: plist, ext: tmlanguage --- name: redis scopename: source.redis filetypes: [] uuid: 0033bdf9-cd9f-4147-bd2e-a9fed3d07e1e patterns: - include: '#erb' - match: \#[a-za-z][a-za-z0-9_]+ name: variable.parameter comment: hashes - match: \$[a-za-z][a-za-z0-9_]+ name: support.constant comment: sets - match: \$\$[a-za-z][a-za-z0-9_]+ name: entity.name.class comment: sets - match: \d+ name: constant.numeric comment: numbers - name: constant.numeric.yaml match: (?:(?:(-\s*)?(\w+\s*(:)))|(-))\s*((0(x|x)[0-9a-fa-f]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|e)(\+|-)?[0-9]+)?)(l|l|ul|ul|u|u|f|f)?\s*$ captures: '1': {name: punctuation.definition.entry.yaml} '2': {name: entity.name.tag.yaml} '3': {name: punctuation.separator.key-value.yaml} '4': {name: punctuation.definition.entry.yaml} - name: string.unquoted.yaml match: (?:(?:(-\s*)?(\w+\s*(:)))|(-))\s*(?:((")[^"]*("))|((')[^']*('))|([^,{}&#\[\]]+))\s* captures: '1': {name: punctuation.definition.entry.yaml} '2': {name: entity.name.tag.yaml} '3': {name: punctuation.separator.key-value.yaml} '4': {name: punctuation.definition.entry.yaml} '5': {name: string.quoted.double.yaml} '6': {name: punctuation.definition.string.begin.yaml} '7': {name: punctuation.definition.string.end.yaml} '8': {name: string.quoted.single.yaml} '9': {name: punctuation.definition.string.begin.yaml} '10': {name: punctuation.definition.string.end.yaml} '11': {name: string.unquoted.yaml} - name: constant.other.date.yaml match: (?:(?:(-\s*)?(\w+\s*(:)))|(-))\s*([0-9]{4}-[0-9]{2}-[0-9]{2})\s*$ captures: '1': {name: punctuation.definition.entry.yaml} '2': {name: entity.name.tag.yaml} '3': {name: punctuation.separator.key-value.yaml} '4': {name: punctuation.definition.entry.yaml} - include: '#value' repository: array: name: meta.structure.array.json begin: \[ begincaptures: '0': {name: punctuation.definition.array.begin.json} end: \] endcaptures: '0': {name: punctuation.definition.array.end.json} patterns: - include: '#value' - name: punctuation.separator.array.json match: ',' - name: invalid.illegal.expected-array-separator.json match: '[^\s\]]' comments: patterns: - name: comment.block.documentation.json begin: /\*\* end: \*/ captures: '0': {name: punctuation.definition.comment.json} - name: comment.block.json begin: /\* end: \*/ captures: '0': {name: punctuation.definition.comment.json} - name: comment.line.double-slash.js match: (//).*$\n? captures: '1': {name: punctuation.definition.comment.json} constant: name: constant.language.json match: \b(?:true|false|null)\b number: comment: handles integer , decimal numbers name: constant.numeric.json match: "(?x: # turn on extended mode\n\t\t\t -? #\ \ optional minus\n\t\t\t (?:\n\t\t\t 0 #\ \ zero\n\t\t\t | # ...or...\n\t\t\t [1-9]\ \ # 1-9 character\n\t\t\t \\d* # followed 0 or\ \ more digits\n\t\t\t )\n\t\t\t (?:\n\t\t\t \ \ (?:\n\t\t\t \\. # period\n\t\t\t \ \ \\d+ # followed 1 or more digits\n\t\t\t )?\n\t\t\ \t (?:\n\t\t\t [ee] # e character\n\t\t\t\ \ [+-]? # followed alternative +/-\n\t\t\t \ \ \\d+ # followed 1 or more digits\n\t\t\t )? #\ \ create exponent optional\n\t\t\t )? # create decimal portion\ \ optional\n\t\t\t )" object: comment: json object name: meta.structure.dictionary.json begin: \{ begincaptures: '0': {name: punctuation.definition.dictionary.begin.json} end: \} endcaptures: '0': {name: punctuation.definition.dictionary.end.json} patterns: - comment: json object key include: '#string' - include: '#comments' - name: meta.structure.dictionary.value.json begin: ':' begincaptures: '0': {name: punctuation.separator.dictionary.key-value.json} end: (,)|(?=\}) endcaptures: '1': {name: punctuation.separator.dictionary.pair.json} patterns: - comment: json object value include: '#value' - name: invalid.illegal.expected-dictionary-separator.json match: '[^\s,]' - name: invalid.illegal.expected-dictionary-separator.json match: '[^\s\}]' string: name: string.quoted.double.json begin: '"' begincaptures: '0': {name: punctuation.definition.string.begin.json} end: '"' endcaptures: '0': {name: punctuation.definition.string.end.json} patterns: - name: constant.character.escape.json match: |- (?x: # turn on extended mode \\ # literal backslash (?: # ...followed by... ["\\/bfnrt] # 1 of these characters | # ...or... u # u [0-9a-fa-f]{4} # , 4 hex digits ) ) - name: invalid.illegal.unrecognized-string-escape.json match: \\. value: comment: "the 'value' diagram @ http://json.org" patterns: - include: '#constant' - include: '#number' - include: '#string' - include: '#array' - include: '#object' - include: '#comments' foldingstartmarker: |- (?x: # turn on extended mode ^ # line origin \s* # optional space [{\[] # start of object or array (?! # not followed .* # whatever [}\]] # , close of object or array ,? # optional comma \s* # optional space $ # @ end of line ) | # ...or... [{\[] # start of object or array \s* # optional space $ # @ end of line ) foldingstopmarker: |- (?x: # turn on extended mode ^ # line origin \s* # optional space [}\]] # , close of object or array ) keyequivalent: ^~j ...

redis key-value diagram

Comments

Popular posts from this blog

java - How to set log4j.defaultInitOverride property to false in jboss server 6 -

c - GStreamer 1.0 1.4.5 RTSP Example Server sends 503 Service unavailable -

Using ajax with sonata admin list view pagination -