redis是什么
Redis是一種基于內(nèi)存的數(shù)據(jù)結(jié)構(gòu)存儲(chǔ),可持久化的日志型、Key-Value數(shù)據(jù)庫(kù)。使用關(guān)系型數(shù)據(jù)庫(kù)的站點(diǎn)達(dá)到一定并發(fā)量的時(shí)候,往往在磁盤IO上會(huì)有瓶頸,這時(shí)候配合redis就有一定的優(yōu)勢(shì),因?yàn)樗哂幸韵聨讉€(gè)特性:
- 基于內(nèi)存運(yùn)行,高并發(fā)讀寫;
- 支持分布式,理論上可以無(wú)限擴(kuò)展;
- 豐富的數(shù)據(jù)類型;
- 持久化,可定時(shí)寫入磁盤;
應(yīng)用場(chǎng)景
- 緩存“熱點(diǎn)”數(shù)據(jù)(高頻讀、低頻寫)
- 計(jì)數(shù)器,限流器
- 消息隊(duì)列系統(tǒng)(發(fā)布訂閱,排行榜)
- 分布式鎖,共享session,隊(duì)列
數(shù)據(jù)類型:
Redis提供的數(shù)據(jù)類型主要分為5種自有類型和一種自定義類型,這5種自有類型包括:
字符串(String)類型、哈希(Hash)類型、列表(List)類型、集合(Set)類型和順序(Sorted Set)集合類型。
String類型:
能夠存儲(chǔ)字符串、還能存儲(chǔ)圖片、視頻等多種類型, 最大長(zhǎng)度支持512M。操作命令,如:
- GET/MGET
- SET/SETEX/MSET/MSETNX
- INCR/DECR
- GETSET
- DEL
哈希類型:
該類型是由field和關(guān)聯(lián)的value組成的map。其中,field和value都是字符串類型的。操作命令如下:
- HGET/HMGET/HGETALL
- HSET/HMSET/HSETNX
- HEXISTS/HLEN
- HKEYS/HDEL
- HVALS
列表類型:
該類型是一個(gè)插入順序排序的字符串元素集合, 基于雙鏈表實(shí)現(xiàn)。操作命令如下:
- LPUSH/LPUSHX/LPOP/RPUSH/RPUSHX/RPOP/LINSERT/LSET
- LINDEX/LRANGE
- LLEN/LTRIM
集合類型:
Set類型是一種無(wú)順序集合, 它和List類型最大的區(qū)別是:集合中的元素沒(méi)有順序, 且元素是唯一的。
Set類型的底層是通過(guò)哈希表實(shí)現(xiàn)的,其操作命令為:
- SADD/SPOP/SMOVE/SCARD
- SINTER/SDIFF/SDIFFSTORE/SUNION
Set類型主要應(yīng)用于:在某些場(chǎng)景,如社交場(chǎng)景中,通過(guò)交集、并集和差集運(yùn)算,通過(guò)Set類型可以非常方便地查找共同好友、共同關(guān)注和共同偏好等社交關(guān)系。
順序集合類型:
ZSet是一種有序集合類型,每個(gè)元素都會(huì)關(guān)聯(lián)一個(gè)double類型的分?jǐn)?shù)權(quán)值,通過(guò)這個(gè)權(quán)值來(lái)為集合中的成員進(jìn)行從小到大的排序。
與Set類型一樣,其底層也是通過(guò)哈希表實(shí)現(xiàn)的。ZSet命令:
- ZADD/ZPOP/ZMOVE/ZCARD/ZCOUNT
- ZINTER/ZDIFF/ZDIFFSTORE/ZUNION
快速安裝yum install redis
直接yum安裝redis不是最新版本,可以通過(guò)Remi安裝最新Redis。
yum install -y epel-release
yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm
Remi的RPM倉(cāng)庫(kù)維護(hù)著最新和額外的軟件包,最好先安裝 EPEL ,因?yàn)?Remi 倉(cāng)庫(kù)依賴它。
使用下面命令安裝最新版本Redis:
yum --enablerepo=remi install redis
安裝完畢后,即可啟動(dòng)redis服務(wù),并開(kāi)機(jī)自啟動(dòng)
systemctl start redis
systemctl enable redis
查看redis版本:
redis默認(rèn)127.0.0.1訪問(wèn),開(kāi)啟遠(yuǎn)程登錄切記設(shè)置密碼!??!
常用命令
測(cè)試時(shí)常用命令
redis客戶端連接:
本地連接:redis-cli
遠(yuǎn)程連接:redis-cli -h host -p port -a password
PING 查看服務(wù)是否運(yùn)行
SELECT index 切換到指定的數(shù)據(jù)庫(kù)
select 0 選擇第一個(gè)庫(kù)
keys * 獲取所有的key
flush db 清除指定庫(kù)
flushall 清除所有
幾種類型常用命令
string
set key value
get key
hash
hset myhash name cxx
hget myhash name
list
lpush mylist a b c 左插入
rpush mylist x y z 右插入
lrange mylist 0 -1 數(shù)據(jù)集合
lpop mylist 彈出元素
rpop mylist 彈出元素
llen mylist 長(zhǎng)度
lrem mylist count value 刪除
set
sadd myset redis
smembers myset 數(shù)據(jù)集合
srem myset set1 刪除
zset
zadd zset 1 one
zadd zset 2 two
zadd zset 3 three
參考鏈接
官方網(wǎng)站:https://redis.io/
數(shù)據(jù)類型詳解:https://www.cnblogs.com/powertoolsteam/p/redis.html
緩存過(guò)期機(jī)制:https://www.cnblogs.com/xuanyuan/p/13665170.html
實(shí)現(xiàn)計(jì)數(shù)器:https://www.cnblogs.com/ShenJunHui6/p/11127737.html
計(jì)數(shù)器應(yīng)用場(chǎng)景:https://www.cnblogs.com/yaozhengqi/p/7825343.html
到此這篇關(guān)于centos7 yum安裝redis及常用命令的文章就介紹到這了,更多相關(guān)yum安裝redis及常用命令內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- redis哨兵常用命令和監(jiān)控示例詳解
- Redis遍歷所有key的兩個(gè)命令(KEYS 和 SCAN)
- PHP操作Redis常用命令的實(shí)例詳解
- php操作redis命令及代碼實(shí)例大全
- Redis常用數(shù)據(jù)類型命令實(shí)例匯總
- redis中scan命令的基本實(shí)現(xiàn)方法
- 查看Redis內(nèi)存信息的命令
- Redis的KEYS 命令千萬(wàn)不能亂用
- 詳解Redis基本命令與使用場(chǎng)景