centos7 yum安裝redis及常用命令
redis是什麼
Redis是一種基於記憶體的數據結構存儲,可持久化的日誌型、Key-Value資料庫。使用關係型資料庫的站點達到一定並發量的時候,往往在磁碟IO上會有瓶頸,這時候配合redis就有一定的優勢,因為它具有以下幾個特性:
- 基於記憶體運行,高並發讀寫;
- 支援分散式,理論上可以無限擴展;
- 豐富的數據類型;
- 持久化,可定時寫入磁碟;
應用場景
- 快取「熱點」數據(高頻讀、低頻寫)
- 計數器,限流器
- 消息隊列系統(發布訂閱,排行榜)
- 分散式鎖,共享session,隊列
數據類型:
Redis提供的數據類型主要分為5種自有類型和一種自定義類型,這5種自有類型包括:
字元串(String)類型、哈希(Hash)類型、列表(List)類型、集合(Set)類型和順序(Sorted Set)集合類型。
String類型:
能夠存儲字元串、還能存儲圖片、影片等多種類型, 最大長度支援512M。操作命令,如:
- GET/MGET
- SET/SETEX/MSET/MSETNX
- INCR/DECR
- GETSET
- DEL
哈希類型:
該類型是由field和關聯的value組成的map。其中,field和value都是字元串類型的。操作命令如下:
- HGET/HMGET/HGETALL
- HSET/HMSET/HSETNX
- HEXISTS/HLEN
- HKEYS/HDEL
- HVALS
列表類型:
該類型是一個插入順序排序的字元串元素集合, 基於雙鏈表實現。操作命令如下:
- LPUSH/LPUSHX/LPOP/RPUSH/RPUSHX/RPOP/LINSERT/LSET
- LINDEX/LRANGE
- LLEN/LTRIM
集合類型:
Set類型是一種無順序集合, 它和List類型最大的區別是:集合中的元素沒有順序, 且元素是唯一的。
Set類型的底層是通過哈希表實現的,其操作命令為:
- SADD/SPOP/SMOVE/SCARD
- SINTER/SDIFF/SDIFFSTORE/SUNION
Set類型主要應用於:在某些場景,如社交場景中,通過交集、並集和差集運算,通過Set類型可以非常方便地查找共同好友、共同關注和共同偏好等社交關係。
順序集合類型:
ZSet是一種有序集合類型,每個元素都會關聯一個double類型的分數權值,通過這個權值來為集合中的成員進行從小到大的排序。
與Set類型一樣,其底層也是通過哈希表實現的。ZSet命令:
- ZADD/ZPOP/ZMOVE/ZCARD/ZCOUNT
- ZINTER/ZDIFF/ZDIFFSTORE/ZUNION
快速安裝yum install redis
- 直接yum安裝redis不是最新版本,可以通過Remi安裝最新Redis。
yum install -y epel-release
yum install -y //rpms.remirepo.net/enterprise/remi-release-7.rpm
Remi的RPM倉庫維護著最新和額外的軟體包,最好先安裝 EPEL ,因為 Remi 倉庫依賴它。
- 使用下面命令安裝最新版本Redis:
yum –enablerepo=remi install redis
- 安裝完畢後,即可啟動redis服務,並開機自啟動
systemctl start redis
systemctl enable redis
- 查看redis版本:
redis-cli –version
redis默認127.0.0.1訪問,開啟遠程登錄切記設置密碼!!!
常用命令
- 測試時常用命令
redis客戶端連接:
本地連接:redis-cli
遠程連接:redis-cli -h host -p port -a password
PING 查看服務是否運行
SELECT index 切換到指定的資料庫
select 0 選擇第一個庫
keys * 獲取所有的key
flush db 清除指定庫
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 數據集合
lpop mylist 彈出元素
rpop mylist 彈出元素
llen mylist 長度
lrem mylist count value 刪除
set
sadd myset redis
smembers myset 數據集合
srem myset set1 刪除
zset
zadd zset 1 one
zadd zset 2 two
zadd zset 3 three
參考鏈接
- 官方網站://redis.io/
- 數據類型詳解://www.cnblogs.com/powertoolsteam/p/redis.html
- 快取過期機制://www.cnblogs.com/xuanyuan/p/13665170.html
- 實現計數器://www.cnblogs.com/ShenJunHui6/p/11127737.html
- 計數器應用場景://www.cnblogs.com/yaozhengqi/p/7825343.html