2018-10-10
LinuxRedis安裝:
下載地址http://redis.io/download
安裝步驟:
1 把下載好的redis-3.0.0-rc2.tar.gz 放到linux /usr/local文件夾下
2 進(jìn)行解壓 tar -zxvf redis-3.0.0-rc2.tar.gz
3 進(jìn)入到redis-3.0.0目錄下,進(jìn)行編譯 make(執(zhí)行make命令時(shí),若出現(xiàn)需要安裝make模塊,則沒有C語(yǔ)言編譯器,sudo apt-get install -y gcc,安裝編譯器)
4 進(jìn)入到src下進(jìn)行安裝 make install 驗(yàn)證(ll查看src下的目錄,有redis-server 、redis-cil即可)
5 建立倆個(gè)文件夾存放redis命令和配置文件
mkdir -p /usr/local/redis/etc
mkdir -p /usr/local/redis/bin
6 把redis-3.0.0下的redis.conf 移動(dòng)到/usr/local/redis/etc下,
cp redis.conf /usr/local/redis/etc/
7 把redis-3.0.0/src里的mkreleasehdr.sh、redis-benchmark、redis-check-aof、redis-check-dump、redis-cli、redis-server
文件移動(dòng)到bin下,命令:
mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server /usr/local/redis/bin
8 啟動(dòng)時(shí)并指定配置文件:./redis-server /usr/local/redis/etc/redis.conf(注意要使用后臺(tái)啟動(dòng),所以修改redis.conf里的 daemonize 改為yes)
9 驗(yàn)證啟動(dòng)是否成功:
ps -ef | grep redis 查看是否有redis服務(wù) 或者 查看端口:netstat -tunpl | grep 6379
進(jìn)入redis客戶端 ./redis-cli 退出客戶端quit
退出redis服務(wù):
(1)pkill redis-server 、
(2)kill 進(jìn)程號(hào)、
(3)/usr/local/redis/bin/redis-cli shutdown
一、 string字符串命令操作

1.1 set key value # 保存一個(gè)鍵值對(duì)

1.2 get key # 根據(jù)可以值,獲取對(duì)應(yīng)的值

1.3 mset key value [key value ...] # 一次性存儲(chǔ)多個(gè)鍵值對(duì)

1.4 mget key [key ...] # 獲取多個(gè)key對(duì)應(yīng)的值

2. setex key seconds value # 儲(chǔ)存一個(gè)臨時(shí)的鍵值對(duì),單位為秒(10秒為例)

10秒失效:

3.1 incr key # 將一個(gè)key對(duì)應(yīng)的值,加一, 僅對(duì)數(shù)據(jù)字符串有效?。?!
image.png

3.2 incrby key value # 將一個(gè)key對(duì)應(yīng)的值,加value,僅對(duì)數(shù)據(jù)字符串有效?。?!

(value = -1, 可以進(jìn)行減法操作)
4.1 decr key # 將一個(gè)key對(duì)應(yīng)的值,減一, 僅對(duì)數(shù)據(jù)字符串有效?。?!
image.png

4.2 decrby key value # 將一個(gè)key對(duì)應(yīng)的值,減value,僅對(duì)數(shù)據(jù)字符串有效?。?!
image.png

5. strlen key # 計(jì)算key對(duì)應(yīng)的值,的長(zhǎng)度
image.png

6. append key value # 獲取key對(duì)應(yīng)的值,將value進(jìn)行字符串拼接
image.png

7. setnx key value # 如果存在key,則無(wú)效,如果不存在,則保存該鍵值對(duì)
image.png

二、hash:是一個(gè)string類型的field和value的映射表,hash特別適合用于存儲(chǔ)對(duì)象。
u1 = User(1, 'diye', 20, 'lalala')
1. hset key filed value # 添加一個(gè)對(duì)象(key),給對(duì)象添加屬性(field),和對(duì)應(yīng)的值(value)
image.png

1.2 hget key field # 獲取key對(duì)應(yīng)的屬性的值
image.png

1.3 hmset key field value [field value ...] # 為key添加多個(gè)屬性,和對(duì)應(yīng)的值
image.png

1.4 hmget key field [field ...] # 獲取key對(duì)應(yīng)的多個(gè)屬性的值
image.png

5. hgetall key # 獲取key對(duì)象的所有屬性和對(duì)應(yīng)的值
image.png

6. hkeys key # 直接獲取對(duì)象的屬性,不返回屬性的值!
image.png

7. hvals key # 直接獲取對(duì)象的值,不返回屬性!
image.png

8. hlen key # 獲取對(duì)象的屬性的數(shù)量
image.png

9. hstrlen key field # 獲取對(duì)象的屬性對(duì)應(yīng)的值的長(zhǎng)度
image.png

10. hexists key field # 查看對(duì)象是否有該屬性,沒有返回0,有返回1。
image.png

11. hsetnx key field value # 查詢對(duì)象的屬性是否存在,存在則不操作,不存在,保存!

12. hincrby key field value # 對(duì)對(duì)象的屬性進(jìn)行加法運(yùn)算,必須是數(shù)字字符串!
image.png

(value = -1, 可進(jìn)行減法操作)
三、key操作:
-
keys * # 查詢當(dāng)前數(shù)據(jù)庫(kù)中所有的key的個(gè)數(shù) image.png
-
exists key [key ...] # 查詢key是否存在當(dāng)前數(shù)據(jù)庫(kù)image.png
-
del key [key ...] # 刪除keyimage.png
-
type key # 查看key類型image.png
-
expire key seconds # 為一個(gè)已存在的key設(shè)置有效時(shí)間
-2,表示失效/不存在
ttl key # 查看失效時(shí)間
-1, 永久存在
image.png -
move key db # 移動(dòng)key到指定數(shù)據(jù)庫(kù)(數(shù)據(jù)庫(kù)自動(dòng)創(chuàng)建)image.png
-
select index # 切換到指定數(shù)據(jù)庫(kù)中image.png
-
info [section] # 可查詢當(dāng)前數(shù)據(jù)庫(kù)的各種狀態(tài)image.png
-
dbsize # 返回當(dāng)前數(shù)據(jù)庫(kù)key的個(gè)數(shù)image.png
-
flushdb # 刪除當(dāng)前數(shù)據(jù)庫(kù)所有數(shù)據(jù)image.png
(flushall # 刪除所有數(shù)據(jù)庫(kù)的所有數(shù)據(jù)?。。。?/p>
-
persist key # 取消失效,永久保存(-1)image.png
四、list命令:list列表,有序存儲(chǔ)多個(gè)數(shù)據(jù)
1.1 lpush list1 value [value ...] # 從列表左側(cè)依次加入value值! !
lrange key start stop # 按下標(biāo)循環(huán)列表,輸出列表值
1.2 rpush list1 value [value ...] # 從列表左側(cè)依次加入value值! !

2. linsert key BEFORE|AFTER pivot value # 增加key值到指定位置
image.png

3.1 lpop key # 刪除最左側(cè)的key值
image.png

3.2 rpop key # 刪除最右側(cè)的key值
image.png

4.1 lindex key index # 根據(jù)索引獲取值

4.2 ltrim key start stop # 根據(jù)索引切割列表(刪除切割的內(nèi)容)
image.png

四、set
1. sadd key member [member ...] # 建立集合key,并添加元素member
image.png

2. smember key # 查詢集合中的元素
image.png

3. sismember key member # 查詢集合是否存在該元素!,沒有返回0.
image.png

4. scard key #查詢集合中元素的個(gè)數(shù)
image.png

5. sinter key [key ...] # 求多個(gè)集合的交集

6. sdiff key [key ...] #求集合中左邊個(gè)集合的差集,
image.png

7. sunion key [key ...] #求集合的并集
image.png

1. zadd key score member [score member ...] # 建立一個(gè)有序的集合,該元素有一個(gè)權(quán)重,用于判斷位置
image.png

2. zcard key #求有序集合中元素的個(gè)數(shù)
image.png

3. zragne key start stop # 遍歷有序集合
image.png

4. zcount key min max #計(jì)算有序集合中兩個(gè)權(quán)重之間的元素的個(gè)數(shù)
image.png

5. zscore key member #返回元素在有序集合中的權(quán)重











