原创 UNP-UNIX網絡編程 第三章:套接字編程簡介

1.IPV4套接字地址結構: #include <netinet/in.h> struct in_addr { in_addr_t s_addr; //32bit } struct sockaddr_in { ui

原创 UNP-UNIX網絡編程 第四章:基本TCP套接字編程

1. #include <sys/socket.h> int socket(int family, int type, int protocol); //返回:若成功則返回非負描述符,出錯則爲-1,family是協議族,type表

原创 UNP-UNIX網絡編程 第十五章:域協議

Unix域協議並不是一個實際的協議族,而是在單個主機上執行客戶/服務器通訊的一種方式,單個主機上執行通信,也就是所謂的進程間通信(IPC),所以Unix域套接字協議可以視作IPC方法之一。 Unix域提供兩類套接字:字節流套接字

原创 UNP-UNIX網絡編程 第五章:TCP客戶/服務器程序示例

{ int n; if((n = socket(family, type, protocol)) < 0) { printf("socket() error!"); exit

原创 常用的Linux命令

常用的Linux命令 (1)查看CPU利用率:top (2)查看當前目錄:pwd和ls(ls -a可以查看隱藏目錄) (3)切換目錄:cd (4)查看文件佔用磁盤大小:du和df (5)創建文件夾:mkdir \$

原创 leetcode筆記之數學

未完待續… 一.簡單計算 7. 反轉整數 反轉類的經常出現,鏈表,數組,字符串、整數、棧等等, while(x) { int tmp = res;//1.保存前一個值用於下面的溢出判斷 res=res*10+x%10;//

原创 Leetcode分類解析(二叉樹)

持續更新中… 1.二叉樹中序遍歷 94.Binary Tree Inorder Traversal 二叉樹中序遍歷 98.Validate Binary Search Tree 驗證二叉搜索樹 1.指定一個最小值LONG_MIN

原创 redis源碼之字典dict

未完待續… 字典dict 1.簡介: 它支持插入、刪除、替換、查找和獲取隨機元素等操作。 哈希表會自動在表的大小的二次方之間進行調整。 鍵的衝突通過鏈表來解決。 rehash 2.定義 /* * 1.哈希表節點 */ typed

原创 linux 命令 awk,grep,sed

一.awk 1、由單引號括起來的字符都作爲普通字符出現。特殊字符用單引號括起來以後,也會失去原有意義,而只作爲普通字符解釋 $ string=’$PATH’ $ echo $string $PATH 2.由雙引號括起來的字符

原创 Leetcode筆記之字符串

未完待續… string s="";//初始化 並且要防止越界!!!!! 一.字符串簡單題型 8.字符串轉整數 (atoi) 1.定義 i=0;while 跳過空格 2.if 跳過+/-,確定符號sign;並且符號之後必須緊跟數字,否則

原创 session保持與負載均衡

首先介紹一下負載均衡和session,並且以Nginx和session爲例: 1.負載均衡 目的是通過反向代理服務器(Nginx)使得後端的服務器負載保持均衡,儘量避免某一個後端服務器過負載,從而影響服務。 Nginx提供的負載均衡策略

原创 redis源碼之壓縮列表ziplist

未完待續… 壓縮列表ziplist 1.簡介 連續,無序的數據結構。壓縮列表是 Redis 爲了節約內存而開發的, 由一系列特殊編碼的連續內存塊組成的順序型(sequential)數據結構。 2.組成 屬性 類型 長度 用途

原创 redis RDB 持久化

Redis 提供了RDB 持久化功能,這個功能可以將Redis 在內存中的數據庫狀態保存到磁盤裏面,避免數據意外丟失,RDB 文件是保存在硬盤裏面的。 0.RDB 文件結構 REDIS db_version databases EO

原创 redis源碼之對象

未完待續… 對象 簡介: 對於 Redis 數據庫保存的鍵值對來說, 鍵總是一個字符串對象, 而值則可以是: 1.字符串對象、 2.列表對象、 3.哈希對象、 4.集合對象、 5.有序集合對象 的其中一種。 2.定義 所有的

原创 redis源碼之數據庫

未完待續。。 數據庫 1.服務器中的數據庫 Redis 服務器將所有數據庫都保存在服務器狀態 redis.h/redisServer 結構的db數組中, db 數組的每個項都是一個redis.h/redisDb 結構, 每個red