Redis 清除過期key原理
在Redis 基於性能考量,並不會對每一個過期的key做及時刪除,主要透過以下幾種方式來清除過期的key:
Continue Reading在Redis 基於性能考量,並不會對每一個過期的key做及時刪除,主要透過以下幾種方式來清除過期的key:
Continue Reading這裡記錄如何快速建立一個 Telegram bot 以及透過 bot 發送訊息到群組。
Continue ReadingSRI (Subresource Integrity) 是一個透過瀏覽器驗證引用的第三方資源,確保內容沒有被串改。
例如,我們常會引用第三方的 CDN 來源,以加快請求的時間。但由於 CDN 來源分散,難以進行定位,若其中一個來源節點受到劫持,可能會發生隨機的劫持,並且難以重複呈現,用戶刷新頁面後,就無法再重現。
Continue ReadingRedis pub/sub 連線一段時間出現訂閱失敗的處理方式
Redis subscribe 在訂閱一段時間可能失敗的情況有兩種, 1. 啟動沒多久就發生超時, 2. 長期才發生的連結斷開
在實際開發過程,兩種方式情境都可以同時設置,處理方式如下:
Continue Reading解決 Laravel 每日建立分隔 log 檔案,出現權限 Permission Deny 問題 如果設定排程執行 php artisan 預設會使用 root 來執行,就會導致產生的 log 檔案會有權限問題。 解決方式,首先關閉 root 產生的排程,開啟排程檔案將執行的程式先註解 crontab -e 接著,用 www-data 身份來設定排程 crontab -u www-data -e 例如,以下設定每三十分鐘執行 30 * * * * php /var/www/html/artisan course:create >> /dev/null 2>&1 以上設定完畢後,先刪掉今天產生的 storage/log/ log 檔案,
Continue Reading在 AWS 的 RDS Instance ,不同方案 CPU跟記憶體 都有差別,因此在預設時,都會針對主機規格幫你配置好可負載的人數,避免Instance崩壞,通常可以針對你的網站預估同時在線人數來推估適用的方案。
首先,先說明關於 RDS 針對使用者連線相關的配置參數。
Continue Reading這裡針對實際運行服務,記錄一些設定技巧
首先,從 Nginx 的設定檔 /etc/nginx/nginx.conf
nginx.conf 通常為了可將多站點的設定檔獨立分存,一般都會有以下設定,指定將某個資料夾的設定檔 include 到 nginx.conf 裡。
Continue Readingsudo lsblk
>>>輸出
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 30G 0 disk
└─sda1 8:1 0 10G 0 part /
將剩下的空間都分配給 sda1
(注意,這裡 sda 與 1 之間有空格)
Continue Reading解決,Nas 透過靜態路由 Gateway 開通不同網段路由 目前公司有新添購主機,需要將該台主機可開通連結到多個網段, 這裡先說明一下,在內網 192.168.1.42 已經有設定可連結到多網段。 Nas 網路 192.168.1.49 與該台機器位於同網段,因此,只需要在新添購的 Nas 增加靜態路由, 再透過該路由指定 Gateway 的導向路徑到其他網段 (192.168.77.0) 即可
Continue ReadingCentOS 安裝 Java 與 Maven 流程 安裝JAVA Java環境檢查,若出現 ```-bash: CVT2HUGO: java: command not found``` 表示未安裝 JAVA java -version 下載 JAVA 64x yum install java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel.x86_64 -y java -version 安裝 Maven 確認是否存在 maven
Continue Reading近期開發產品,需要再非公司的場合應用到固定IP。
由於這次產品使用的場合無法立即取得固定IP網路環境,並且實體網路也沒有的情況下,進行了幾種方式,最終找到可行的方式。
在這裡將流程進行紀錄。
Continue Reading.git 檔案過大,會需要依照當時專案的環境做不同處理,這裡將各種可能的狀況,提供解決方案。
當 .git 檔案過大,伺服器記憶體不足時,會出現以下錯誤:
swap Out of memory, malloc failed (tried to allocate xxxxxxxxxx bytes)
通常會發生這問題,原因都在於這個 git repository 已經使用一定時間,提交次數非常多,導致 .git 檔案過大
例如,.git 檔案就佔據 2Gb
遇到這狀況時,可能遇到一些問題,例如:主機環境是否能變動,commit 資訊是否要保留等
以下針對各種問題,提供對應的解決方法:
Continue ReadingPython 運行 Selenium 入門 這裡支援 Python 2.7, 3.4+ 安裝 Driver 下載瀏覽器 driver ,請依照你瀏覽器目前的版本下載對應的 Driver Chrome: https://sites.google.com/a/chromium.org/chromedriver/downloads Edge: https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/ Firefox: https://github.com/mozilla/geckodriver/releases Safari: https://webkit.
Continue Reading在本地預計使用docker 建構 mysql ,卻發現 3306 port 被佔用的情況。
這時,透過 刪除指定進程方式,來移除佔用 3306 port 的 process
先將 3306 process 找出,並且移除
Continue ReadingNignx & PHP-FPM 架構中,發送單一請求若header傳輸量過大,就會爆出 request record is too big 的錯誤,
可以檢查是否直接透過http params 方式來夾帶參數
當參數過大,就會導致內容無法送達而爆出錯誤。
Continue Reading