Redis簡介和memcache區(qū)別

redis簡介

redis(REmote DIctionary Server)是一個(gè)由Salvatore Sanfilippo寫key-value存儲系統(tǒng),它由C語言編寫、遵守BSD協(xié)議、支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的日志型、Key-Value類型的數(shù)據(jù)庫,并提供多種語言的API。和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ǔ)上實(shí)現(xiàn)了master-slave(主從)同步,redis在3.0版本推出集群模式。

特點(diǎn)、優(yōu)勢

k、v鍵值存儲以及數(shù)據(jù)結(jié)構(gòu)存儲(如列表、字典)

所有數(shù)據(jù)(包括數(shù)據(jù)的存儲)操作均在內(nèi)存中完成

單線程服務(wù)(這意味著會有較多的阻塞情況),采用epoll模型進(jìn)行請求響應(yīng),對比nginx

支持主從復(fù)制模式,更提供高可用主從復(fù)制模式(哨兵)

去中心化分布式集群

豐富的編程接口支持,如Python、Golang、Java、php、Ruby、Lua、Node.js?

功能豐富,除了支持多種數(shù)據(jù)結(jié)構(gòu)之外,還支持事務(wù)、發(fā)布/訂閱、消息隊(duì)列等功能

支持?jǐn)?shù)據(jù)持久化(AOF、RDB)

和MEMCACHE 區(qū)別

memcache是一個(gè)分布式的內(nèi)存對象緩存系統(tǒng),并不提供持久存儲功能,而redis擁有持久化功能

memcache數(shù)據(jù)存儲基于LRU(簡單說:最近、最少使用key會被剔除),而redis則可以永久保存(服務(wù)一直運(yùn)行情況下)

memcache是多線程的(這是memcache優(yōu)勢之一),也就意味著阻塞情況少,而redis是單線程的,阻塞情況相對較多

兩者性能上相差不大

memcache只支持簡單的k、v數(shù)據(jù)存儲,而redis支持多種數(shù)據(jù)格式存儲。

memcache是多線程、非阻塞IO復(fù)用網(wǎng)絡(luò)模型,而redis是單線程IO復(fù)用模型

redis安裝后可執(zhí)行文件的作用

redis-server#Redis服務(wù)器和Sentinel服務(wù)器,啟動時(shí)候可使用--sentinel指定為哨兵

redis-cli#Redis命令行客戶端?

redis-benchmark#Redis性能測試工具?

redis-check-aof#AOF文件修復(fù)工具?

redis-check-dump#RDB文件檢測工具?

redis-sentinel#Sentinel服務(wù)器,4.0版本已經(jīng)做了軟鏈接到redis-server

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

相關(guān)閱讀更多精彩內(nèi)容

  • 1.1 資料 ,最好的入門小冊子,可以先于一切文檔之前看,免費(fèi)。 作者Antirez的博客,Antirez維護(hù)的R...
    JefferyLcm閱讀 17,293評論 1 51
  • NOSQL類型簡介鍵值對:會使用到一個(gè)哈希表,表中有一個(gè)特定的鍵和一個(gè)指針指向特定的數(shù)據(jù),如redis,volde...
    MicoCube閱讀 4,151評論 2 27
  • Redis是單進(jìn)程單線程的,Redis利用隊(duì)列技術(shù)將并發(fā)訪問變?yōu)榇性L問,消除了傳統(tǒng)數(shù)據(jù)庫串行控制的開銷。 Red...
    編輯小猿閱讀 345評論 0 0
  • 基于內(nèi)存的NoSQL數(shù)據(jù)庫。提供五種數(shù)據(jù)結(jié)構(gòu)的存儲。字符串、列表、集合、有序集合、散列表。Redis 支持很多特性...
    韓絕交閱讀 811評論 0 1
  • 如今,市面上的緩存解決方案已經(jīng)逐步成熟了,今天我將選取其中一些代表性的方案包括Redis、Memcached和Ta...
    Python編程社區(qū)閱讀 129評論 0 0

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