Time of Update: 2018-12-08
Redis的主從複製功能非常強大,一個master可以擁有多個slave,而一個slave又可以擁有多個slave,如此下去,形成了強大的多級伺服器叢集架構。下面我示範下怎樣在多台伺服器上進行Redis資料主從複製。這裡我假設有兩台伺服器,一台是Windows作業系統(區域網路IP:192.168.3.82),一台是Linux作業系統(區域網路IP:192.168.3.90),在兩個作業系統都安裝redis,Windows作業系統使用cygwin工具進行安裝,命令為:$ tar
Time of Update: 2018-12-07
文章目錄 串連的建立服務端處理順序關於最大串連數 maxclients輸出緩衝區大小限制輸入緩衝區大小限制Client 逾時 本文主要介紹了 Redis 處理用戶端串連的一些內部實現機制,包括串連處理、逾時、緩衝區等一系列內容。註:本文所述內容基於 Redis2.6 及以上版本。串連的建立Redis 通過監聽一個 TCP 通訊埠或者 Unix socket 的方式來接收來自用戶端的串連,當一個串連建立後,Redis 內部會進行以下一些操作:
Time of Update: 2018-12-07
根據一些測試整理出來的一份方案:1. Redis 效能對於redis 的一些簡單測試,僅供參考: 測試環境:Redhat6.2 , Xeon E5520(4核)*2/8G,1000M網卡 Redis 版本:2.6.9 用戶端機器使用redis-benchmark 簡單GET、SET操作: 1. 1單一實例測試1. Value大小:10Byte~1390Byte 處理速度: 7.5 w/s,速度受單線程處理能力限制 2. Value 大小:1400 左右 處理速度突降到5w/s
Time of Update: 2018-12-07
[預告] [3月8日] 《Redis 設計與實現》[預告] [3月8日] 《Redis 設計與實現》2013-02-28 10:36:27自從開始在部落格斷斷續續地寫一些 Redis 的源碼分析文章以來,我一直有這樣一個打算:不是間隔地、分多次地寫多篇 Redis 的源碼分析文章,而是抽出一段時間,對 Redis 的源碼做一次完整的分析,並將其中的關鍵點、以及有趣的部分記錄下來,集結成一個文檔(或者更通俗地說,一本書?)。我在 2012 年 12 月開始將“Redis
Time of Update: 2018-12-07
一、簡介: 和大多NoSQL資料庫一樣,Redis同樣遵循了Key/Value資料存放區模型。在有些情況下,Redis會將Keys/Values儲存在記憶體中以提高資料查詢和資料修改的效率,然而這樣的做法並非總是很好的選擇。鑒於此,我們可以將之進一步最佳化,即盡量在記憶體中只保留Keys的資料,這樣可以保證資料檢索的效率,而Values資料在很少使用的時候則可以被換出到磁碟。
Time of Update: 2018-12-07
首先說明下redis的虛擬記憶體與os的虛擬記憶體不是一碼事,但是思路和目的都是相同的。就是暫時把不經常訪問的資料從記憶體交換到磁碟中,從而騰出寶貴的 記憶體空間用於其他需要訪問的資料。尤其是對於redis這樣的記憶體資料庫,記憶體總是不夠用的。除了可以將資料分割到多個redis server外。另外的能夠提高資料庫容量的辦法就是使用vm把那些不經常訪問的資料交換的磁碟上。如果我們的儲存的資料總是有少部分資料被經常訪問,大
Time of Update: 2018-12-07
phpredis是php的一個擴充,效率是相當高有鏈表排序功能,對建立記憶體級的模組業務關係 很有用;以下是redis官方提供的命令提示: 如下: https://github.com/owlient/phpredis(支援redis 2.0.4)Redis::__construct建構函式$redis = new Redis();connect, open 連結redis服務參數host: string,服務地址port: int,連接埠號碼timeout: float,連結時間長度
Time of Update: 2018-12-07
redis命令參考:http://redis.readthedocs.org/en/latest/index.htmlredis主從配置:只要把以下參數修改即可:pidfile:pid地址logfile:記錄檔地址port:連接埠號碼bind:綁定一個主機地址,本機或者遠程slaveof:master 主機地址和連接埠 master:/usr/local/redis/etc/redis.confpidfile /var/run/redis.pidlogfile /usr/local/redis/
Time of Update: 2018-12-07
Redis介紹Reids是一個比較進階的開源key-value儲存系統,採用ANSI C實現。其與memcached類似,但是支援持久化資料存放區,同時value支援多種類型:字串 (同memcached中的value),列表 ,集合 (Set),有序集合(OrderSet)和Hash 。所有的實值型別均支援原子操作,如列表中追加彈出元素,集合中插入移除元素等。Rdids的資料大部分位於記憶體中,其讀寫效率非常高,其提供AOF(追加
Time of Update: 2018-12-07
該文章是對Redis官方文檔的翻譯字串(Strings)字串是Redis值的最基礎的類型。Redis字串是二進位安全的,這意味著一個Redis字串可以包含任何種類的資料,例如一個JPEG映像或者一個序列化的Ruby對象。 一個字串值最多可以儲存512M位元組的內容。 你可以使用Redis的字串做一些有趣的事情,例如你可以:在使用命令INCR系列( INCR, DECR, INCRBY)命令時將字串作為的原子計數器。使用APPEND命令追加字串。將字串作為GETRANGE 和
Time of Update: 2018-12-07
一、Redis提供了哪些持久化機制: 1). RDB持久化: 該機制是指在指定的時間間隔內將記憶體中的資料集快照寫入磁碟。 2). AOF持久化: 該機制將以日誌的形式記錄伺服器所處理的每一個寫操作,在Redis伺服器啟動之初會讀取該檔案來重新構建資料庫,以保證啟動後資料庫中的資料是完整的。 3). 無持久化: 我們可以通過配置的方式禁用Redis伺服器的持久化功能,這樣我們就可以將Redis視為一個功能加強版的memcached了。 4).
Time of Update: 2018-12-07
一、特殊編碼: 自從Redis 2.2之後,很多資料類型都可以通過特殊編碼的方式來進行儲存空間的最佳化。其中,Hash、List和由Integer組成的Sets都可以通過該方式來最佳化儲存結構,以便佔用更少的空間,在有些情況下,可以省去9/10的空間。
Time of Update: 2018-12-07
一、概述: 和眾多其它資料庫一樣,Redis作為NoSQL資料庫也同樣提供了事務機制。在Redis中,MULTI/EXEC/DISCARD/WATCH這四個命令是我們實現事務的基石。相信對有關係型資料庫開發經驗的開發人員而言這一概念並不陌生,即便如此,我們還是會簡要的列出Redis中事務的實現特徵: 1). 在事務中的所有命令都將會被序列化的順序執行,事務執行期間,Redis不會再為其它用戶端的請求提供任何服務,從而保證了事物中的所有命令被原子的執行。 2).
Time of Update: 2018-12-07
一、概述: 在Redis中,List類型是按照插入順序排序的字串鏈表。和資料結構中的普通鏈表一樣,我們可以在其頭部(left)和尾部(right)添加新的元素。在插入時,如果該鍵並不存在,Redis將為該鍵建立一個新的鏈表。與此相反,如果鏈表中所有的元素均被移除,那麼該鍵也將會被從資料庫中刪除。List中可以包含的最大元素數量是4294967295。 從元素插入和刪除的效率視角來看,如果我們是在鏈表的兩頭插入或刪除元素,這將會是非常高效的操作,即使鏈表中已經儲存了百萬條記錄,
Time of Update: 2018-12-07
一、請求應答協議和RTT: Redis是一種典型的基於C/S模型的TCP伺服器。在用戶端與伺服器的通訊過程中,通常都是用戶端率先發起請求,伺服器在接收到請求後執行相應的任務,最後再將擷取的資料或處理結果以應答的方式發送給用戶端。在此過程中,用戶端都會以阻塞的方式等待伺服器返回的結果。見如下命令序列: Client: INCR X Server: 1 Client: INCR X Server: 2 Client: INCR X Server: 3
Time of Update: 2018-12-07
一、概述: 在該系列的前幾篇部落格中,主要講述的是與Redis資料類型相關的命令,如String、List、Set、Hashes和Sorted-Set。這些命令都具有一個共同點,即所有的操作都是針對與Key關聯的Value的。而該篇部落格將主要講述與Key相關的Redis命令。學習這些命令對於學習Redis是非常重要的基礎,也是能夠充分挖掘Redis潛力的利器。
Time of Update: 2018-12-07
雖然有很多開源工具通過外掛程式或其它方式可以監測這些開源組件提供的內在效能(所謂內在效能就是這些開源組件提供的類STAT命令擷取到的資料),但是不管是部署還是擴充都很麻煩,其實花1-2天時間完全可以實現一個這樣的工具,並且擴充起來也很方便。比如mongodb的:又比如redis的:這個工具實現的功能如下:1)只需要簡單配置(在DEMO代碼裡我寫入程式碼了,您完全可以改為通過配置)就可以實現監控redis、mongodb、kt和memcached,之所以只有這些因為我們用到的只有這些,其實擴充一下
Time of Update: 2018-12-07
原文地址:http://laoding.me/2010/08/redis-quick-start.htmlRedis是一種進階key-value資料庫。它跟memcached類似,不過資料可以持久化,而且支援的資料類型很豐富。有字串,鏈表,集合和有序集合。支援在伺服器端計算集合的並,交和補集(difference)等,還支援多種排序功能。所以Redis也可以被看成是一個資料結構伺服器。Redis的所有資料都是儲存在記憶體中,然後不週期性通過非同步方式儲存到磁碟上(這稱為“半持久化模式”);也可以
Time of Update: 2018-12-07
日常開發中,總會接觸到一些好玩的東西,比如這篇的redis,一說到redis,可能就有人跟memcache做比較了,是呀,memcache只能說是簡單的kv記憶體資料結構,而redis支援的資料類型就豐富多了,當然最能讓人看上眼的就是SortedSet。有了它,我們就可以玩一些“貪心”的問題,比如適合“貪心”的優先隊列,說到優先隊列,我們以前實現了僅僅是記憶體形式的,哎,記憶體畢竟是記憶體,當有海量資料的時候,最好能有一個序列化到硬碟的操作。。。恰恰這個情境redis就可以辦到。。。
Time of Update: 2018-12-07
問題解決辦法如下:必須把下面兩行注釋放在/etc/init.d/redis檔案靠前的注釋中:# chkconfig: 2345 90 10# description: Redis is a persistent key-value database 上面的注釋的意思是,redis服務必須在運行級2,3,4,5下被啟動或關閉,啟動的優先順序是90,關閉的優先順序是10。 附錄:linux 運行層級運行層級就是作業系統當前正在啟動並執行功能層級。這個層級從0到6 ,具有不同的功能。