1. 下載安裝
- 下載
- 方式:
wget http://download.redis.io/releases/redis-5.0.5.tar.gz
(2019-6-19最新)圣蝎;
- 方式:
- 解壓
-
tar -zxvf redis-5.0.5.tar.gz
;
-
- 移動至/usr/local目錄下
-
mv ./redis-5.0.5 /usr/local/redis
;
-
- 進(jìn)入目錄
-
cd /usr/local/redis
毁嗦;
-
- 編譯
make
-
make后報錯如下:
- 解決方式參考:https://blog.csdn.net/wlwlwlwl015/article/details/50444672
- 解決make報錯:安裝gcc
-
yum -y install gcc automake autoconf libtool make
-
- 重新編譯
-
make
注意,如果編譯失敗則將redis文件夾刪除重新解壓后編譯嘿悬。
-
- 編譯測試
- 如編譯成功后提示锋爪,執(zhí)行
make test
-
make test報錯
- 解決make test報錯
wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz
tar xzvf tcl8.6.1-src.tar.gz -C /usr/local/
cd /usr/local/tcl8.6.1/unix/
./configure
make
make install
- 再次make test
-
大部分[ok],有警告:
(原因不清楚姥宝,繼續(xù)往下= =翅萤!)
-
- 如編譯成功后提示锋爪,執(zhí)行
- 安裝
make install
成功!
- redis-server redis服務(wù)器
- redis-cli redis命令行客戶端
- redis-benchmark redis性能測試工具
- redis-check-aof AOF文件修復(fù)工具
- redis-check-rdb RDB文件檢索工具
2. 配置
- 復(fù)制配置文件到/etc/redis目錄
cp /usr/local/redis/redis.conf /etc/redis
腊满; - 配置文件說明
參考:https://www.cnblogs.com/tmpt/p/redis_conf_detail_annotation.html套么; - 主要配置
- bind 127.0.0.1 # 綁定ip,如果需要遠(yuǎn)程訪問,可注釋碳蛋,或綁定多個真實ip胚泌;
- port 6379 # 端口;
- daemonize yes # 以守護(hù)進(jìn)程運(yùn)行肃弟,不會在命令行阻塞玷室,類似于服務(wù)零蓉;
- dbfilename dump.rdb # 數(shù)據(jù)文件;
- dir /var/lib/redis # 數(shù)據(jù)文件存儲路徑穷缤;
- logfile /var/log/redis/redis-server.log # 日志文件敌蜂;
- database 16 # 數(shù)據(jù)庫,默認(rèn)16個津肛;
- slaveof # 主從配置時使用章喉;
3. 主要命令
- 服務(wù)器端:
- 啟動:
-
cd /usr/local/bin
;./redis-server &
-
redis-server /etc/redis/redis.conf
# 加載指定的配置文件啟動
-
- 停止:
kill -9 pid
- 啟動:
- 客戶端:
- 啟動:
redis-cli
- 測試:
ping
- 切換數(shù)據(jù)庫:
select n # 默認(rèn)是0,即第一個數(shù)據(jù)庫
- 啟動:
4. 操作
redis數(shù)據(jù)結(jié)構(gòu)為key-value形式快耿,key為字符串囊陡,不可重復(fù)。值共有五種類型:
- 字符串string
- 列表list
- 哈希hash
- 集合set
- 有序集合zset
4.1 鍵命令
- 查找鍵
keys pattern # pattren支持正則表達(dá)式
- 查看鍵是否存在
exists key # 返回1表示在掀亥,0表示不在
- 查看鍵類型
type key # 查看值得類型
- 刪除鍵
del key1 key2... # 刪除鍵
- 設(shè)置鍵過期時間
expire key seconds # 設(shè)置小于等于0的數(shù)相當(dāng)于刪除鍵
- 查看鍵有效時間
ttl key # -1表示永久有效撞反,但expire key -1只能刪除鍵,不能當(dāng)成是設(shè)置永久有效搪花,可以通過set key value來讓有有效時間的key永久有效遏片。setex key seconds value中seconds只能為正整數(shù)
4.2 字符串操作
redis中字符串類型value最多可以容納512M大小數(shù)據(jù)的長度。
注意下面命令中key和value不加引號也是可以的撮竿。
- 添加/修改
set key value # 鍵沒有則添加吮便,鍵存在則修改
setex key seconds value # 設(shè)置過期時間,單位:秒
mset key1 value1 key2 value2 ... # 一次設(shè)置多個鍵值
append key value # 在key對應(yīng)原value后面拼加新的字符串作為新value幢踏。如果key不存在髓需,則添加key-value
- 獲取
get key
mget key1 key2 ... # 根據(jù)多個鍵獲取多個值
4.3 hash操作(值類型為string)
- 添加/修改
hset key field value # 設(shè)置單個屬性
hset/hmset key field1 value1 field2 value2... # 設(shè)置多個屬性
- 獲取
hkeys key # 獲取指定鍵所有屬性
hget key field # 獲取單個屬性的值
hmget key field1 field2... # 獲取多個屬性的值,注意獲取多個時只能hmget房蝉,hget不行
havls key # 獲取所有屬性的值
- 刪除
del key # 刪除hash鍵
hdel key field1 field2... # 刪除key的多個屬性
4.4 list操作(元素類型為string)
按照插入順序排序
- 添加
lpush key value1 value2 ... # 在左側(cè)插入數(shù)據(jù)
rpush key value1 value2 ... # 在右側(cè)插入數(shù)據(jù)
linsert key before|after value value1僚匆, value2... # 在元素value左/右插入元素
- 獲取
lrange key start stop # 獲取從start到stop索引的所有元素,索引可以為負(fù)數(shù)搭幻,-1表示最后一個元素
- 設(shè)置
lset key index value # 設(shè)置指定索引位置的元素
- 刪除
lrem key count value # 將列表前count次出現(xiàn)的value刪除咧擂,count>0 從頭到尾刪除,count<0 從尾到頭刪除檀蹋,count=0 刪除全部
4.5 set操作(元素類型為string)
set類型沒有修改操作
元素具有唯一性松申,不重復(fù)(重復(fù)的加不進(jìn)去)
- 添加
sadd key value1 value2
- 獲取
smembers key
- 刪除
srem key value1 # 刪除指定元素
4.6 zset操作(元素類型為string)
元素唯一,不重復(fù)俯逾,有序
- 添加
zadd key score1 value1, score2 value2 ... # score表示權(quán)重贸桶,排序規(guī)則用
- 獲取
zrange key start stop # 獲取指定范圍內(nèi)的元素
zrangebyscore key min max # 返回score值在min到max之間的元素
zscore key member # 返回元素member中的score值
- 刪除
zrem key member1 member2 ... # 刪除指定元素
zremrangebyscore key min max... # 刪除權(quán)重在min到max直接的元素