一、什么是redis
redis是用c語(yǔ)言開(kāi)發(fā)的一個(gè)開(kāi)源的高性能鍵值對(duì)(key-value)數(shù)據(jù)庫(kù),通過(guò)提供多種鍵值數(shù)據(jù)類型來(lái)適應(yīng)不同場(chǎng)景下的存儲(chǔ)需求杉畜,目前為止redits支持的鍵值數(shù)據(jù)類型如下:
- 字符串類型
- 散列類型
- 列表類型
- 集合類型
- 有序集合類型
二绘面、redis的應(yīng)用場(chǎng)景
- 緩存(數(shù)據(jù)查詢、短連接蹋凝、新聞內(nèi)容、商品內(nèi)容等)
- 聊天室的在線好友列表
- 任務(wù)隊(duì)列(秒殺总棵、搶購(gòu)鳍寂、12306等)
- 應(yīng)用排行榜
- 網(wǎng)站訪問(wèn)統(tǒng)計(jì)
- 數(shù)據(jù)過(guò)期處理
- 分布式集群架構(gòu)中的session分離
三、redis安裝和使用
(建議安裝在linux服務(wù)器上進(jìn)行測(cè)試)
???首先需要切換到root用戶
- Redis在linux上的安裝首先必須先安裝gcc情龄,這個(gè)是用來(lái)編譯redis的源文件的迄汛。
[root@localhost ~]# yum install gcc-c++
這個(gè)命令是在線安裝的,所以在這之前你的VM必須能夠上網(wǎng)
之后便會(huì)出現(xiàn)下載文件界面骤视,然后出現(xiàn)確認(rèn)界面鞍爱,輸入y即可
然后會(huì)進(jìn)行更新檢查,進(jìn)行更新驗(yàn)證等等操作专酗,等他自動(dòng)完成即可睹逃。
出現(xiàn)如下代碼即是安裝成功:
Installed:
gcc-c++.x86_64 0:4.8.5-11.el7
Dependency Installed:
cpp.x86_64 0:4.8.5-11.el7
gcc.x86_64 0:4.8.5-11.el7
glibc-devel.x86_64 0:2.17-157.el7_3.5
glibc-headers.x86_64 0:2.17-157.el7_3.5
kernel-headers.x86_64 0:3.10.0-514.26.2.el7
libmpc.x86_64 0:1.0.1-3.el7
libstdc++-devel.x86_64 0:4.8.5-11.el7
Dependency Updated:
glibc.x86_64 0:2.17-157.el7_3.5
glibc-common.x86_64 0:2.17-157.el7_3.5
Complete!
- 解壓redis的源文件
[root@localhost chris]# wget http://download.redis.io/releases/redis-4.0.1.tar.gz
[root@localhost Desktop]# ls
redis-4.0.1.tar.gz
[root@localhost Desktop]# tar zxvf redis-4.0.1.tar.gz
redis-4.0.1/
redis-4.0.1/.gitignore
redis-4.0.1/00-RELEASENOTES
redis-4.0.1/BUGS
redis-4.0.1/CONTRIBUTING
.
.
.
- 進(jìn)入redis的解壓目錄
[root@localhost Desktop]# ls
redis-4.0.1 redis-4.0.1.tar.gz
[root@localhost Desktop]# cd redis-4.0.1/
- 使用
make
命令編譯
[root@localhost redis-4.0.1]# make
出現(xiàn)以下信息即編譯成功
CC notify.o
CC setproctitle.o
CC blocked.o
CC hyperloglog.o
CC latency.o
CC sparkline.o
CC redis-check-rdb.o
CC redis-check-aof.o
CC geo.o
CC lazyfree.o
CC module.o
CC evict.o
CC expire.o
CC geohash.o
CC geohash_helper.o
CC childinfo.o
CC defrag.o
CC siphash.o
CC rax.o
LINK redis-server
INSTALL redis-sentinel
CC redis-cli.o
LINK redis-cli
CC redis-benchmark.o
LINK redis-benchmark
INSTALL redis-check-rdb
INSTALL redis-check-aof
- 進(jìn)入解壓的src目錄下
[root@localhost redis-4.0.1]# cd src
- 運(yùn)行
make test
測(cè)試是否可以安裝
[root@localhost src]# make test
You need tcl 8.5 or newer in order to run the Redis test
make: *** [test] Error 1
發(fā)現(xiàn)有錯(cuò),此時(shí)應(yīng)該先安裝tcl
TCL(Tool Command Language)工具腳本語(yǔ)言祷肯,是Linux內(nèi)的一種語(yǔ)言包沉填。
# yum install tcl
再次測(cè)試make test
此時(shí)等待,直到出現(xiàn) All tests pass without errors佑笋!即為成功翼闹。
然后安裝
[root@localhost src]# make PREFIX=/usr/local/redis install
- 把解壓的redis路徑下的redis.conf文件拷貝到安裝路徑下面
[root@localhost Desktop]# cd redis-4.0.1/
[root@localhost redis-4.0.1]# ls
00-RELEASENOTES INSTALL runtest tests
BUGS Makefile runtest-cluster utils
CONTRIBUTING MANIFESTO runtest-sentinel
COPYING README.md sentinel.conf
deps redis.conf src
[root@localhost redis-4.0.1]# cp redis.conf /usr/local/redis
[root@localhost redis-4.0.1]# cd /usr/local/redis
[root@localhost redis]# ls
bin redis.conf
到這里redis已經(jīng)安裝成功了。
- 啟動(dòng)redis
方法一:(前端啟動(dòng))
進(jìn)入安裝路徑下的bin
[root@localhost redis]# cd bin
[root@localhost bin]# ./redis-server
出現(xiàn)一個(gè)小箱子即為啟動(dòng)成功蒋纬,但是這是屬于前端啟動(dòng)猎荠,啟動(dòng)之后,控制臺(tái)無(wú)法進(jìn)行任何操作蜀备,直到啟用ctrl+c停止redis关摇。
????方法二:(后端啟動(dòng))
- 首先編輯redis.conf
[root@localhost redis]# vim redis.conf
- 找到daemonize no將其改為yes(在vim中插入數(shù)據(jù)按鍵盤上的i或者insert)
- 按esc退出insert模式,再按:并且輸入wq碾阁。(保存并且退出)
- 再次啟動(dòng)
[root@localhost redis]# ls
bin redis.conf
[root@localhost redis]# ./bin/redis-server ./redis.conf
//這里加載配置文件
80167:C 30 Jul 16:01:58.145 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
80167:C 30 Jul 16:01:58.145 # Redis version=4.0.1, bits=64, commit=00000000, modified=0, pid=80167, just started
80167:C 30 Jul 16:01:58.145 # Configuration loaded
redis啟動(dòng)成功
可以通過(guò)以下命令查看redis是否啟動(dòng)
# ps -ef | grep -i redis
關(guān)閉redis
[root@localhost redis]# ./bin/redis-cli shutdown
- redis簡(jiǎn)單操作
//首先鏈接客戶端
[root@localhost redis]# ./bin/redis-cli
//檢查網(wǎng)絡(luò)是否可以
127.0.0.1:6379> ping
PONG
//設(shè)置一個(gè)鍵值對(duì)
127.0.0.1:6379> set name cheny
OK
//獲取剛剛設(shè)置的鍵值對(duì)
127.0.0.1:6379> get name
"cheny"
//查看所有的鍵
127.0.0.1:6379> keys *
1) "name"
//刪除name這個(gè)鍵
127.0.0.1:6379> del name
(integer) 1
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379>
redis的在線測(cè)試的網(wǎng)站输虱,適合初學(xué)者使用,不需要安裝自己的環(huán)境:redis測(cè)試網(wǎng)站