erlang ets 分页

本文介绍了如何在Erlang中使用ETS(Erlang Term Storage)进行内存分页操作。首先创建了一个名为page的ETS表,并插入了包含英语和计算机类别的测试数据。接着,展示了如何查询所有记录,以及如何分页查询第一页、第二页和第三页的数据。此外,还演示了针对英语类别进行分页查询的方法。
摘要由CSDN通过智能技术生成
创建一个page内存表
ets:new(page,[set,named_table]).

插入一些测试数据
ets:insert(page,
	[ {1,page1,english},
	  {2,page2,english},
	  {3,page3,english},
	  {4,page4,english},
	  {5,page5,english},
	  {6,page6,english},
	  {7,page7,english},
	  {8,page3,computer},
	  {9,page4,computer},
	  {10,page5,computer},
	  {11,page6,computer},
	  {12,page7,computer},
	  {13,page8,computer},
	  {14,page9,computer},
	  {15,page10,computer}
	  ]).


查看记录是否插入

ets:tab2list(page).
[{7,page7,english},
 {6,page6,english},
 {15,page10,computer},
 {4,page4,english},
 {1,page1,english},
 {11,page6,computer},
 {9,page4,computer},
 {10,page5,computer},
 {8,page3,computer},
 {13,page8,computer},
 {2,page2,english},
 {3,page3,english},
 {14,page9,computer},
 {5,page5,english},
 {12,page7,computer}]




查询所有书,包括english和chinese

查询第一页,显示5条记录
{M1,C1}=ets:match(page,'$1',5).
{[[{2,page2,english}],
  [{3,page3,english}],
  [{14,page9,computer}],
  [{5,page5,english}],
  [{12,page7,computer}]],
 {page,196,5,<<>>,[],0}}


查询第二页,显示5条记录

{M2,C2} = ets:match(C1).
{[[{11,page6,computer}],
  [{9,page4,computer}],
  [{10,page5,computer}],
  [{8,page3,computer}],
  [{13,page8,computer}]],
 {page,234,5,<<>>,[],0}}

查询第三页,显示5条记录,并C3='end_of_table'
{M3,C3} = ets:match(C2).
{[[{7,page7,english}],
  [{6,page6,english}],
  [{15,page10,computer}],
  [{4,page4,english}],
  [{1,page1,english}]],
 '$end_of_table'}


查询english

查询english的第一页,显示5条记录
 {M11,C11}=ets:match(page,{'_','$1',english},5).
{[[page4],[page1],[page2],[page3],[page5]],
 {page,123,5,<<>>,[],0}}

查询english的第二页,显示2条记录,C12='end_of_table'


{M12,C12} = ets:match(C11).
{[[page7],[page6]],'$end_of_table'}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值