1. 簡介
Redis是一個高性能的并且開源的使用key-value保存數(shù)據(jù)的NoSql數(shù)據(jù)庫饺律,它的特點包括:
- Redis支持數(shù)據(jù)的持久化,可以將內(nèi)存中的數(shù)據(jù)保存在磁盤中,重啟的時候可以再次加載進行使用。
- Redis不僅僅支持簡單的key-value類型的數(shù)據(jù)奈附,同時還提供list,set煮剧,zset斥滤,hash等數(shù)據(jù)結構的存儲将鸵。
- Redis支持數(shù)據(jù)的備份,即master-slave模式的數(shù)據(jù)備份佑颇。
- 性能極高 – Redis能讀的速度是110000次/s,寫的速度是81000次/s 顶掉。
- Redis的所有操作都是原子性的,意思就是要么成功執(zhí)行要么失敗完全不執(zhí)行挑胸。單個操作是原子性的痒筒。多個操作也支持事務,即原子性茬贵,通過MULTI和EXEC指令包起來簿透。
- 豐富的特性,Redis還支持 publish/subscribe, 通知, key 過期等等特性闷沥。
2. 應用場景
- 緩存
- 任務隊列
- 應用排行榜
- 網(wǎng)站訪問統(tǒng)計
- 數(shù)據(jù)過期處理
- 分布式集群架構中的session分離
3. Linux下安裝
#安裝gcc環(huán)境萎战,因為redis是c++寫的
apt-get install gcc
# 下載最新的安裝包
wget http://download.redis.io/releases/redis-4.0.9.tar.gz
# 解壓
tar -zxvf redis-4.0.9.tar.gz
cd redis-4.0.9/
#編譯
make
4. 啟動
cd src
#前端啟動咐容,進去以后不能操作linux了
./redis-server
#后端啟動舆逃,需要配置${REDIS_HOME}/redis.conf,將 daemonize no 改為 daemonize yes戳粒,設置為后臺運行
# 然后加上配置項啟動
cd ..
./src/redis-server redis.conf
5. 停止
./src/redis-cli shutdown
6. 進入redis客戶端
./src/redis-cli
#進入客戶端了路狮,可以看到端口號6379
127.0.0.1:6379>
7. 增刪查改數(shù)據(jù)
127.0.0.1:6379> set name wangjun
OK
127.0.0.1:6379> get name
"wangjun"
127.0.0.1:6379> keys *
1) "name"
127.0.0.1:6379> set name wangjun2
OK
127.0.0.1:6379> get name
"wangjun2"
127.0.0.1:6379> del name
(integer) 1
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379>
8. Redis基礎特性
-
多數(shù)據(jù)庫:
一個Redis實例最多提供16個數(shù)據(jù)庫(類似mysql的多個數(shù)據(jù)庫),下標0-15蔚约,默認連接0數(shù)據(jù)庫奄妨。
通過select n 選擇數(shù)據(jù)庫。
-
事務:
一次提交多條記錄苹祟,multi:開始事務砸抛;exec:提交事務;discard:回滾事務树枫。
127.0.0.1:6379> get age "28" 127.0.0.1:6379> multi OK 127.0.0.1:6379> incr age QUEUED 127.0.0.1:6379> incr age QUEUED 127.0.0.1:6379> exec 1) (integer) 29 2) (integer) 30 127.0.0.1:6379> get age "30" 127.0.0.1:6379> multi OK 127.0.0.1:6379> incr age QUEUED 127.0.0.1:6379> incr age QUEUED 127.0.0.1:6379> discard OK 127.0.0.1:6379> get age "30"
參考: