1. 程式人生 > >redis 安裝使用以及客戶端xredis的使用

redis 安裝使用以及客戶端xredis的使用

1. 安裝redis

 1)安裝依賴tcl  yum install -y tcl 下載 redis-4.0.11.tar.gz

tar xzvf redis-4.0.11.tar.gz

cd redis-4.0.11

make

make test

cd utils

./install_server.sh  //安裝redis服務,全都預設回車

2. 安裝redis windows客戶端 redis desktop manager

3. xredis 安裝   1) 安裝hiredis  wget https://github.com/redis/hiredis/archive/master.zip unzip master.zip cd master/ make make install

  2) git clone https://github.com/0xsky/xredis.git cd xredis make sudo make install

############################################################################################

編譯xredis客戶端例子

把libxredis.a  xredis-test.cpp拷貝到一個目錄下

#編譯

g++ -o xredis-test -O3 -fPIC  -Wall -W -Wwrite-strings -g -ggdb  -L. xredis-test.cpp libxredis.a -lhiredis -lpthread

##############################################################################################

Redis協議規範(RESP) Redis 即 REmote Dictionary Server (遠端字典服務); 而Redis的協議規範是 Redis Serialization Protocol (Redis序列化協議) 該協議是用於與Redis伺服器通訊的,用的較多的是Redis-cli通過pipe與Redis伺服器聯絡;     協議如下:           客戶端以規定格式的形式傳送命令給伺服器;           伺服器在執行最後一條命令後,返回結果。 客戶端傳送命令的格式(型別):5種類型     間隔符號,在Linux下是\r\n,在Windows下是\n 1. 簡單字串 Simple Strings, 以 "+"加號 開頭       格式:+ 字串 \r\n                字串不能包含 CR或者 LF(不允許換行)       eg: "+OK\r\n"       注意:為了傳送二進位制安全的字串,一般推薦使用後面的 Bulk Strings型別 2. 錯誤 Errors, 以"-"減號 開頭 格式:- 錯誤字首 錯誤資訊 \r\n                錯誤資訊不能包含 CR或者 LF(不允許換行),Errors與Simple Strings很相似,不同的是Erros會被當作異常來看待       eg: "-Error unknow command 'foobar'\r\n" 3. 整數型 Integer, 以 ":" 冒號開頭 格式:: 數字 \r\n       eg: ":1000\r\n" 4. 大字串型別 Bulk Strings, 以 "$"美元符號開頭,長度限制512M 格式:$ 字串的長度 \r\n 字串 \r\n                字串不能包含 CR或者 LF(不允許換行);       eg: "$6\r\nfoobar\r\n"    其中字串為 foobar,而6就是foobar的字元長度             "$0\r\n\r\n"       空字串             "$-1\r\n"           null 5. 陣列型別 Arrays,以 "*"星號開頭 格式:* 陣列元素個數 \r\n 其他所有型別 (結尾不需要\r\n)              注意:只有元素個數後面的\r\n是屬於該陣列的,結尾的\r\n一般是元素的       eg: "*0\r\n"      空陣列            "*2\r\n$2\r\nfoo\r\n$3\r\nbar\r\n"      陣列包含2個元素,分別是字串foo和bar "*3\r\n:1\r\n:2\r\n:3\r\n"       陣列包含3個整數:1、2、3            "*5\r\n:1\r\n:2\r\n:3\r\n:4\r\n$6\r\nfoobar\r\n"  包含混合型別的陣列            "*-1\r\n"         Null陣列            "*2\r\n*3\r\n:1\r\n:2\r\n:3\r\n*2\r\n+Foo\r\n-Bar\r\n"   陣列巢狀,外層陣列包含2個數組,整理後如下:                  "*2\r\n *3\r\n:1\r\n:2\r\n:3\r\n *2\r\n+Foo\r\n-Bar\r\n"