一百新、Redis基礎(chǔ)入門
1.redis介紹
- edis是一種基于鍵值對(duì)(key-value)數(shù)據(jù)庫(kù),其中value可以為string庐扫、hash饭望、list仗哨、set、zset等多種數(shù)據(jù)結(jié)構(gòu)铅辞,可以滿足很多應(yīng)用場(chǎng)景厌漂。還提供了鍵過期,發(fā)布訂閱斟珊,事務(wù)苇倡,流水線,等附加功能,
- 流水線: Redis 的流水線功能允許客戶端一次將多個(gè)命令請(qǐng)求發(fā)送給服務(wù)器囤踩, 并將被執(zhí)行的多個(gè)命令請(qǐng)求的結(jié)果在一個(gè)命令回復(fù)中全部返回給客戶端旨椒, 使用這個(gè)功能可以有效地減少客戶端在執(zhí)行多個(gè)命令時(shí)需要與服務(wù)器進(jìn)行通信的次數(shù)。
2.特性
- 速度快堵漱,數(shù)據(jù)放在內(nèi)存中综慎,官方給出的讀寫性能10萬/S,與機(jī)器性能也有關(guān)
為什么速度快勤庐?
①數(shù)據(jù)放內(nèi)存中是速度快的主要原因
②C語(yǔ)言實(shí)現(xiàn)示惊,與操作系統(tǒng)距離近
③使用了單線程架構(gòu),預(yù)防多線程可能產(chǎn)生的競(jìng)爭(zhēng)問題 - 鍵值對(duì)的數(shù)據(jù)結(jié)構(gòu)服務(wù)器
- 豐富的功能:見上功能
- 簡(jiǎn)單穩(wěn)定:?jiǎn)尉€程
- 持久化:發(fā)生斷電或機(jī)器故障愉镰,數(shù)據(jù)可能會(huì)丟失米罚,持久化到硬盤
- 主從復(fù)制:實(shí)現(xiàn)多個(gè)相同數(shù)據(jù)的redis副本
- 高可用和分布式:哨兵機(jī)制實(shí)現(xiàn)高可用,保證redis節(jié)點(diǎn)故障發(fā)現(xiàn)和自動(dòng)轉(zhuǎn)移
- 客戶端語(yǔ)言多:java php python c c++ nodejs等
3.使用場(chǎng)景
1岛杀,緩存:合理使用緩存加快數(shù)據(jù)訪問速度,降低后端數(shù)據(jù)源壓力
2崭孤,排行榜:按照熱度排名类嗤,按照發(fā)布時(shí)間排行,主要用到列表和有序集合
3辨宠,計(jì)數(shù)器應(yīng)用:視頻網(wǎng)站播放數(shù)遗锣,網(wǎng)站瀏覽數(shù),使用redis計(jì)數(shù)
4嗤形,社交網(wǎng)絡(luò):贊精偿、踩、粉絲赋兵、下拉刷新
5笔咽,消息隊(duì)列:發(fā)布和訂閱
二、安裝
1霹期、依賴包檢查
yum install cpp -y
yum install binutils -y
yum install glibc-kernheaders -y
yum install glibc-common -y
yum install glibc-devel -y
yum install gcc -y
yum install make -y
2叶组、下載redis源碼,解壓
$ cd /usr/local
$ mkdir soft
$ cd soft
$ wget http://download.redis.io/releases/redis-4.0.6.tar.gz
$ tar xzf redis-4.0.6.tar.gz
$ cd redis-4.0.6
$ make
mkdir /usr/local/redis
cp redis-server /usr/local/redis
cp redis-benchmark /usr/local/redis
cp redis-check-rdb /usr/local/redis
cp redis-sentinel /usr/local/redis
cp redis-cli /usr/local/redis
cd redis-4.0.6
cp redis.conf /usr/local/redis
3历造、修改配置文件
1,在redis.conf第89行甩十,將protected-mode no
2,在redis.conf第71行修改下bind 192.168.42.111 (ip為你linux的ip);
3,在redis.conf第502行船庇,加上 requirepass "12345678", 登錄密碼
4侣监、啟動(dòng)鸭轮、測(cè)試連接
1,啟動(dòng)redis: ./redis-server redis.conf &
2橄霉,連接redis: ./redis-cli -h 192.168.42.111 -p 6379 -a 12345678
三窃爷、基本文件詳解
redis-server:?jiǎn)?dòng)redis
redis-cli:redis命令行客戶端
redis-benchmark:基準(zhǔn)測(cè)試工具
redis-check-aof:AOF持久化文件檢測(cè)和修復(fù)工具
redis-check-dump:RDB持久化文件檢測(cè)和修復(fù)工具
redis-sentinel:?jiǎn)?dòng)哨兵
四、redis啟動(dòng)
1酪劫,默認(rèn)配置:redis-server, 日志輸出版本信息吞鸭,端口6379
2,運(yùn)行啟動(dòng):redis-server --port 6380 不建議
3覆糟,配置文件啟動(dòng): redis-server /opt/redis/redis.conf刻剥,靈活,生產(chǎn)環(huán)境使用這種
4滩字,redis-cli 啟動(dòng)
①交互式:redis-cli -h {host} -p {prot}連接到redis服務(wù)造虏,沒有h默認(rèn)連127.0
redis-cli -h 127.0.0.1 -p 6379 //沒有p 默認(rèn)連6379
②命令式:redis-cli -h 127.0.0.1 -p 6379 get hello //取key=hello的value
③停止redis服務(wù): redis-cli shutdown
注意:
a,關(guān)閉時(shí):斷開連接麦箍,持久化文件生成漓藕,相對(duì)安全
b,還可以用kill關(guān)閉挟裂,此方式不會(huì)做持久化享钞,還會(huì)造成緩沖區(qū)非法關(guān)閉,可能會(huì)造成AOF和丟失數(shù)據(jù)
c诀蓉,關(guān)閉前生成持久化文件:
五栗竖、重大版本
1,版本號(hào)第二位為奇數(shù)渠啤,為非穩(wěn)定版本(2.7狐肢、2.9、3.1)
2沥曹,第二為偶數(shù)份名,為穩(wěn)定版本(2.6、2.8妓美、3.0)
3僵腺,當(dāng)前奇數(shù)版本是下一個(gè)穩(wěn)定版本的開發(fā)版本,如2.9是3.0的開發(fā)版本