本文使用「署名 4.0 国际 (CC BY 4.0)」许可协议,欢迎转载、或重新修改使用,但需要注明来源。 [署名 4.0 国际 (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/deed.zh) 本文作者: 苏洋 创建时间: 2014年04月23日 统计字数: 636字 阅读时间: 2分钟阅读 本文链接: https://soulteary.com/2014/04/23/nice-data-structure.html ----- # 一个不错的KEYVALUE存储设计思路 做项目的时候看到的一个设计,没有深究后端实现,有空验证一下,粗浅的想了一下,这样设计中间的缓存极大扩展了储存空间,防止了KEY冲突,对前端也比较友好。 即使接RDBMS,也比较容易拆分,赞。 看到的越多,就越感觉自己知道的太少,学到的越多,就越对技术产生渴望,或许这也是一种贪婪吧。 ```js var key = ';12304035:48072;122216431:27023;1627207:28341;5919063:6536025;'; var keyArr = key.split(';').slice(1, -1); var tmpArr = null, order = [], value = [], ret = [''], index = 0; for (var i = 0, j = keyArr.length; i < j; i++) { tmpArr = keyArr[i].split(':'); order[i] = tmpArr[0]; value[tmpArr[0]] = tmpArr[1]; } order = order.sort(function(a, b) { return a - b }); for (i = 0, j = order.length; i < j; i++) { index = keyArr.indexOf(order[i] + ':' + value[order[i]]); ret.push(keyArr[index]); } ret.push(''); ret = ret.join(';'); console.log(ret); ```