1. 程式人生 > >redis入門教程(更新中)

redis入門教程(更新中)

1.安裝使用radis

1.下載安裝:

在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"