Kiper - Thư viện theo dõi và lưu trữ các Objects trong ứng dụng nodejs
-
Xin chào các bạn,
Cuối tuần này mình vừa mới viết ra một thư viện để hỗ trợ việc lưu trữ các objects trong ứng dụng nodejs. Với mục đích bạn đầu là bạn có thể giữ nó / cache ở 1 nơi, và lấy nó ra ở một nơi khác (bất kỳ đâu trong ứng dụng).
Mình share lên đây để nhờ các bạn review cho về các kỹ thuật sử dụng trong thư viện này, bao gồm:
EventEmitter
,ES6 class
,ES6 Proxy
, ... biết đâu một thời điểm nào đó thư viện này giúp ích cho bạn. Nếu thấy có ích hãy star , create issues và contribute nhéGithub: https://github.com/vunb/kiper
NPM: https://www.npmjs.com/package/kiper
Demo: https://runkit.com/vunb/runkit-npm-kiperMột số tính năng chính:
- Keep objects and cache them in memory: Giữ các object và cache nó lại trong memory
- Keep an object with a timeout (TTL - time to live): Lưu một đối tượng trong một khoảng thời gian sống
- Observe key if its value has any changed: Theo dõi sự thay đổi của một đối tượng đã được
keep
trong kiper. - Add/listen a custom event - Tùy thích tạo ra các sự kiện và theo dõi sự kiện đó.
Một số tình huống sử dụng usecases:
- Cache object
- Theo dõi trạng thái của một đối tượng
- Tạo và theo dõi một sự kiện
- Tạo một tác nhân/agent và giám sát nó. Phù hợp với các bạn đang làm
Chatbot
,Dialog manager
, ...
Thanks !
-
Cái này có phân biệt Backend - Frontend không bác. Hay là chạy trên Nodejs là oke ?.
Nghe hao hao memory cache :D. Có cái watch key hay phết. -
@Nguyen-Hien Hiện tại mình mới test được phía backend. Bữa tới thử test trên browserify xem thế nào, chủ quan mình nghĩ ok
-
Mình có tạo demo ở đây, các bạn ghé qua tham khảo nhé
- Demo in action: https://runkit.com/vunb/runkit-npm-kiper
-
Thú vị
đã star cho repo này của @Vũ
-
@Tung-Nguyen215 Cảm ơn Tùng (y). Cần tính năng như
cache
,watching object
thì hãy nhớ sử dụng kiper nhé :))) mình sẽ cố gắng thêm vào tính năng mới và sửa các lỗi phát sinh trong quá trình sử dụng.Nếu có lỗi thì report cho mình biết trên repo nhé