- 论坛徽章:
- 30
|
- cache_create() ->
- ets:new(cm_tab, [set,{keypos, #channel.local_id}]).
- cache_lookup(Cache, Key) ->
- case ets:lookup(Cache, Key) of
- [Channel] ->
- Channel;
- [] ->
- undefined
- end.
- cache_update(Cache, #channel{local_id = Id} = Entry) when Id =/= undefined ->
- ets:insert(Cache, Entry).
- cache_delete(Cache, Key) ->
- ets:delete(Cache, Key).
- cache_delete(Cache) ->
- ets:delete(Cache).
- cache_foldl(Fun, Acc, Cache) ->
- ets:foldl(Fun, Acc, Cache).
-
- cache_find(ChannelPid, Cache) ->
- case ets:match_object(Cache, #channel{user = ChannelPid}) of
- [] ->
- undefined;
- [Channel] ->
- Channel
- end.
复制代码 |
|