1. 程式人生 > >快取第三篇:redis入門之下載安裝和命令列使用

快取第三篇:redis入門之下載安裝和命令列使用

今天上午整理了一下redis的入門必備資料,以備後續使用。到官網看了下穩定版到3.2,測試版到4.0了。但我下載3.2解壓發現沒有redis-server,一直無法正常用命令列啟動。就在GitHub上找了windows-x64的下載地址,才算一切正常。

1.首先是下載安裝吧,這裡提供了好幾個版本的安裝版.msi和免安裝版.zip,我用的免安裝,版本是用的3.0.504

這裡寫圖片描述

右鍵解壓Redis ZIP包,把所有檔案解壓到redis資料夾中,包下有這些檔案:其中redis-server.exe是redis服務端程式,要用redis服務就要先開啟服務端(服務端開啟需要window環境配置,redis.windows.conf和redis.windows-service.conf是需要的配置檔案。二者區別是有沒有日誌列印這個效果。但是如果用-service這個配置啟動服務端,客戶端啟動後無法輸入,不知道啥原因。那就用第一個配置檔案),然後開啟客戶端redis-cli.exe.最後那個doc文件Windows Service Documentation.docx是有關如何使用redis的說明。在這裡你可以大致瞭解,不過有些不太準確,比如如何啟動服務端的就不對。先看的看看
現在版本的客戶端可以在服務端未開啟的情況下啟動成功,但是用不了,應為命令列輸入不進去。。。,舊版的是服務端不開啟,客戶端開啟就報錯,啟動不成功的。所以還是要先開啟服端。

這裡寫圖片描述

下面的這個圖是兩個環境配置檔案.conf的區別點,一看就明白。

這裡寫圖片描述

2.執行服務端和客戶端

按照啟動順序,先服務端,在客戶端。

開啟解壓的資料夾,在這裡調出命令視窗。輸入:
redis-server redis.windows.conf或者redis-server.exe redis.windows.conf都行,注意用空格隔開。
這裡用的配置是帶日誌列印的。效果如下:

這裡寫圖片描述

這就啟動了redis服務了。下面是客戶端redis-cli.exe—也是在該檔案目
錄中再開啟一個命令視窗,剛才開啟一個啟動redis服務了.

這裡寫圖片描述

這樣就完成了redis的服務端和客戶端的啟動。下面就可以在客戶端命令視窗中學習redis命令了。

這裡有redis命令大全。可以參考這個來進行學習命令列————->


這裡有對redis常用命令的總結:

1 連線操作命令

quit:關閉連線(connection)
auth:簡單密碼認證
help cmd: 檢視cmd幫助,例如:help quit

2 持久化

save:將資料同步儲存到磁碟
bgsave:將資料非同步儲存到磁碟
lastsave:返回上次成功將資料儲存到磁碟的Unix時戳
shutdown:將資料同步儲存到磁碟,然後關閉服務

3 遠端服務控制

info:提供伺服器的資訊和統計
monitor:實時轉儲收到的請求
slaveof:改變複製策略設定
config:在執行時配置Redis伺服器

4 對key操作的命令

exists(key):確認一個key是否存在
del(key):刪除一個key
type(key):返回值的型別
keys(pattern):返回滿足給定pattern的所有key
randomkey:隨機返回key空間的一個
keyrename(oldname, newname):重新命名key
dbsize:返回當前資料庫中key的數目
expire:設定一個key的活動時間(s)
ttl:獲得一個key的活動時間
select(index):按索引查詢
move(key, dbindex):移動當前資料庫中的key到dbindex資料庫
flushdb:刪除當前選擇資料庫中的所有key
flushall:刪除所有資料庫中的所有key

5 String

set(key, value):給資料庫中名稱為key的string賦予值value
get(key):返回資料庫中名稱為key的string的value
getset(key, value):給名稱為key的string賦予上一次的value
mget(key1, key2,…, key N):返回庫中多個string的value
setnx(key, value):新增string,名稱為key,值為value
setex(key, time, value):向庫中新增string,設定過期時間time
mset(key N, value N):批量設定多個string的值
msetnx(key N, value N):如果所有名稱為key i的string都不存在
incr(key):名稱為key的string增1操作
incrby(key, integer):名稱為key的string增加integer
decr(key):名稱為key的string減1操作
decrby(key, integer):名稱為key的string減少integer
append(key, value):名稱為key的string的值附加value
substr(key, start, end):返回名稱為key的string的value的子串

6 List

rpush(key, value):在名稱為key的list尾新增一個值為value的元素
lpush(key, value):在名稱為key的list頭新增一個值為value的 元素
llen(key):返回名稱為key的list的長度
lrange(key, start, end):返回名稱為key的list中start至end之間的元素
ltrim(key, start, end):擷取名稱為key的list
lindex(key, index):返回名稱為key的list中index位置的元素
lset(key, index, value):給名稱為key的list中index位置的元素賦值
lrem(key, count, value):刪除count個key的list中值為value的元素
lpop(key):返回並刪除名稱為key的list中的首元素
rpop(key):返回並刪除名稱為key的list中的尾元素
blpop(key1, key2,… key N, timeout):lpop命令的block版本。
brpop(key1, key2,… key N, timeout):rpop的block版本。
rpoplpush(srckey, dstkey):返回並刪除名稱為srckey的list的尾元素,並將該元素新增到名稱為dstkey的list的頭部

7 Set

sadd(key, member):向名稱為key的set中新增元素member
srem(key, member) :刪除名稱為key的set中的元素member
spop(key) :隨機返回並刪除名稱為key的set中一個元素
smove(srckey, dstkey, member) :移到集合元素
scard(key) :返回名稱為key的set的基數
sismember(key, member) :member是否是名稱為key的set的元素
sinter(key1, key2,…key N) :求交集
sinterstore(dstkey, (keys)) :求交集並將交集儲存到dstkey的集合
sunion(key1, (keys)) :求並集
sunionstore(dstkey, (keys)) :求並集並將並集儲存到dstkey的集合
sdiff(key1, (keys)) :求差集
sdiffstore(dstkey, (keys)) :求差集並將差集儲存到dstkey的集合
smembers(key) :返回名稱為key的set的所有元素
srandmember(key) :隨機返回名稱為key的set的一個元素

8 Hash

hset(id, key, value):向名稱為id的hash中新增元素key
hget(id, key):返回名稱為id的hash中key對應的value
hmget(id, (keys)):返回名稱為id的hash中keys對應的value
hmset(id, (keys)):向名稱為id的hash中新增多個元素key
hincrby(id, key, integer):將名稱為id的hash中key的value增加integer
hexists(id, key):名稱為id的hash中是否存在鍵為key的域
hdel(id, key):刪除名稱為id的hash中鍵為key的域
hlen(id):返回名稱為id的hash中元素個數
hkeys(id):返回名稱為id的hash中所有鍵
hvals(id):返回名稱為id的hash中所有鍵對應的value
hgetall(id):返回名稱為id的hash中所有的鍵(key)及其對應的value