1. 程式人生 > 其它 >redis教程(一)ubuntu上上安裝redis

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
切換到指定的資料庫