json的结构分数组和对象2种结构对象 以"{" 大括号开始
“}”结束中间以0个或者多个“,”号分割的关键字key/value 列表构成 关键字和值之间必须以 :
号分割语法如下:{key1:value1,key2:value2......}数组 以 [ 开始 ] 结束 中间有0个或者多个以 “,...
分类:
Web程序 时间:
2014-05-16 22:35:12
阅读次数:
488
项目进行中,使用到Map(std::map),Map要点整理如下: 1.
Map,也叫关联数组,提供key/value(键/值对),key用来索引,value是被存储和检索的数据。 2. key值唯一(Multimap除外)。 3.
Map的内部数据结构是红黑树。 3. 可以用下标操作符...
分类:
其他好文 时间:
2014-05-16 22:31:02
阅读次数:
379
Hashtable,哈希表是根据关键码值(Key value)直接进行访问的数据结构。它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。
HashMap,不保证映射的顺序,特别是它不保证该顺序恒久不变。一个HashMap的实际容量=容量x因子,其默认值是16×0.75=12。当存入HashMap的对象超过这个容量时,HashMap会重新构造存取表(长度变为原来的2倍,然后一个个indexfor进去),这是一个大问题,所以当你知道大概要存放多少个对象时,最好设为该实际容量的能接受的数字。对于冲突...
分类:
其他好文 时间:
2014-05-15 06:59:55
阅读次数:
236
散列表(Hash table,也叫哈希表),是根据关键字(Key value)而直接访问在内存存储位置的数据结构。也就是说,它通过把键值通过一个函数的计算,映射到表中一个位置来访问记录,这加快了查找速度。这个映射函数称做散列函数,存放记录的数组称做散列表。
一个通俗的例子是,为了查找电话簿中某人的号码,可以创建一个按照人名首字母顺序排列的表(即建立人名x到首字母F(x)的一个函数关系),在首...
分类:
编程语言 时间:
2014-05-15 02:27:50
阅读次数:
497
问题
最近项目中遇到了一个分布式系统的并发控制问题。该问题可以抽象为:某分布式系统由一个数据中心D和若干业务处理中心L1,L2 ... Ln组成;D本质上是一个key-value存储,它对外提供基于HTTP协议的CRUD操作接口。L的业务逻辑可以抽象为下面3个步骤:
read: 根据keySet {k1, ... kn}从D获取keyValueSet {k1:v1, ... kn:vn...
分类:
Web程序 时间:
2014-05-14 21:10:05
阅读次数:
474
memcached 和 redis
的set命令都有expire参数,可以设置key的过期时间。但是redis是一个可以对数据持久化的key-value
database,它的key过期策略还是和memcached有所不同的。梳理,整理如下:redis通过expire命令来设置key的过期时间。语法...
分类:
其他好文 时间:
2014-05-14 07:09:41
阅读次数:
242
代码片段(假设只有3个key=value):public static void
main(String[] args) throws IOException { BufferedReader br = new BufferedReader(
new In...
分类:
其他好文 时间:
2014-05-13 19:48:10
阅读次数:
485
Redis是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。1.环境#lsb_releaseLSBVersion::core-4.0-ia32:core-4.0-noarch:graphics-4.0-ia32:graphics-4.0-noar..
分类:
系统相关 时间:
2014-05-13 12:01:32
阅读次数:
487
publicstaticStringcreateJsonString(Stringkey,Objectvalue){
JSONObjectjsonObject=newJSONObject();
jsonObject.put(key,value);
returnjsonObject.toString();
}
分类:
Web程序 时间:
2014-05-13 04:28:35
阅读次数:
316
Key-Value存储作为NoSQL存储的一种常见方式,提供了比SQL数据库更好的可扩展性和读写性能。比如当前开源最热门的Memcached和Redis;淘宝的Tair、腾讯的Cmem、Amazon的Dynamo等等,无论是做缓存还是持久存储,均使用内存作为主要存储介质,故内存管理策略就显得尤为重要了,是影响性能的重要因素。
这里从源代码层面对Memcached、Redis和UDC(腾讯以前用的一套KV持久化存储系统)的内存管理策略进行分析,3者的内存管理策略各不相同,其他KV系统也和这3种方法大同小异了。...
分类:
其他好文 时间:
2014-05-11 04:48:13
阅读次数:
387