Database

Redis - SUBSCRIBE、PSUBSCRIBE、UNSUBSCRIBE、PUNSUBSCRIBE 訂閱功能介紹

Redis - SUBSCRIBE、PSUBSCRIBE、UNSUBSCRIBE、PUNSUBSCRIBE 訂閱功能介紹 SUBSCRIBE 訂閱 Subscribe 允許 client 端訂閱一個或多個 channels > SUBSCRIBE channel [channel ...] 當 client 端 subscribe 某個 channels 之後, 除了subscribe相關指令(subscribe, psubscribe, unsubscribe, punsubscribe ), 一律不允許使用其他 commands

Continue Reading

Redis - pipeline 簡介

Redis - pipeline 簡介 Redis client 每次發送一筆 command 都會經過 發送命令> 命令列隊(排隊)> 執行 > 返回結果 ,這期間所需要的時間,就稱為RTT(Round Trip Time, 往返時間) Redis 通常可以執行在微秒等級,但是在不同網路環境,就會因網路本身的傳輸限制而有所差異,因此才有Redis 性能瓶頸就是網路 一說 pipeline 可以將多筆資料同時發送出去, 如果不使用 pipelining,每一個command 從訪問資料結構、取得回覆,看起來耗費的流量都非常小, 但對於 socket I/O 而言,每個訪問都執行一次comman,占用的效能成本就相當大

Continue Reading

MySQL - 取得十分鐘內、一小時內、一天內 的資料

MySQL 取得指定分鐘、指定小時或指定天數內的資料

方式介紹:

Continue Reading

MySQL - 取得平均為 NULL 如何轉為0、以及計算總數方法

MySQL 取得平均級總數的方式,可以直接用現成的方法

AVG 以及 COUNT

這裡會另外再分享一個小技巧,說明如何將 AVG 取得結果為 NULL 如何轉為零

Continue Reading

MySQL - 取得目前時間、日期,日期加一個月,日期加一年

這裡記錄如何透過MySQL內建的函式來處理時間

非常實用,在處理會員延長有效期限

要延長一個月或一年等狀況,就能透過這些方式,很輕鬆的就將資料處理好。

Continue Reading

終端機操作 MySQL(MariaDB) 指令~

平時習慣透過介面方式來管理資料庫,趁著假日期間再來玩一下指令操作模式,

順道記錄一些透過終端機介面操作MySQL (or mariaDB) 的方式,便於之後再參考

(如果在windows 環境,請先將 mysql (…\mysql\bin) 加入環境變數中)

在這裡著重在操作及設定方面,不會提到太多CRUD相關操作

Continue Reading

Redis 介紹

Redis 介紹 Redis 是一個開源的 (BSD licensed) in-memory 的資料存放結構,可以被使用作為 Database,快取,訊息媒介。支援豐富的資料型態,包括: strings, hashes, lists, sets, stored sets, bitmaps, hyperloglogs 以及 geospatial indexes 儲存格式。 Redis 功能包括 replication, Lua scripting, LRU eviction, transactions,不同層級的 on-disk persistence(定時寫入硬碟,保持持久性), Redis Sentinel 的高可用性功能,以及 Redis Cluster 自動分區

Continue Reading

SQL Joins

A LEFT JOIN B: 左外聯結,取得兩個資料表中,與A有關的資料。 A RIGHT JOIN B: 右外聯結,取得兩個表單中,與B有關的資料。 A INNER JOIN B: 將兩者匹配的資料取出來,即取得AB交集。 A OUTER JOIN B: 將兩者匹配及沒匹配的資料都取出來,即取得AB聯集。

Continue Reading

MySQL - Text 和 Blob 特性探討

簡介 MySQL 儲存格式中,常用TEXT或BLOB來儲存長字串 兩者之間的差異主要為: TEXT 只能儲存字元資料,BLOB 可以保存二進位資料(圖片..) 通常,根據內文預期的長度來挑選適當的類型 Type | Bytes | English words | Multi-byte words ———–+—————+—————+—————– TINYTEXT or TINYBLOB | 255 | ±44 | ±23 TEXT or BLOB | 65,535 | ±11,000 | ±5,900 MEDIUMTEXT or MEDIUMBLOB | 16,777,215 | ±2,800,000 | ±1,500,000 LONGTEXT or LONGBLOB | 4,294,967,295 | ±740,000,000 | ±380,000,000

Continue Reading

如何調整 MySQL 上傳資料庫檔案大小限制 [紀錄]

php 預設都會有檔案上傳大小、傳輸時間等等限制

雖然一般資料庫都是由DBA負責維運,但有時在維護特殊的專案時,

也可能需要用到匯入測試,進而需要調整一些設定,

所以直接把常用的參數記錄起來,也可方便於日後查詢

Continue Reading

MySQL - 浮點數與定點數

一般對於數字應用上,多數還是以整數為主 實際應用時,通常會先考量數字長度,並且通常都不會有問題 但是遇到與金融交易時,常常會牽涉到小數點的問題,也就是這裡要談的議題 - 定點數與浮點數 浮點數 具有小數點,插入的資料若小數點超過預設長度,則會實施四捨五入 在MySQL中,float, double( or real) 都可以用來儲存浮點數 在使用時,可能會有誤差的問題 定點數 字串形式存放數值,若插入的數值長度超過預設長度,會回報錯誤 (在SQLMode 預設情況仍會四捨五入後,插入資料) 在 MySQL 中,decimal (or numberic) 都可以用來儲存定點數 對於精確度要求較高的資料,都要使用定點數來儲存 範例 我們直接來建立一個浮點數及定點數的資料表 MariaDB [example]> CREATE TABLE float_and_decimal(flo float(10,2), deci decimal(10,2)); Query OK, 0 rows affected (0.

Continue Reading

MySQL - 檢視表 (View)

檢視表是一個虛擬的資料表,從MySQL 5.0.1 版本即開始支援 在使用時,設計者可自行將多個表格進行關聯、篩選,製作成一份獨立的檢視表 使用上,具有以下優點 簡單明瞭: 使用者不需要理解整個資料結構,直接呼叫檢視表就能取得整合完成的資料 安全: 使用者僅能看到檢視表允許查詢的部分 獨立: 檢視表結構會彙整關聯的資料表,當關聯資料表新增資料時,也能同時取得;僅有當關聯表修改列名時,才需要調整檢視表的結構對應名稱 建立檢視表 CREATE OR REPLACE VIEW user_view AS SELECT * FROM user; Query OK, 0 rows affected (0.01 sec) 刪除檢視表 DROP VIEW user_view Query OK, 0 rows affected (0.

Continue Reading

GraphCool 介紹

安裝 GraphQL Server 教學 這裡會紀錄 GraphQL 也稱 GraphCool 的操作 安裝 首先,用管理員權限開啟 cmd,安裝graphcool 安裝 graphcool npm install -g graphcool 初始化graphcool專案 接著,前往專案資料夾,建立 local 端的graphcool管理初始化 graphcool init Deploy 安裝完畢後,會看到選項 graphcool deploy, 將你的Graphcool server發布在線上 graphcool local up, 開始你的本地端Graphcool graphcool add-template facebook-auth, 加入facebook 驗證

Continue Reading

MySQL - InnoDB 簡介

MySQL 5.0 之後的版本支援的儲存引擎包括 MyISAM, InnoDB, MEMORY, CSV …等 其中 InnoDB 屬於交易安全表(支持交易,行級鎖定,外鍵和表加密) MyISAM、MEMORY、CSV則屬於非交易安全表。 將目前支援的儲存引擎列出來,就能看到個引擎的支援狀況: > SHOW ENGINES \G ... *************************** 2. row *************************** Engine: InnoDB Support: DEFAULT Comment: Percona-XtraDB, Supports transactions, row-level locking, foreign keys and encryption for tables Transactions: YES XA: YES Savepoints: YES *************************** 3.

Continue Reading

MySQL - ENUM 與SET 類型比較

ENUM 列舉陣列 與 SET 集合 非常類似 底下分別說明兩者類型,以及舉例說明: ENUM ENUM 最多可預設 65535 個成員 1-255個成員 (佔1位元) 255-65535個成員 (佔2位元) 存取資料時,只允許從預設的成員之中,挑選其中單一值 也可以用數字代表,1就代表第一個成員..以此類推 範例: > CREATE TABLE enum_demo (name VARCHAR(10), gender ENUM('M','F')); 回應: Query OK, 0 rows affected (0.

Continue Reading

MySQL 內建功能函數 - IP 格式轉換處理與天數計算

這裡特別介紹MySQL內建的功能函數

分別說明如下:

Continue Reading

SQL 資料庫設計 - 讓產品支援多國語系的四種方式

一、單列方式 (Column Approach) 在單一列,設定多個語系欄位 優點: - 簡單 - 易於實施 - 輕鬆查詢 - 無需JOIN - 沒有重複 - 沒有重複的內容(每個記錄只有一行,只有語言列被重複) 缺點: - 很難維護 - 如果只有2-3種語言會很容易維護,但當您有很多欄或很多語言時,它變得非常龐大且不容易維護 - 很難添加新語言 - 添加新語言時,有設定多國語言的欄位都要進行新增調整(以及db用戶的特殊訪問權限) - 佔用空間 - 如果不是所有的項目都必需翻譯(例如在某些地方,只需使用默認語言),它可能會導致冗餘數據或空的db字段 - 需要建立檢視判斷 - 需要依照目前語系環境決定要撈出哪一列,還需額外判斷才能達成

Continue Reading

Juila language 應用篇

DataFrames

讀取csv 說明

先安裝 DataFrames http://juliastats.github.io/DataFrames.jl/stable/ 在julia終端機介面輸入下指令即可安裝

Pkg.add("DataFrames")

Continue Reading

Julia language 入門

Julia 是一種科學計算語言,具有以下特性:

  • 免費且開源 (MIT licensed)
  • 使用者可定義types的方式,增加效率
  • 不須為了增加效能而特別編譯程式碼,直接寫效能就已經很快
  • 適用於平行運算及分布試運算
  • 輕量綠色版
  • 強大的types系統
  • 可以優雅的對數字和其他類型進行轉換和拓展
  • 支援Unicode(當然包含UTF8)
  • 可以直接呼叫C的functions(不須額外加載或特定API)
  • 強大的類shell功能,用於管理其他進程
  • Lisp-like macros and other metaprogramming facilities

以下是學習過程的一些紀錄:

Continue Reading

MongoDb 筆記

推薦 Antoine Girbal’s Corner ##MongoDb可視化操作介面 https://git.oschina.net/xiexiao04/mongo-exprss-master ##安裝MongoDb 安裝 http://www.mongodb.org/downloads 安裝windows 64-bit 2008 R2+ 安裝32-bit 會有2G限制 點擊Msi檔案開始安裝,安裝完成之後,可能會在下方位置 C:\Program Files\MongoDB\Server\3.0\bin 加入環境變數: PATH: ………;C:\Program Files\MongoDB\Server\3.0\bin 以終端機操作,開啟Mongodb Server > mongod.exe 確定啟動 前往 http://localhost:27017 預設port,如果成功啟動會顯示: It looks like you are trying to access MongoDB over HTTP on the native driver port.

Continue Reading