Redis入門
- Redis簡介
- Redis安裝
- Redis性能測驗
- Redis的一些基礎知識
Redis簡介
Redis (Remote Dictionary Server),即遠程字典服務!
是用 C 語言開發的一個開源的高性能鍵值對(key-value)資料庫,并提供多種語言的API,
Redis的特點
- 資料間沒有必然的關聯關系
- 內部采用單執行緒機制進行作業
- 高性能,官方提供測驗資料,50個并發執行100000 個請求,讀的速度是110000 次/s,寫的速度是81000次/s,
- 多樣的資料型別支持
- 持久化支持,可以進行資料災難恢復
- 集群
- 事務
Redis 的應用
- 為熱點資料加速查詢(主要場景),如熱點商品、熱點新聞、熱點資訊、推廣類等高訪問量資訊等
- 任務佇列,如秒殺、搶購、購票排隊等
- 即時資訊查詢,如各位排行榜、各類網站訪問統計、公交到站資訊、在線人數資訊(聊天室、網站)、設
備信號等 - 地圖資訊分析
- 時效性資訊控制,如驗證碼控制、投票控制等
- 分布式資料共享,如分布式集群架構中的 session 分離
- 訊息佇列
- 分布式鎖
Redis安裝
官網 下載6.2.1版本
gcc -v 查看gcc版本
發現是4.8.5
yum -y install centos-release-scl
yum -y install gcc-c++ devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
需要注意的是scl命令啟用只是臨時的,退出shell或重啟就會恢復原系統gcc版本,
如果要長期使用gcc 9.3的話:
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
這樣退出shell重新打開就是新版的gcc了

官網下載redis原始碼包
tar xf redis-6.2.1.tar.gz -C /usr/local
cd redis-6.2.1/
make
make install
redis默認安裝路徑:/usr/local/bin
自建一個檔案夾名叫redis_config
將redis組態檔 復制到redis_config下
cp /root/redis-6.2.1/redis.conf /usr/local/bin/redis_config
修改組態檔
vim redis.conf
# 開啟后臺啟動
daemonize yes
啟動redis服務
redis-server redis_config/redis.conf
連接redis
redis-cli -p 6379
127.0.0.1:6379> set name maomao
OK
127.0.0.1:6379> get name
"maomao"
安裝成功
Redis性能測驗
redis-benchmark 是一個壓力測驗工具
官方自帶的性能測驗工具
redis-benchmark 命令引數
| 選項 | 描述 | 默認值 |
|---|---|---|
| -h | 指定服務器主機名 | 127.0.0.1 |
| -p | 指定服務器埠 | 6379 |
| -s | 指定服務器socket | |
| -c | 指定并發連接數 | 50 |
| -n | 指定請求數 | 10000 |
我們來簡單測驗
100個并發連接 100000個請求
redis-benchmark -h localhost -p 6379 -c 100 -n 100000


Redis的一些基礎知識
關閉Redis服務
127.0.0.1:6379> shutdown
not connected> exit
redis默認有16個資料庫
組態檔里面
vim redis.conf
databases 16
默認使用的是第0個資料庫
可以使用select進行切換資料庫
127.0.0.1:6379> select 1
OK
DBSIZE查看當前庫的空間
127.0.0.1:6379[1]> dbsize
(integer) 0
資訊添加
設定 key,value 資料
語法:
set key value
127.0.0.1:6379> set name maomao
127.0.0.1:6379> set name xiaotian
資訊查詢
根據 key 查詢對應的 value,如果不存在,回傳空(nil)
語法:
get key
127.0.0.1:6379> get name
"xiaotian"
幫助
獲取命令幫助檔案,獲取組中所有命令資訊名稱
語法:
help 命令名稱
127.0.0.1:6379> help set
SET key value [EX seconds|PX milliseconds|EXAT timestamp|PXAT milliseconds-timestamp|KEEPTTL] [NX|XX] [GET]
summary: Set the string value of a key
since: 1.0.0
group: string
127.0.0.1:6379> help get
GET key
summary: Get the value of a key
since: 1.0.0
group: string
測驗ping
127.0.0.1:6379> ping
PONG
顯示pong說明連接成功
exists判斷是否存在
127.0.0.1:6379> exists name
(integer) 1
127.0.0.1:6379> exists age
(integer) 0
move 移動key去別的庫
127.0.0.1:6379> move name 1
(integer) 1
127.0.0.1:6379> exists name
(integer) 0
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> get name
"xiaotian"
EXPIRE設定key的過期時間
127.0.0.1:6379[1]> expire name 5
(integer) 1
127.0.0.1:6379[1]> ttl name
(integer) 3
127.0.0.1:6379[1]> ttl name
(integer) 1
127.0.0.1:6379[1]> ttl name
(integer) -2
127.0.0.1:6379[1]> exists name
(integer) 0
127.0.0.1:6379[1]> get name
(nil)
type查看型別
127.0.0.1:6379[1]> set name maomao
OK
127.0.0.1:6379[1]> type name
string
幫助檔案
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/276739.html
標籤:其他
