原创 說GTID - GTID的生命週期

1.事務提交時會獲取到一個GTID,該GTID將位於事務前面一同被記錄到二進制日誌中。若事務不被記錄到二進制日誌中,它也不會獲取到GTID。2.事務的GTID會以Gtid_log_event的形式記錄到二進制日誌,當二進制日誌輪換或實例關閉

原创 Redis的內存優化

Redis所有數據都在內存中,用戶自然會想到如何有效的使用內存。Redis的作者已考慮了內存的優化,所以從用戶的角度,Redis內存的優化包括兩個方面,一個是Redis Server本省對內存的優化,一個是應用方面的優化。Redis Ser

原创 Redis info memory中used_memory和used_memory_rss的關係

127.0.0.1:6380> info memory# Memoryused_memory:4189334840used_memory_rss:4692721664mem_fragmentation_ratio:1.12mem_alloc

原创 Redis如何處理客戶端連接

Redis處理客戶端連接的過程如下:Redis accepts clients connections on the configured listening TCP port and on the Unix socket if enabl

原创 CLIENT LIST中qbuf,qbuf-free和obl,oll,omem的含義

id=35 addr=192.168.4.152:56627 fd=41 name= age=427224 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 o

原创 Redis的內存消耗

內存使用統計# Serverredis_version:3.0.7# Memoryused_memory:7270580648 - used_memory: Total number of bytes allocated by Redis

原创 Redis的內存管理

Redis主要通過控制內存上限和回收策略實現內存管理。設置內存上限config set maxmemory xx,maxmemory限制的是Redis真正使用的內存,也就是used_memory對應的內存,由於內存碎片的存在,實際消耗的內存

原创 Redis Sentinel操作

Redis Sentinel的功能:Monitoring. Sentinel constantly checks if your master and slave instances are working as expected.Auto

原创 Redis的持久化

Redis支持RDB和AOF兩種持久化方式,持久化功能有效避免了因進程退出造成數據丟失的問題。RDB持久化是把當前進程數據生成快照保存到磁盤的過程,觸發RDB持久化的過程分爲手動和自動觸發。手動觸發RDB持久化的操作1. 手動執行SAVE命

原创 Redis的數據類型

Redis通用命令數據類型若感興趣可關注訂閱號”數據庫最佳實踐”(DBBestPractice).

原创 Redis的複製

複製解決了單點問題,滿足了故障恢復和負載均衡的需求,也是稍後Redis Sentinel和Cluster的基礎。配置複製,主要是SLAVEOF命令的使用,其可以建立複製關係,斷開復制關係,和切換主節點。 127.0.0.1:6379> he

原创 偶遇MySQL Metadata Lock

在主庫上truncate table後,發現從庫延時開始增加,show processlist可見如下信息。72105289  system user  NULL  Connect 2996302 Waiting for master to

原创 Bash編程中的read

場景:test.txt文件內容格式如下(IP Port),測試每個IP的連通性。# cat test.txt 192.168.116.128 22192.168.116.129 22192.168.116.131 22192.168.116

原创 Bash編程中的函數

Shell中函數可以像簡單命令被調用,執行復合命令,函數可以帶有參數,叫位置參數(以下簡稱"參數")。函數基本形式爲:[ function ] name () compound-command [redirection]上面定義了一個名稱爲

原创 Bash編程中的整數運算

基本形式:((expression)),其等價於let "expression"。$ foo=4$ ((foo=foo+1))$ echo $foo5$ let foo+=1$ echo $foo6Bash中還提供了算數擴展(Arithme