ets表的类型有四种:set, ordered_set.bag和duplicate_bag。
其中,set 和 ordered_set只能关联一个对象,bag和duplicate_bag表的一个键可以关联多个对象。
具体来看,set 和 ordered_set的区别是ordered_set表中的key是有序的。
bag 和 duplicate_bag的区别是duplicate_bag表中的每一个key可以对应多个value,并且允许value重复,而bag则要求value唯一。
一个erlang节点的ets表的数量是有限的。目前默认的限制数量大约为1400多个。这个值我们可以通过设置环境变量ERL_MAX_ETS_TABLES来改变。
还有一点请大家注意:ets表不会被垃圾回收,除非它的所属进程退出,它才能被释放。这里我们可以通过调用delete/1来销毁某一张表。
暂时先写到这里我会努力更新此博客,希望大家多多指教,谢谢!!