1、前言
Redis是常用基于內(nèi)存的Key-Value數(shù)據(jù)庫(kù)馏臭,比Memcache更先進(jìn),支持多種數(shù)據(jù)結(jié)構(gòu)讼稚,高效括儒,快速。用Redis可以很輕松解決高并發(fā)的數(shù)據(jù)訪問問題锐想;做為時(shí)時(shí)監(jiān)控信號(hào)處理也非常不錯(cuò)帮寻。
2、安裝
//在終端中安裝Redis服務(wù)器端
sudo apt-get install redis-server
安裝完成后赠摇,Redis服務(wù)器會(huì)自動(dòng)啟動(dòng)固逗,我們檢查Redis服務(wù)器程序
//在終端中檢查Redis服務(wù)器系統(tǒng)進(jìn)程
ps -aux|grep redis
可以看到:
//在終端中通過啟動(dòng)命令檢查Redis服務(wù)器狀態(tài)
netstat -nlt|grep 6379
顯示: tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN
//通過啟動(dòng)命令檢查Redis服務(wù)器狀態(tài)
sudo /etc/init.d/redis-server status
顯示: redis-server is running
3、通過命令行客戶端訪問Redis
安裝Redis服務(wù)器藕帜,會(huì)自動(dòng)地一起安裝Redis命令行客戶端程序烫罩。
在本機(jī)輸入redis-cli命令就可以啟動(dòng),客戶端程序訪問Redis服務(wù)器耘戚。
~ redis-cli
redis 127.0.0.1:6379>
# 命令行的幫助
redis 127.0.0.1:6379> help
redis-cli 2.2.12
Type: "help @" to get a list of commands in
? ? ? "help " for help on
? ? ? "help " to get a list of possible help topics
? ? ? "quit" to exit
# 查看所有的key列表
redis 127.0.0.1:6379> keys *
(empty list or set)
基本的Redis客戶端命令操作
增加一條字符串記錄key1
# 增加一條記錄key1
redis 127.0.0.1:6379> set key1 "hello"
OK
# 打印記錄
redis 127.0.0.1:6379> get key1
"hello"
???2 . 增加一條數(shù)字記錄key2
# 增加一條數(shù)字記錄key2
set key2 1
OK
# 讓數(shù)字自增
redis 127.0.0.1:6379> INCR key2
(integer) 2
redis 127.0.0.1:6379> INCR key2
(integer) 3
# 打印記錄
redis 127.0.0.1:6379> get key2
"3"
???3. 增加一條列表記錄key3
# 增加一個(gè)列表記錄key3
redis 127.0.0.1:6379> LPUSH key3 a
(integer) 1
# 從左邊插入列表
redis 127.0.0.1:6379> LPUSH key3 b
(integer) 2
# 從右邊插入列表
redis 127.0.0.1:6379> RPUSH key3 c
(integer) 3
# 打印列表記錄嗡髓,按從左到右的順序
redis 127.0.0.1:6379> LRANGE key3 0 3
1) "b"
2) "a"
3) "c"
???4.增加一條哈希表記錄key4
# 增加一個(gè)哈希記表錄key4
redis 127.0.0.1:6379> HSET key4 name "John Smith"
(integer) 1
# 在哈希表中插入,email的Key和Value的值
redis 127.0.0.1:6379> HSET key4 email "abc@gmail.com"
(integer) 1
# 打印哈希表中收津,name為key的值
redis 127.0.0.1:6379> HGET key4 name
"John Smith"
# 打印整個(gè)哈希表
redis 127.0.0.1:6379> HGETALL key4
1) "name"
2) "John Smith"
3) "email"
4) "abc@gmail.com"
???5.增加一條哈希表記錄key5
# 增加一條哈希表記錄key5饿这,一次插入多個(gè)Key和value的值
redis 127.0.0.1:6379> HMSET key5 username antirez password P1pp0 age 3
OK
# 打印哈希表中,username和age為key的值
redis 127.0.0.1:6379> HMGET key5 username age
1) "antirez"
2) "3"
# 打印完整的哈希表記錄
redis 127.0.0.1:6379> HGETALL key5
1) "username"
2) "antirez"
3) "password"
4) "P1pp0"
5) "age"
6) "3"
???6.刪除記錄
# 查看所有的key列表
redis 127.0.0.1:6379> keys *
1) "key2"
2) "key3"
3) "key4"
4) "key5"
5) "key1"
# 刪除key1,key5
redis 127.0.0.1:6379> del key1
(integer) 1
redis 127.0.0.1:6379> del key5
(integer) 1
# 查看所有的key列表
redis 127.0.0.1:6379> keys *
1) "key2"
2) "key3"
3) "key4"
4撞秋、修改Redis的配置
1长捧、 使用Redis的訪問賬號(hào)
默認(rèn)情況下,訪問Redis服務(wù)器是不需要密碼的吻贿,為了增加安全性我們需要設(shè)置Redis服務(wù)器的訪問密碼串结。設(shè)置訪問密碼為redis。
用vi打開Redis服務(wù)器的配置文件redis.conf
~ sudo vi /etc/redis/redis.conf
#取消注釋requirepass
requirepass redis
2舅列、 讓Redis服務(wù)器被遠(yuǎn)程訪問
默認(rèn)情況下肌割,Redis服務(wù)器不允許遠(yuǎn)程訪問,只允許本機(jī)訪問帐要,所以我們需要設(shè)置打開遠(yuǎn)程訪問的功能把敞。
用vi打開Redis服務(wù)器的配置文件redis.conf
~ sudo vi /etc/redis/redis.conf
#注釋bind
#bind 127.0.0.1
修改后,重啟Redis服務(wù)器榨惠。
~ sudo /etc/init.d/redis-server restart
Stopping redis-server: redis-server.
Starting redis-server: redis-server.
未使用密碼登陸Redis服務(wù)器
~ redis-cli
redis 127.0.0.1:6379> keys *
(error) ERR operation not permitted
發(fā)現(xiàn)可以登陸奋早,但無法執(zhí)行命令了盛霎。
登陸Redis服務(wù)器,輸入密碼
~? redis-cli -a redisredis
redis 127.0.0.1:6379> keys *
1) "key2"
2) "key3"
3) "key4"
登陸后耽装,一切正常愤炸。
我們檢查Redis的網(wǎng)絡(luò)監(jiān)聽端口
//檢查Redis服務(wù)器占用端口
~ netstat -nlt|grep 6379
tcp? ? ? ? 0? ? ? 0 0.0.0.0:6379? ? ? ? ? ? 0.0.0.0:*? ? ? ? ? ? ? LISTEN
我們看到從之間的網(wǎng)絡(luò)監(jiān)聽從 127.0.0.1:6379 變成 0 0.0.0.0:6379,表示Redis已經(jīng)允許遠(yuǎn)程登陸訪問掉奄。
我們?cè)谶h(yuǎn)程的另一臺(tái)Linux訪問Redis服務(wù)器
~ redis-cli -a redisredis -h 192.168.1.199
redis 192.168.1.199:6379> keys *
1) "key2"
2) "key3"
3) "key4"
遠(yuǎn)程訪問正常规个。通過上面的操作,我們就把Redis數(shù)據(jù)庫(kù)服務(wù)器挥萌,在Linux Ubuntu中的系統(tǒng)安裝完成绰姻。
參考: https://blog.csdn.net/u010286751/article/details/48924635,親測(cè)可用引瀑,感謝。