linux 安裝redis 完整步驟

參考推薦:http://www.reibang.com/p/fbe40258fe27
點擊查看原文

1.獲取redis資源

  wget http://download.redis.io/releases/redis-4.0.8.tar.gz
獲取資源

2.解壓

tar xzvf redis-4.0.8.tar.gz
解壓

解壓后

3.安裝

  cd redis-4.0.8
  make
  cd src
  make install PREFIX=/usr/local/redis

4.移動配置文件到安裝目錄下

  cd ../
  mkdir /usr/local/redis/etc
  mv redis.conf  /usr/local/redis/etc

5.配置redis為后臺啟動

  vim  /usr/local/redis/etc/redis.conf 

將daemonize no 改成daemonize yes


image.png

6.將redis加入到開機啟動

  vi /etc/rc.local

//在里面添加內(nèi)容:

/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
意思就是開機調(diào)用這段開啟redis的命令

7.開啟redis

  /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf 

8.將redis-cli,redis-server拷貝到bin下醇滥,讓redis-cli指令可以在任意目錄下直接使用

  cp /usr/local/redis/bin/redis-server /usr/local/bin/
  cp /usr/local/redis/bin/redis-cli /usr/local/bin/

9.設(shè)置redis密碼

a.運行命令:

redis-cli

 b.查看現(xiàn)有的redis密碼(可選操作绵载,可以沒有)

config get requirepass 

如果沒有設(shè)置過密碼的話運行結(jié)果會如下圖所示


 c.設(shè)置redis密碼

config set requirepass ****

(****為你要設(shè)置的密碼)完域,設(shè)置成功的話會返回‘OK’字樣

 d.測試連接

重啟redis服務(wù)

redis-cli -h 127.0.0.1 -p 6379 -a ****

(****為你設(shè)置的密碼))

輸入 redis-cli 進(jìn)入命令模式贾节,使用 auth '*****' (****為你設(shè)置的密碼)登陸

10.讓外網(wǎng)能夠訪問redis

**a.配置防火墻: **

firewall-cmd --zone=public --add-port=6379/tcp --permanent

(開放6379端口)

systemctl restart firewalld

(重啟防火墻以使配置即時生效)

查看系統(tǒng)所有開放的端口:

firewall-cmd --zone=public --list-ports

b.此時 雖然防火墻開放了6379端口障本,但是外網(wǎng)還是無法訪問的锡搜,因為redis監(jiān)聽的是127.0.0.1:6379,并不監(jiān)聽外網(wǎng)的請求署驻。

(一)把文件夾目錄里的redis.conf配置文件里的bind 127.0.0.1前面加#注釋掉

(二)命令:redis-cli連接到redis后奋献,通過 config get daemonize和config get protected-mode 是不是都為no健霹,如果不是,就用config set 配置名 屬性 改為no瓶蚂。


image.png

image.png

設(shè)置systemctl啟動

[Unit]
Description=redis
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf 
ExecStop=/usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 6379 shutdown
PrivateTmp=true

[Install]
WantedBy=multi-user.target

然后保存退出
刷新一下
systemctl daemon-reload

systemctl 常用命令

systemctl enable redis 開機自啟redis服務(wù)

systemctl disable redis 取消開機自啟

systemctl start redis.service  啟動redis服務(wù)

systemctl stop redis.service  停止服務(wù)

systemctl restart redis.service  重新啟動服務(wù)

systemctl status redis.service 查看服務(wù)當(dāng)前狀態(tài)

systemctl list-units --type=service 查看所有已啟動的服務(wù)

=====以下不重要糖埋,在哪抄的忘了=====

常用命令

redis-server /usr/local/redis/etc/redis.conf //啟動redis

pkill redis //停止redis

卸載redis:

rm -rf /usr/local/redis //刪除安裝目錄

rm -rf /usr/bin/redis-* //刪除所有redis相關(guān)命令腳本

rm -rf /root/download/redis-4.0.4 //刪除redis解壓文件夾

8-啟動redis:

兩種方式:

redis-server &
加上`&`號使redis以后臺程序方式運行

或者是

redis-server

9-檢測后臺進(jìn)程是否存在

ps -ef |grep redis

10-檢測6379端口是否在監(jiān)聽

netstat -lntp | grep 6379

有時候會報異常

image

原因: Redis已經(jīng)啟動

解決: 關(guān)掉Redis,重啟即可

  1. redis-cli shutdown

  2. redis-server

然后你就能看到Redis愉快的運行了.

使用redis-cli客戶端檢測連接是否正常

  1. redis-cli

  2. 127.0.0.1:6379> keys *

  3. (empty list or set)

  4. 127.0.0.1:6379> set key "hello world"

  5. OK

  6. 127.0.0.1:6379> get key

  7. "hello world"

停止redis:

使用客戶端

redis-cli shutdown

因為Redis可以妥善處理SIGTERM信號,所以直接kill -9也是可以的

kill -9 PID

啟動redis服務(wù)端

$ src/redis-server

啟動redis客戶端

$ src/redis-cli

Redis客戶端常見操作

Redis是key-value數(shù)據(jù)庫窃这,支持五種數(shù)據(jù)類型:string(字符串)瞳别,hash(哈希),list(列表)杭攻,set(集合)及zset(sorted set:有序集合)祟敛。

  • 當(dāng)value是string類型,命令包括set get setnx incr del 等兆解。

set server:name "fido" // 設(shè)置鍵值
OK
get server:name // 獲取鍵值
"fido"
setnx connections 10 // set if not exists
OK
incr connections // 原子性增加values值
(integer) 11
incr connections
(integer) 12
del connections // 刪除key
(integer) 1
incr connections
(integer) 1

當(dāng)value是list類型馆铁,命令包括rpush lpush llen lrange lpop rpop del 等。

rpush friends "Alice" // 在末尾追加
(integer) 1
rpush friends "Bob"
(integer) 2
lpush friends "Sam" // 插入到開頭
(integer) 3

lrange friends 0 -1 // 返回列表的子集锅睛,類似切片操作

  1. "Sam"
  2. "Alice"
  3. "Bob"

lrange friends 0 1

  1. "Sam"
  2. "Alice"

lrange friends 1 2

  1. "Alice"
  2. "Bob"

llen friends // 返回列表長度
(integer) 3
lpop friends // 刪除并返回列表第一個元素
"Sam"
rpop friends // 刪除并返回列表最后一個元素
"Bob"
lrange friends 0 -1

  1. "Alice"

del friends // 刪除key
(integer) 1 // 1表示成功埠巨,0表示失敗

當(dāng)value是set類型,命令包括sadd srem sismember smembers sunion del等现拒。

sadd superpowers "flight" // 添加元素
(integer) 1
sadd superpowers "x-ray vision"
(integer) 1
sadd superpowers "reflexes"
(integer) 1
srem superpowers "reflexes" // 刪除元素
1

sismember superpowers "flight" // 測試元素是否在集合中
(integer) 1
sismember superpowers "reflexes"

(integer) 0

smembers superpowers // 返回集合中所有元素

  1. "x-ray vision"
  2. "flight"

sadd birdpowers "pecking"
(integer) 1
sadd birdpowers "flight"
(integer) 1
sunion superpowers birdpowers // 合并多個set辣垒,返回合并后的元素列表

  1. "x-ray vision"
  2. "flight"
  3. "pecking"

del superpowers // 刪除key

(integer) 1

當(dāng)value是zset類型,命令包括 zadd zrange del等印蔬,注意給value一個編號用于排序乍构。

zadd hacker 1940 "Alan Kay" // 給value指定一個編號,比如以年份1940作為編號
(integer) 1
zadd hacker 1906 "Grace Hopper"
(integer) 1
zadd hacker 1953 "Richard Stallman"
(integer) 1
zadd hacker 1965 "Yukihiro Matsumoto"
(integer) 1
zadd hacker 1916 "Claude Shannon"
(integer) 1
zadd hacker 1969 "Linux Torvalds"

(integer) 1

zadd hacker 1957 "Sophie Wilson"
(integer) 1
zadd hacker 1912 "Alan Turing"
(integer) 1

zrange hacker 2 4 // 切片返回有序集合中元素

  1. "Claude Shannon"
  2. "Alan Kay"
  3. "Richard Stallman"

del hacker // 刪除key

(integer) 1

當(dāng)value是hash類型扛点,hash類型可以理解為字典哥遮,需要給value指定一個field用于映射,命令包括hset hmset hget hgetall hdel hincrby del 等陵究。

hset user:1000 name "John Smith" // 給value指定一個field眠饮,比如name
(integer) 1
hset user:1000 email "john.smith@example.com"
(integer) 1
hset user:1000 password "s3cret"
(integer) 1
hgetall user:1000 // 獲得hash表中所有成員,包括field和value

  1. "name"
  2. "John Smith"
  3. "email"
  4. "john.smith@example.com"
  5. "password"
  6. "s3cret"

hmset user:1001 name "Mary Jones" password "hidden" email
"mjones@example.com" // 設(shè)置多個field和value
OK
hget user:1001 name // 根據(jù)field獲取value
"Mary Jones"

hset user:1000 visits 10 // field可以映射到數(shù)字值
(integer) 1
hincrby user:1000 visits 1 // 原子性增加value的值铜邮,增加1
(integer) 11
hincrby user:1000 visits 10 // 增加10
(integer) 21
hdel user:1000 visits // 刪除field及其value
(integer) 1
hincrby user:1000 visits 1
(integer) 1

del user:1000 // 刪除key

(integer) 1

設(shè)置和查看key的生命周期仪召,key過期會被自動刪除,命令包括expire ttl 等松蒜。

set resource:lock "Redis Demo"
OK
expire resource:lock 120 // 設(shè)置生命周期為120s
(integer) 1
ttl resource:lock // 查看當(dāng)前生命周期還剩多少時間
(integer) 109
ttl resource:lock // 120s后查看扔茅,返回-2表示已過期或不存在
(integer) -2

set resource:lock "Redis Demo 2"

OK

ttl resource:lock // 返回-1表示永不過期
(integer) -1

查看linux上面是否有安裝redis,redis啟動

1、檢測是否有安裝redis-cli和redis-server;

  1. [root@localhost bin]# whereis redis-cli

  2. redis-cli: /usr/bin/redis-cli

  3. [root@localhost bin]# whereis redis-server

  4. redis-server: /usr/bin/redis-server

Linux系統(tǒng)下設(shè)置redis的密碼

Linux系統(tǒng)下設(shè)置redis的密碼:

1秸苗、進(jìn)入redis操作的命令行

運行命令:redis-cli

2召娜、查看現(xiàn)有的redis密碼(可選操作,可以沒有)

運行命令:config get requirepass如果沒有設(shè)置過密碼的話運行結(jié)果會如下圖所示

image

3惊楼、設(shè)置redis密碼

運行命令:config set requirepass ****(****為你要設(shè)置的密碼)玖瘸,設(shè)置成功的話會返回‘OK’字樣

4秸讹、重啟redis服務(wù)

ctrl+C退出當(dāng)前的命令行模式后運行命令:

redis-cli -h 127.0.0.1 -p 6379 -a ****(****為你心設(shè)置的密碼)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市雅倒,隨后出現(xiàn)的幾起案子璃诀,更是在濱河造成了極大的恐慌,老刑警劉巖蔑匣,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件劣欢,死亡現(xiàn)場離奇詭異,居然都是意外死亡裁良,警方通過查閱死者的電腦和手機氧秘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來趴久,“玉大人丸相,你說我怎么就攤上這事”斯鳎” “怎么了灭忠?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長座硕。 經(jīng)常有香客問我弛作,道長,這世上最難降的妖魔是什么华匾? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任映琳,我火速辦了婚禮,結(jié)果婚禮上蜘拉,老公的妹妹穿的比我還像新娘萨西。我一直安慰自己,他們只是感情好旭旭,可當(dāng)我...
    茶點故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布谎脯。 她就那樣靜靜地躺著,像睡著了一般持寄。 火紅的嫁衣襯著肌膚如雪源梭。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天稍味,我揣著相機與錄音废麻,去河邊找鬼。 笑死模庐,一個胖子當(dāng)著我的面吹牛烛愧,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼屑彻,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了顶吮?” 一聲冷哼從身側(cè)響起社牲,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎悴了,沒想到半個月后搏恤,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡湃交,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年熟空,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片搞莺。...
    茶點故事閱讀 39,981評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡息罗,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出才沧,到底是詐尸還是另有隱情迈喉,我是刑警寧澤,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布温圆,位于F島的核電站挨摸,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏岁歉。R本人自食惡果不足惜得运,卻給世界環(huán)境...
    茶點故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望锅移。 院中可真熱鬧熔掺,春花似錦、人聲如沸非剃。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽努潘。三九已至诽偷,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間疯坤,已是汗流浹背报慕。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留压怠,地道東北人眠冈。 一個月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親蜗顽。 傳聞我的和親對象是個殘疾皇子布卡,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,933評論 2 355