認識Redis
Redis是一個開源的key-value存儲系統(tǒng)。和Memcached類似,它支持存儲的value類型相對更多,包括string(字符串)、list(鏈表)、set(集合)、zset(sorted set --有序集合)和hash(哈希類型)。這些數(shù)據(jù)類型都支持push/pop、add/remove及取交集并集和差集及更豐富的操作,而且這些操作都是原子性的。在此基礎(chǔ)上,Redis支持各種不同方式的排序。與memcached一樣,為了保證效率,數(shù)據(jù)都是緩存在內(nèi)存中。區(qū)別的是Redis會周期性的把更新的數(shù)據(jù)寫入磁盤或者把修改操作寫入追加的記錄文件,并且在此基礎(chǔ)上實現(xiàn)了master-slave(主從)同步。
Redis適應(yīng)場景
1、配合關(guān)系型數(shù)據(jù)庫做高速緩存
- 高頻次,熱門訪問的數(shù)據(jù),降低數(shù)據(jù)庫IO
-
分布式架構(gòu),做session共享
2、由于其擁有持久化能力,利用其多樣的數(shù)據(jù)結(jié)構(gòu)存儲特定的數(shù)據(jù)。
redis應(yīng)用場景
Redis官方網(wǎng)站
http://Redis.io
中文官網(wǎng):
http://www.Redis.net.cn/
Redis安裝
1、安裝依賴yum install -y wget gcc make tcl
2、下載獲得redis-3.2.5.tar.gz后將它放入我們的Linux目錄/opt
3、解壓命令:tar -zxvf redis-3.2.5.tar.gz
4、解壓完成后進入目錄:cd redis-3.2.5
5、cd redis-3.2.1 #進入redis目錄
6、make && make test #編譯與測試
7、make install
8、redis-server #啟動redis服務(wù)(默認路徑/usr/local/bin)

Redis-benchmark:性能測試工具,可以在自己本子運行,看看自己本子性能如何(服務(wù)啟動起來后執(zhí)行)
Redis-check-aof:修復有問題的AOF文件,rdb和aof后面講
Redis-check-dump:修復有問題的dump.rdb文件
Redis-sentinel:Redis集群使用
redis-server:Redis服務(wù)器啟動命令
redis-cli:客戶端,操作入口
啟動
1、備份redis.conf:拷貝一份redis.conf到其他目錄
2、可以修改redis.conf文件將里面的daemonize no 改成 yes,讓服務(wù)在后臺啟動
3、啟動命令:執(zhí)行 redis-server /myredis/redis.conf
4、用客戶端訪問: Redis-cli

多個端口可以 Redis-cli –p 6379

單實例關(guān)閉:Redis-cli shutdown

也可以進入終端后再關(guān)閉

多實例關(guān)閉,指定端口關(guān)閉:Redis-cli -p 6379 shutdown
Redis其他相關(guān)知識
- Redis幾乎覆蓋了Memcached的絕大部分功能
- 數(shù)據(jù)都在內(nèi)存中,支持持久化,主要用作備份恢復
- 除了支持簡單的key-value模式,還支持多種數(shù)據(jù)結(jié)構(gòu)的存儲,比如 list、set、hash、zset等。
- 一般是作為緩存數(shù)據(jù)庫輔助持久化的數(shù)據(jù)庫
- 默認16個數(shù)據(jù)庫,類似數(shù)組下標從0開始,初始默認使用0號庫
使用命令 select <dbid> 來切換數(shù)據(jù)庫。如: select 8 - 統(tǒng)一密碼管理,所有庫都是同樣密碼,要么都OK要么一個也連接不上。
- Redis是單線程+多路IO復用技術(shù)(Redis 在 6.0 版本之后加入了多線程)
多路復用是指使用一個線程來檢查多個文件描述符(Socket)的就緒狀態(tài),比如調(diào)用select和poll函數(shù),傳入多個文件描述符,如果有一個文件描述符就緒,則返回,否則阻塞直到超時。得到就緒狀態(tài)后進行真正的操作可以在同一個線程里執(zhí)行,也可以啟動線程執(zhí)行(比如使用線程池)。
