初識Redis(一)

認識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)

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


cs.png

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


shutdown.png

多實例關(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í)行(比如使用線程池)。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容