原创 egg-socket.io 向指定客戶端發送消息

egg-socket.io 功能 egg-socket.io是對socket.io的一個封裝,加上了對router、controller、namespace和middleware的規約。 其中,router與controller主

原创 Node.js 工作線程 worker_threads 的使用

在瞭解工作線程的具體用法之前,有必要先想想:工作線程解決了什麼問題? 工作線程主要解決的是cpu密集型場景下的問題,由於node只有單個主線程的特性,導致在執行高cpu運算任務時,會有以下的問題: 計算任務阻塞主線程,導致無法響

原创 kong 集羣部署(混合模式 Hybrid Mode)

在1.x版本中,kong的集羣其實是通過運行多個實例,訪問同一個數據庫來實現的。具體表現爲 定時輪詢數據庫,獲取最新的 Services,Routes,Consumers,Plugins等信息,並緩存它們,直到下一次請求數據庫時

原创 在kong插件中使用redis

在開發kong自定義插件時,可能會面對需要多個worker共享一些信息或者接收外部的程序輸入的情況。而多進程共享信息常用的方式就是redis。 kong裏面已經包含了lua-resty-redis 這個redis連接庫,在插件代碼

原创 正則表達式入門(上)---字符組和量詞

相信很多人都碰到過需要用正則匹配字符串的時候,遇到了又不會寫,上網一通亂搜,也看不明白那些鬼畫符是個什麼意思,就當黑箱調來改去的經歷。 但其實如果只是想看懂簡單正則表達式的話,並沒有那麼困難。符號雖多,但仍有線索可尋。它的內容可以

原创 【譯】Redis 客戶端緩存 (Redis server-assisted client side caching)

官方文檔的原文鏈接 :https://redis.io/topics/client-side-caching 水平有限,沒看明白的地方保留了原文,自己寫的部分用 (?..) 標了出來 由redis服務端輔助的客戶端緩存 客戶端緩

原创 kong 集羣部署

在1.x版本中,kong的集羣其實是通過運行多個實例,訪問同一個數據庫來實現的。具體表現爲 定時輪詢數據庫,獲取最新的 Services,Routes,Consumers,Plugins等信息,並緩存它們,直到下一次請求數據庫時

原创 進程內緩存與分佈式緩存(redis)比較

在後端系統中,由於數據庫讀寫性能所限,性能瓶頸往往出現在數據庫上,爲了降低數據庫訪問壓力,可以採取的方式有緩存、數據庫讀寫分離、分表等 其中,對於數據庫讀取壓力過大的情況,緩存可以說是首選解決方式 緩存按照數據存儲位置來區分,緩存

原创 正則表達式入門(下)---分組和斷言

三. 分組 () 在上一篇文章中 的量詞部分說到, 量詞的一般形式爲{m,n},用於限定{}前面的 元素 出現的次數 爲什麼這裏寫的是元素而不是字符呢? 這就要引入 分組 的概念了, 使用()將一塊表達式括起來, 可以把這個整體當

原创 解決sudo找不到環境變量的問題

原因 sudo命令會重置環境變量,查看文件/etc/sudoers,可以看到這樣的配置 Defaults env_reset 解決方法 第一種,也是最簡單的,使用sudo -E來代替sudo即可保留當前用戶的環境變

原创 express下載excel

update 靠,不用轉stream的,res.send()能直接發buffer的… … 用node寫了個查詢數據生成和下載excel的功能,踩了些坑,記一下 先貼個例子 app.get('/download', funct