Redis官網: http://redis.io/
一:下載下傳安裝和解除安裝
1.1下載下傳安裝
$ wget http://download.redis.io/releases/redis-2.8.19.tar.gz
$ tar xzf redis-2.8.19.tar.gz
$ cd redis-2.8.19
$ make ( 有時候執行不行 會提示:sudo apt-get install make,按照提示來就行)
1.2運作服務 (redis-server指令放在下載下傳目錄的src中)
$ src/redis-server
1.3 連接配接服務(測試)
$ src/redis-cli
redis> set foo bar
OK
redis>get foo
"bar"
1.4将redis指令加入到環境變量(執行的時候就不需要添加路徑)
執行: ./utils/install_server.sh
1.5解除安裝
使用Redis源代碼編譯安裝的話,解除安裝的時候,隻需:
1、停止redis-server; (redis-cli shutdown )
2、删掉安裝目錄(如果你安裝時沒有指定目錄,預設會在/usr/local/bin下面);
--find / -name '*redis*' | xargs rm -rf (強制删除跟redis相關的檔案,慎用)
二: redis啟動方式和連接配接
2.1 直接啟動
redis-server & (加上&使redis背景方式運作)
2.2 啟動時指定配置檔案
redis-server ./redis.conf
(配置檔案中包含各種資訊:如 daemonize yes 背景方式運作
port 6379 指定監聽端口
logfile /home/mapgoo/redis/redis.log 指定日志檔案位置
dir /home/mapgoo/data 配置持久化檔案存放的位置等等。)
2.3 連接配接redis服務
redis-cli -h 127.0.0.1 -p 6379
三:redis基礎
3.1簡介
Redis是一個開源,先進的key-value存儲,并用于建構高性能,可擴充的Web應用程式的完美解決方案。
Redis從它的許多競争繼承來的三個主要特點:
Redis資料庫完全在記憶體中,使用磁盤僅用于持久性。
相比許多鍵值資料存儲,Redis擁有一套較為豐富的資料類型。
Redis可以将資料複制到任意數量的從伺服器
3.2 Redis資料類型 (五種資料類型)
3.2.1 字元串 (redis字元串是位元組序列。是二進制安全的,這意味着他們有一個已知的長度沒有任何特殊字元終止,所有你可以存儲任何東西,512M為上限。)
SET name xiebo
GET name
3.2.2 哈希 (redis的哈希是鍵值對的集合。redis的哈希值是字元串字段和字元串值之間的映射,是以被用來表示對象)
hmset xiebo username xb password point
hgetall xiebo
3.2.3 清單 (Redis的清單是簡單的字元串清單,排序插入順序。可以添加元素到redis的清單的頭部或尾部)
lpush xiebo redis ( list頭部插入)
lpop xiebo (傳回并彈出list中的第一個元素)
rpush xiebo mongodb (list尾部插入)
rpop xiebo (傳回并彈出list中的尾部元素)
llen xiebo (傳回list中的元素個數)
lrange xiebo start end (傳回指定範圍内元素的清單, )
3.2.4 集合 (redis的集合是字元串的無序集合。具有唯一性。在redis可以添加,删除和測試檔案是否存在)
sadd mapgoo redis
sadd mapgoo mongodb
smembers mapgoo
3.2.5 有序集合 ( Redis的有序集合類似于Redis的集合,字元串不重複的集合。不同的是,一個有序集合的每個成員用分數,以便采取有序set指令,從最小的到最大的成員分數有關。雖然成員具有唯一性,但分數可能會重複)
zadd mapgoo 0 redis
zadd mapgoo 0 mongodb
zadd mapgoo 0 rabitmq
zrangebyscore mapgoo 0 10000
3.3 redis備份和還原
備份: save (這個指令将dump.rdb儲存在redis目錄中)
還原: bgsave (這個指令将redis目錄中的檔案dump.rdb還原。還原目錄可以通過 redis-cli config get dir獲得)
四: redis壓力測試
redis-benchmark --help (自帶壓力測試工具的幫助資訊)
eg: redis-benchmark -h 127.0.0.1 -p 6379 -t set -c 50 -n 1000000 -r 100000000 (-c用戶端數,-n 總請數,-r 随機産生鍵值的範圍)
五。redis叢集(3.0.0以上支援)
5.1叢集安裝 tar xzvf redis-3.0.4.tar.gz cd redis-3.0.4 make && make install yum install ruby rubygems,安裝叢集環境 gem install redis 安裝redis叢集環境
5.2叢集啟動(3主3從) #!/bin/bash
cd /home/test/work/redis-cluster
redis-server ./redis-7000.conf
redis-server ./redis-7001.conf
redis-server ./redis-7002.conf
redis-server ./redis-7003.conf
redis-server ./redis-7004.conf
redis-server ./redis-7005.conf
#cd /home/test/work/source/redis-3.0.4/src/
#redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005
5.3 連接配接叢集(加-c表示連接配接叢集) redis-cli -c -h 127.0.0.1 -p 7000