我正在使用脏写将记录写到失忆症
:mnesia.dirty_write({Table_Name, id, Node.self(), timestamp, msg})
我要删除超过1小时的记录,如何设置有效期限或TTL?
答案 0 :(得分:2)
Mnesia不支持记录到期/ TTL。您必须自己实现此功能,例如,定期扫描表中的过期记录并将其删除。
答案 1 :(得分:-1)
由于mnesia没有任何ttl机制(至少我找不到一个),所以我编写了一个gen服务器,该服务器删除了早于1小时的mnesia中的所有记录。该gen服务器每1小时激活一次,删除较旧的记录并返回睡眠状态。这是逻辑的代码段
%s
注-表中的每个记录都有10个字段,第一个字段(id)是键。参数$ 3是时间戳,截止时间=当前时间戳-1小时