一般使用流的业务,数据都会连绵不绝比较多,我们一般不会做存储,算完即走,但是有时需要使用流刚刚用过的的一些数据,这时就可以使用流的缓存机制
In [1]:
from deva import *
- cache_max_len,缓存数据的最大条数,超过这个限制的,老数据会被丢弃
- cache_max_age_seconds,缓存最大时间,超过这个时间点,老数据会被丢弃
In [2]:
e = engine(func=gen_test,cache_max_len=50,cache_max_age_seconds=60*60*24)
e.name='quantation'
e.start()
获取最近10条缓存数据¶
In [3]:
e.recent(10)
Out[3]:
过上几秒再次执行
In [4]:
e.recent(10)
Out[4]:
获取最近10秒的数据¶
In [5]:
e.recent(seconds=10)
Out[5]:
增加其他流¶
In [6]:
e2 = engine()
e2.name = 'e2'
In [7]:
e2.start()
使用流实例管理器¶
In [8]:
m = Stream.manager()
In [9]:
m.map(lambda x:x>>to_list)
上面的数据中,e2和quantation是实时刷新的
In [10]:
m.name
Out[10]: