redis教程(一)ubuntu上上安裝redis
Redis 通常被稱為資料結構伺服器,因為值(value)可以是字串(String)、雜湊(Hash)、列表(list)、集合(sets)和有序集合(sorted sets)等
一、下載redis方法
方法一:取官方下載,然後用winscp等工具傳到Ubuntu中
方法二:從官網獲取到下載連結,然後直接再linux系統中使用wget命令下載檔案
redis官網:https://redis.io/download/
ubuntu的下載連結:https://download.redis.io/releases/redis-6.2.7.tar.gz
原始碼地址:https://github.com/redis/redis
Redis 線上測試:http://try.redis.io/
Redis 命令參考:http://doc.redisfans.com/
二、解壓安裝
1.解壓安裝
# wget https://download.redis.io/releases/redis-6.2.7.tar.gz # tar xzf redis-6.2.7.tar.gz
# cd redis-6.0.8
# make
2.執行完 make 命令後,redis的 src 目錄下會出現編譯後的 redis 服務程式 redis-server,還有用於測試的客戶端程式 redis-cli:
下面啟動 redis 服務:
# cd src # ./redis-server
3.也可以通過啟動引數告訴 redis 使用指定配置檔案使用下面命令啟動。(ctrl+C可以退出服務)
# cd src
# ./redis-server ../redis.conf
4.使用測試客戶端程式 redis-cli 和 redis 服務互動了。
# cd src
# ./redis-cli
redis> set star zhai
OK
redis> get star
"zhai"
三、配置Redis
詳見:https://www.runoob.com/redis/redis-conf.html
1.檢視配置 格式
redis 127.0.0.1:6379> CONFIG GET CONFIG_SETTING_NAME
CONFIG GET * 獲取所有配置項
redis 127.0.0.1:6379> CONFIG GET loglevel
2.編輯配置 通過修改 redis.conf 檔案或使用 CONFIG set 命令來修改配置。
格式:redis 127.0.0.1:6379> CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUE
設定密碼
CONFIG set requirepass "你的密碼"
此後重連線使用時,需要先輸入密碼 AUTH 你的密碼
三、資料型別
Redis支援五種資料型別:string(字串),hash(雜湊),list(列表),set(集合)及zset(sorted set:有序集合)
1.String
可以理解成與 Memcached 一模一樣的型別,string 型別的值最大能儲存 512MB。
set testkey "starzhai"
get testkey
2.Hash(雜湊) 類似於兩層巢狀的key-value
Redis hash 是一個鍵值(key=>value)對集合。
Redis hash 是一個 string 型別的 field 和 value 的對映表,hash 特別適合用於儲存物件。
每個 hash 可以儲存 232 -1 鍵值對(40多億)
del testkey hmset testkey keyname1 "hello" keyname2 "xingxing" hmget testkey keyname1 hmget testkey keyname2
3.List列表
Redis 列表是簡單的字串列表,按照插入順序排序。你可以新增一個元素到列表的頭部(左邊)或者尾部(右邊)。
入隊:push 出隊range 分別有l r左右兩種方向
#佇列是入尾出頭 rpush lrange 以下內容為左入左出類似於棧
del testkey
lpush testkey tianjinshi
lpush testkey nankaiqu
lpush testkey hongqinanlu
lrange testkey 0 5
4.set 集合
Redis 的 Set 是 string 型別的無序集合。
集合是通過雜湊表實現的,所以新增,刪除,查詢的複雜度都是 O(1)。
增:sadd keynames member 查:sembers keynames
del testkey
sadd testkey tianjin
sadd testkey nankai
sadd testkey tianjin
#重複元素新增不進去
smembers testkey
5.ZSET有序集合
Redis zset 和 set 一樣也是string型別元素的集合,且不允許重複的成員。
不同的是每個元素都會關聯一個double型別的分數。redis正是通過分數來為集合中的成員進行從小到大的排序。
zset的成員是唯一的,但分數(score)卻可以重複。
增:zadd key score member
查 zrangebyscore runoob 0 100
127.0.0.1:6379> del testkey (integer) 1 127.0.0.1:6379> zadd testkey 0 s (integer) 1 127.0.0.1:6379> zadd testkey 2 a (integer) 1 127.0.0.1:6379> zadd testkey 3 r (integer) 1 127.0.0.1:6379> zadd testkey 0 t (integer) 1 127.0.0.1:6379> zadd testkey 4 s (integer) 0 127.0.0.1:6379> zrangebyscore testkey 0 10 1) "t" 2) "a" 3) "r" 4) "s" 127.0.0.1:6379>
後來重複新增的value s 對應的score4替換掉原來的score0
五、redis命令
1.啟動客戶端
redis-cli
執行ping命令,若redis服務已啟動會返回pong
$redis-cli -h 127.0.0.1 -p 6379 -a "mypass" redis 127.0.0.1:6379> redis 127.0.0.1:6379> PING PONG
六、Redis連線
1 |
AUTH password 驗證密碼是否正確 |
2 |
ECHO message 列印字串 |
3 |
PING 檢視服務是否執行 |
4 |
QUIT 關閉當前連線 |
5 |
SELECT index 切換到指定的資料庫 |