這篇文章主要介紹了Redis如何安裝使用,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
邯鄲ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!一、Redis基礎(chǔ)部分:
1、redis介紹與安裝比mysql快10倍以上
*****************redis適用場合****************
1.取最新N個(gè)數(shù)據(jù)的操作
2.排行榜應(yīng)用,取TOP N 操作
3.需要精確設(shè)定過期時(shí)間的應(yīng)用
4.計(jì)數(shù)器應(yīng)用
5.Uniq操作,獲取某段時(shí)間所有數(shù)據(jù)排重值
6.實(shí)時(shí)系統(tǒng),反垃圾系統(tǒng)7.Pub/Sub構(gòu)建實(shí)時(shí)消息系統(tǒng)
7.Pub/Sub構(gòu)建實(shí)時(shí)消息系統(tǒng)8.構(gòu)建隊(duì)列系統(tǒng)
9.緩存
=============================================
SET操作每秒鐘 110000 次,GET操作每秒鐘 81000 次,服務(wù)器配置如下:
Linux 2.6, Xeon X3320 2.5Ghz.
stackoverflow 網(wǎng)站使用 Redis 做為緩存服務(wù)器。
同時(shí)也會(huì)將數(shù)據(jù)寫到硬盤上。所以數(shù)據(jù)是安全的(除突然斷電外,重啟服務(wù)會(huì)寫到dump.rdb文件中)
1.安裝:
tar zxvf redis-2.6.9.tar.gz
cd redis-2.6.9
make
cd src && make install
2.移動(dòng)配置文件位置(為了便于管理)
cd /usr/local/
mkdir -p /usr/local/redis/bin
mkdir -p /usr/local/redis/etc
mv /lamp/redis-2.6.9/redis.conf /usr/local/redis/etc
cd /lamp/redis-2.6.9/src
mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server /usr/local/redis/bin
3.修改配置文件
vi /usr/local/redis/etc/redis.conf
一、將daemonize no 中no改為yes[yes指后臺(tái)運(yùn)行]
4.啟動(dòng)/隨機(jī)啟動(dòng):
cd /usr/local/redis/bin
./redis-server /usr/local/redis/etc/redis.conf#啟動(dòng)redis并指定配置文件。
#vi /etc/rc.local #設(shè)置隨機(jī)啟動(dòng)。
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
5.查看是否啟動(dòng)成功
ps -ef | grep redis
netstat -tunpl | grep 6379#查看端口是否占用。
6.進(jìn)入客戶端/退出
cd /usr/local/redis/bin
./redis-cli#進(jìn)入
quit#退出
7.關(guān)閉redis
pkill redis-server#關(guān)閉
./redis-cli shutdown#關(guān)閉
************************************Redis安全************************************
Redis的安全性???(由以下4種方式)
1.用ACL控制器安全性。
2.在redis.conf配置文件增加下面這一行配置,即可把redis綁定在單個(gè)接口上(但并不是只有接受這個(gè)網(wǎng)卡的數(shù)據(jù))。
bind 127.0.0.1
3.給redis加上較長密碼(無需要記住)
4.在redis.conf配置啟用認(rèn)證功能。
5.SSL代理
6.禁用指定命令。
************************************** Redis配置 **********************************************
daemonize 如果需要在后臺(tái)運(yùn)行,把該項(xiàng)改為yes
pidfile 配置多個(gè)pid的地址 默認(rèn)在/var/run/redis.pid
bind 綁定ip,設(shè)置后只接受來自該ip的請求
port 監(jiān)聽端口,默認(rèn)為6379
timeout 設(shè)置客戶端連接時(shí)的超時(shí)時(shí)間,單位為秒
loglevel 分為4級(jí),debug、verbose、notice、warning
logfile 配置log文件地址
databases 設(shè)置數(shù)據(jù)庫的個(gè)數(shù),默認(rèn)使用的數(shù)據(jù)庫為0
save 設(shè)置redis進(jìn)行數(shù)據(jù)庫鏡像的頻率
rdbcompression 在進(jìn)行鏡像備份時(shí),是否進(jìn)行壓縮
Dbfilename 鏡像備份文件的文件名
Dir 數(shù)據(jù)庫鏡像備份的文件放置路徑
Slaveof 設(shè)置數(shù)據(jù)庫為其他數(shù)據(jù)庫的從數(shù)據(jù)庫
Masterauth 主數(shù)據(jù)庫連接需要的密碼驗(yàn)證
Requirepass 設(shè)置登錄時(shí)需要使用的密碼
Maxclients 限制同時(shí)連接的客戶數(shù)量
Maxmemory 設(shè)置redis能夠使用的大內(nèi)存
Appendonly 開啟append only模式
以下了解即可:
Appendfsync 設(shè)置對appendonly.aof文件同步的頻率
vm-enabled 是否開啟虛擬內(nèi)存支持
vm-swap-file 設(shè)置虛擬內(nèi)存的交換文件路徑
vm-max-memory 設(shè)置redis使用的大物理內(nèi)存大小
vm-page-size 設(shè)置虛擬內(nèi)存的頁大小
vm-pages 設(shè)置交換文件的總的page數(shù)量
vm-max-threads 設(shè)置VM IO同時(shí)使用的線程數(shù)量
Glueoutputbuf 把小的輸出緩存存放在一起
hash-max-zipmap-entries 設(shè)置hash的臨界值
Activerehashing 重新hash
*******************************************************************
5種數(shù)據(jù)類型:字符串、哈希、鏈表、集合、有序集合。
支持:push/pop、add/remove 、取交集、并集、差集、排序。
redis<===同步====>mysql
同時(shí)也會(huì)將數(shù)據(jù)寫到硬盤上。所以數(shù)據(jù)是安全的(除突然斷電外,重啟服務(wù)會(huì)寫到dump.rdb文件中)
*******************************************************************
select num#選擇庫,默認(rèn)在0庫,共16個(gè)庫
auth liweijie#授權(quán)用戶所需密碼(密碼就是redis.conf中配置的密碼)
flushdb#清空數(shù)據(jù)庫。
String(字符串)類型:
set name lijie#設(shè)置鍵name的值為lijie
get name#獲取name的值。
keys *#查詢所有的鍵。
setnx name liweijie#如果鍵已存在則返回0,不更新,防止覆蓋。
setex haircolor 10 red #設(shè)置鍵的值的有效期為10秒。
setrange email 6 lampbre.com#替換鍵的值從第6個(gè)字符開始換為lampbre.com
mset name1 李大偉 name2 李小偉#設(shè)置多個(gè)鍵的值。
msetnxname1 張三 name3 李四#判斷鍵是否存在,不存在則設(shè)置,否則不設(shè)置返回0
mget name1 name2 name3#一次獲取多個(gè)鍵的值。
getset name1 Tom#重新設(shè)置鍵的值,并返回舊的鍵值。
getrange email 6 18#截取email鍵的值,從第6-18位間的字符。
incr uid#每次自增1 (如果key中uid不存在,則設(shè)置并從0開始,下同)
incrby uid 5#每次自增5
incrby uid -5#每次自減5
decr uid #每次自減1
decrby uid 5#每次自減5
appendname1 @126.com#給name1的值,添加字符串@126.com
strlenname1#返回鍵name1的值的長度。
*************************************************************************
Hashes(哈希)類型:
hset user:001 name liweijie#哈希設(shè)置用戶user:001的name鍵值為liweijie
hset user:001 age 21#同樣,增加一個(gè)age鍵值為21
hsetnx user:001 age 22#同上,但檢測鍵是否存在。若不存在創(chuàng)建。
hmset user:002 name liweijie2 age 26 sex 1#同時(shí)設(shè)置多個(gè)鍵的值。
hget user:001 name#哈希獲取用戶user:001的name鍵的值。
hget user:001 age #同上。
hmget user:001 name age sex#獲取多個(gè)指定的鍵的值。
hgetall user:001#獲取所有鍵的值。
hincrbyuser:001 age -8#在指定鍵上加上給定的值。
hexists user:001 sex#檢測指定的鍵值是否存在。
hlen user:001#返回指定哈希的鍵個(gè)數(shù)/字段個(gè)數(shù)。
hdel user:001 sex#刪除指定(user:001)哈希的指定字段或是鍵值。
hkeys user:003#返回哈希里所有字段或是鍵值。
*********************************************************************
Lists(鏈表)類型及操作(棧或隊(duì)列):
lpush mylist "world"#從頭部插入字符串
lpush mylist "hello"#同上
lrange mylist 0 -1#獲取從0到最后一個(gè)如[1) "hello" 2) "world"]
rpush mylist "jiejie"#在尾部插入
linsert mylist before "hello" "this is linsert" #指定插入位置(在hello之前插入)。
lset mylist 0 "what"#設(shè)置修改指定下標(biāo)的值。
lrem mylist 1 "hello"#刪除(1個(gè))一個(gè)值為hello的元素。(n<0從尾部刪除,n=0全部刪除)
ltrim mylist 1 2 #保留表中下標(biāo)為1/2的元素。
lpop mylist#彈出開頭元素并返回。
rpop mylist#彈出尾部元素并返回。
rpoplpush mylist mylist2 #從mylist尾部彈出插入到mylist2的頭部。
lindex mylist 0#獲取表下標(biāo)為0的元素值。
llen mylist#返回表元素個(gè)數(shù)(相當(dāng)于count($arr ))。
*********************************************************************
sets(集合)類型及操作(好友推薦、blog、tag功能):
smembers myset#查看myset集合中所有元素值。
sadd myset "hello"#向mysets集合中添加一個(gè)值hello
srem myset "hello"#刪除myset集合中名稱為hello的元素。
spop myset #隨機(jī)彈出并返回mysets中的一個(gè)元素。
sdiff myset2 myset3#返回myset2中的與myset3的差集(以myset2為準(zhǔn))。
sdiffstore myset4 myset2 myset3#返回myset2中的與myset3的差集,并存入myset4中去。
sinter myset2 myset3#返回myset2與myset3的交集。
sinterstore myset5 myset2 myset3#返回myset2與myset3的交集,并存入myset5中去。
sunion myset2 myset3#求并集(去重復(fù))
sunionstore myset6 myset2 myset3#求并集,并存入myset6中去。
smove myset2 myset3 "three"#將myset2中的three移到myset3中去。
scard myset2#返回元素個(gè)數(shù)。
sismember myset2 "one"#判斷元素one是不是myset2集合的(相當(dāng)于is_array())。
srandmember myset2#隨機(jī)返回myset2集合中的一個(gè)元素,但不刪除(相當(dāng)于array_rand())。
*********************************************************************
sorted sets(有序集合)類型及操作(以scores排序):
zadd myzset 1 "one"#向順序1的添加元素one
zadd myzset 2 "two"#同上。
zadd myzset 3 "two"#相當(dāng)于更新順序?yàn)?的值
zrange myzset 0 -1 withscores#查看所有元素并帶上排序(默認(rèn)升序)。
zrem myzset "two"#刪除two
zincrby myzset 2 "two"#將two的順序值加上2
zrank myzset "two"#返回集合中元素的索引下標(biāo)值。
zrevrank myzset two#元素反轉(zhuǎn)并返回新下標(biāo)值。
zrevrange myzset 0 -1 withscores#按順序反轉(zhuǎn)(相當(dāng)于降序排序)
zrangebyscore myzset 1 10 withscores#返回順序?yàn)?-10的元素(可做分頁)。
zcount myzset 1 10 #返回順序在1-10之間元素的個(gè)數(shù)。
zcard myzset#返回集合中所有元素的個(gè)數(shù)。
zremrangebyrank myzset 1 2#刪除集合中下標(biāo)為1到2的元素。
zremrangebyscore myzset 1 10#刪除集合中順序?yàn)?到10的元素。
Redis常用命令
鍵/值相關(guān)命令。
keys * #查詢所有
keys user*#查詢指定的
exists user:001#判斷是否存在。
del name#刪除指定的鍵。
expire addr 10#設(shè)置過期時(shí)間
ttl addr#查詢過期時(shí)間
select 0 #選擇數(shù)據(jù)庫
move age 1#將age移到1數(shù)據(jù)庫。
get age #獲取
persist age#移除age的過期時(shí)間。
randomkey#隨機(jī)返回一個(gè)key
rename name1 name2#重命名鍵
type myset#返回鍵的類型。
ping #測試redis連接是否存活。
echo lamp#輸出一個(gè)lamp
select 10#選擇數(shù)據(jù)庫。
quit/exit/crtl+C#退出客戶端
dbsize#返回庫里的鍵的個(gè)數(shù)。
服務(wù)器相關(guān)命令:
info#顯示redis服務(wù)器的相關(guān)信息。
config get */loglevel #返回所有/指定的配置信息。
flushdb#刪除當(dāng)前庫中的所有鍵/表。
flushall#刪除所有數(shù)據(jù)庫中的所有鍵/表
二、Redis高級(jí)部分:
1、Redis安全性:
1.用ACL控制器安全性。
2.給redis加上較長密碼
# requirepass foobared
requirepass beijing
3.在redis.conf配置啟用認(rèn)證功能。
方式一:Auth beijing
方式二:./redis-cli -a beijing
4.在redis.conf配置文件增加下面這一行配置,即可把redis綁定在單個(gè)接口上(但并不是只有接受這個(gè)網(wǎng)卡的數(shù)據(jù))。
bind 127.0.0.1(單臺(tái)機(jī)器的時(shí)候可以配置,分布式或主從復(fù)制時(shí)最好不要配置)
5.SSL代理
6.禁用指定命令。
2、Redis主從復(fù)制:
redis只需在從服務(wù)器(slave)上配置即可:
slaveof 211.122.11.11 6379 #指定master 的ip 和端口
masterauth beijing#這是master主機(jī)的密碼
Info#查看主/從服務(wù)器的狀態(tài)。
3、Redis事務(wù)處理:
Redis事務(wù)很不完善。
4、Redis持久化機(jī)制:
1.兩種方式:一、備份數(shù)據(jù)到磁盤(快照)[ snapshotting(快照)也是默認(rèn)方式]
二、記錄操作命令[ Append-only file(縮寫aof)的方式]
一、備份數(shù)據(jù)到磁盤(快照)[ snapshotting(快照)也是默認(rèn)方式]
save 900 1 #900秒內(nèi)如果超過1個(gè)key被修改,則發(fā)起快照保存
save 300 10 #300秒內(nèi)容如超過10個(gè)key被修改,則發(fā)起快照保存
save 60 10000
二、記錄操作命令[ Append-only file(縮寫aof)的方式](較安全持久化)
appendonly yes #啟用aof 持久化方式
# appendfsync always //收到寫命令就立即寫入磁盤,最慢,但是保證完全的持久化
appendfsync everysec //每秒鐘寫入磁盤一次,在性能和持久化方面做了很好的折中
# appendfsync no //完全依賴os,性能最好,持久化沒保證
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Redis如何安裝使用”這篇文章對大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!
名稱欄目:Redis如何安裝使用-創(chuàng)新互聯(lián)
文章網(wǎng)址:http://m.rwnh.cn/article34/ddoepe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、外貿(mào)建站、微信公眾號(hào)、網(wǎng)站制作、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容