redis入門教程(更新中)
1.安裝使用radis
1.下載安裝:
- 1.下載地址:https://github.com/MSOpenTech/redis/releases
- 2.配置全域性路徑:
在path中加入解壓後的資料夾目錄
- 3.radis牛刀小試:
開啟一個 cmd 視窗 使用 cd 命令切換目錄執行(注意如果第二步已經加入了環境變數中,就無需cd到該目錄):
redis-server.exe
注意沒有配置全域性變數的方法:
redis-server.exe redis.windows.conf
- 4.這時候另啟一個 cmd 視窗,原來的不要關閉,不然就無法訪問服務端了。切換到 redis 目錄下執行(注意如果第二步已經加入了環境變數中,就無需cd到該目錄):
redis-cli.exe -h 127.0.0.1 -p 6379
- 4.設定鍵值對(key——value):
set myKey abc//用於設定鍵值
get myKey//根據鍵取出值
2.redis配置:
- 1.獲取redis配置:
config get config_set_name
例如:檢視日誌級別:
config get loglevel
- 2.設定redis配置:
CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUE
比如設定日誌級別:
config set loglevel ‘notice’
此處將日誌級別設定為notice
3.redis資料型別
- 1.String字串
一個 key 對應一個 value,string 型別是二進位制安全的。意思是 redis 的 string 可以包含任何資料。比如jpg圖片或者序列化的物件。string 型別是 Redis 最基本的資料型別,string 型別的值最大能儲存 512MB。
set name 'redis'
get name //此處就可以得到name對應的value值
- 2.Hash
Redis hash 是一個鍵值(key=>value)對集合。Redis hash 是一個 string 型別的 field 和 value 的對映表,hash 特別適合用於儲存物件。
HMSET myhash field1 "Hello" field2 "World" field "I love You"//此處用於設定值
HGET myhash field1//此處用於得到field1對應的值
例項中我們使用了 Redis HMSET, HGET 命令,HMSET 設定了兩個 field=>value 對, HGET 獲取對應 field 對應的 value。每個 hash 可以儲存 232 -1 鍵值對(40多億)。
- 3.List(列表)
Redis 列表是簡單的字串列表,按照插入順序排序。你可以新增一個元素到列表的頭部(左邊)或者尾部(右邊)。(輸出順序為先入先出)
lpush runoob(這個是列表名) redis(這個是你要插入的元素)//lpush用於向佇列中插入元素
lrange runoob 0 10//lrange用於輸出列表中的元素,此處用於輸出列表中的0——10號所有的元素
- 4.Set(集合)
Redis的Set是string型別的無序集合。集合是通過雜湊表實現的,所以新增,刪除,查詢的複雜度都是O(1)。
sadd 命令新增一個 string 元素到 key 對應的 set 集合中,成功返回1,如果元素已經在集合中返回 0,如果 key 對應的 set 不存在則返回錯誤。
sadd runoob redis
sadd runoob mongodb
sadd runoob rabitmq
sadd runoob rabitmq
//此處之上都是向set集合runoob中插入元素
smembers runoob//此處是用於輸出遍歷元素,其中輸出的順序為無序,尤其要注意的是set集合中元素不可以重複,最新的元素會把原來相同的元素覆蓋掉
- 5.zset(sorted set:有序集合)
redis 127.0.0.1:6379> zadd runoob 0 redis
(integer) 1
redis 127.0.0.1:6379> zadd runoob 0 mongodb
(integer) 1
redis 127.0.0.1:6379> zadd runoob 0 rabitmq
(integer) 1
redis 127.0.0.1:6379> zadd runoob 0 rabitmq
(integer) 0
redis 127.0.0.1:6379> > ZRANGEBYSCORE runoob 0 1000
4.Redis 命令
- 1.啟動redis服務,在cmd中輸入:
redis-server.exe//前提是已經配置好了redis的全域性變數
- 2.在開啟一個cmd,輸入:
redis-cli//用於啟動客戶端
如果需要在遠端 redis 服務上執行命令,同樣我們使用的也是 redis-cli 命令。
redis-cli -h host -p port -a password
比如:redis-cli -h 127.0.0.1 -p 6379 -a "mypass"
注意:有時候會有中文亂碼。要在 redis-cli 後面加上 --raw
redis-cli --raw
5.Redis 鍵(key)
Redis 鍵命令用於管理 redis 的鍵。
命令:COMMAND KEY_NAME
SET runoobkey redis//用於設定鍵(String 型別)
DEL runoobkey//刪除鍵(DEL 是一個命令, runoobkey 是一個鍵。 如果鍵被刪除成功,命令執行後輸出 (integer) 1,否則將輸出 (integer) 0)
序號 | 命令 | 描述 |
---|---|---|
1 | del key | 該命令用於在 key 存在時刪除 key。如果鍵被刪除成功,命令執行後輸出 (integer) 1,否則將輸出 (integer) 0 |
2 | dump key | 序列化給定 key ,並返回被序列化的值。 |
3 | exists key | 檢查給定 key 是否存在。 |
4 | expire key seconds | 為給定 key 設定過期時間,以秒計。 |
5 | expireat key timestamp | EXPIREAT 的作用和 EXPIRE 類似,都用於為 key 設定過期時間。 不同在於 EXPIREAT 命令接受的時間引數是 UNIX 時間戳(unix timestamp)。 |
6 | PEXPIRE key milliseconds | 設定 key 的過期時間以毫秒計。 |
7 | PEXPIREAT key milliseconds-timestamp | 設定 key 過期時間的時間戳(unix timestamp) 以毫秒計 |
8 | KEYS pattern | 查詢所有符合給定模式( pattern)的 key 。 |
9 | MOVE key db | 將當前資料庫的 key 移動到給定的資料庫 db 當中。 |
10 | PERSIST key | 移除 key 的過期時間,key 將持久保持。 |
11 | PTTL key | 以毫秒為單位返回 key 的剩餘的過期時間。 |
12 | TTL key | 以秒為單位,返回給定 key 的剩餘生存時間(TTL, time to live)。 |
13 | RANDOMKEY | 從當前資料庫中隨機返回一個 key 。 |
14 | RENAME key newkey | 修改 key 的名稱 |
15 | RENAMENX key newkey | 僅當 newkey 不存在時,將 key 改名為 newkey 。 |
16 | TYPE key | 返回 key 所儲存的值的型別。 |
6.Redis 字串(String)
Redis 字串資料型別的相關命令用於管理 redis 字串值,基本語法如下:
COMMAND KEY_NAME
比如:
SET runoobkey redis//設定鍵runoobkey 對應的值為redis
GET runoobkey//獲取鍵runoobkey對應的值
常用的 redis 字串命令:
7.Redis 雜湊(Hash)
Redis hash 是一個string型別的field和value的對映表,hash特別適合用於儲存物件。Redis 中每個 hash 可以儲存 232 - 1 鍵值對(40多億)。
舉一個例項:
127.0.0.1:6379> HMSET runoobkey name "redis tutorial" description "redis basic commands for caching" likes 20 visitors 23000
OK
127.0.0.1:6379> HGETALL runoobkey
1) "name"
2) "redis tutorial"
3) "description"
4) "redis basic commands for caching"
5) "likes"
6) "20"
7) "visitors"
8) "23000"