redis sharding方案 Redis集群的目的是實現數據的橫向伸縮,把一塊數據分片保存到多個機器,可以橫向擴展數據庫大小,擴展帶寬,計算能力等。
Redis是一種高級key-value數據庫。它跟memcached類似,不過數據可以持久化,而且支持的數據類型很豐富。有字符串,鏈表,集 合和有序集合。支持在服務器端計算集合的并,交和補集(difference)等,還支持多種排序功能。所以Redis也可以被看成是一個數據結構服務 器。
鍵值存儲,它是數據結構服務器:字符串string,hash,鏈表list,集合set和有序集合zset。支持push,pop和add,remove。為了保證效率,都是存儲在內存中。周期性把數據更新到磁盤中,或者記錄到log里面,類似于mysql的binlog。
最近整理Redis,對sentinel有了更深入的理解,特地總結如下
Redis是一個開源的使用ANSI C語言編寫、支持網絡、可基于內存亦可持久化的日志型、Key-Value數據庫,并提供多種語言的API。從2010年3月15日起,Redis的開發工作由VMware主持。<br> Redis能運行在大多數POSIX(Linux, *BSD, OS X 和Solaris等)系統上,官方沒有支持Windows的版本。目前最新的版本是2.2.11,這個版本主要是修復了一個2.2.7版本中遍歷方式優化帶來的一個bug。
Jedis 是 Redis 官方首選的 Java 客戶端開發包。
pom.xml <!--?redis?--> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.1.0</version> <type>jar</type> </dependency> redis.propertis #\u6700\u5927\u5206\u914d\u7
ooredis是一個Redis的Python庫,基于redis-py
Redis使用標準C編寫實現,而且將所有數據加載到內存中,所以速度非常快。官方提供的數據表明,在一個普通的Linux機器上,Redis讀寫速度分別達到81000/s和110000/s。 通常,Redis將數據存儲于內存中,或被配置為使用虛擬內存。通過兩種方式可以實現數據持久化:使用截圖的方式,將內存中的數據不斷寫入磁盤;或使用類似MySQL的日志方式,記錄每次更新的日志。前者性能較高,但是可能會引起一定程度的數據丟失;后者相反。
memcache是一個高性能的分布式的內存對象緩存系統,用于動態Web應用以減輕數據庫負擔。它通過在內存中緩存數據和對象,來減少讀取數據庫的次數。從而提高動態、數據庫驅動網站速度。
JDBC-Redis是用于操作NoSQL數據庫Redis的JDBC驅動,但這個項目并沒有實現完整的JDBC規范,因為Redis不是一個關系型數據庫。但是Java開發人員可以采用熟悉的JDBC接口來訪問Redis數據庫。 收錄時間:2011-04-01 23:01:47
唐福林是新浪微博開放平臺資深工程師,目前負責t.cn短鏈、用戶關系、計數器等底層服務。他曾負責過包括新浪郵箱全文搜索在內的多個基于 Lucene的垂直搜索引擎開發,以及新浪愛問和新浪播客的運維,對承載大數據量、高并發的互聯網基礎設施建設有豐富的經驗。他在QCon杭州2011大 會的開放平臺專題做了名為《新浪微博開放平臺中的Redis實踐》的講座,并和參會者做了熱烈的討論。會后,InfoQ中文站
目前redis僅支持主從復制模式,可以支持在線備份、讀寫分離等功能,實際應用中通常通過sentinel服務做主從切換的管理,這增加了管理的復雜度和維護成本,基于此360基礎架構組聯合DBA從redis內部實現了雙主功能。
Storm集成Redis:一、Storm集成redis前的準備 ????首先是需要安裝storm和redis環境,具體安裝方法可分別去http://st...
數據庫主要類型有對象數據庫,關系數據庫,鍵值數據庫等等,對象數據庫太超前了,現階段不提也罷;關系數據庫就是平常說的MySQL,PostgreSQL這些熟的不能再熟的東西,至于鍵值數據庫則是本文要著重說的,其代表主要有MemcacheDB,Tokyo Cabinet等等。
Redis 集群是一個分布式(distributed)、容錯(fault-tolerant)的 Redis 實現, 集群可以使用的功能是普通單機 Redis 所能使用的功能的一個子集(subset)。 Redis 集群中不存在中心(central)節點或者代理(proxy)節點, 集群的其中一個主要設計目標是達到線性可擴展性(linear scalability)。
我們知道了過期時間保存在 expires 字典里, 又知道了該如何判定一個鍵是否過期, 現在剩下的問題是, 如果一個鍵是過期的, 那它什么時候會被刪除?
redis集群方案
Redis Memcached 特性,技術選型時需要注意到的問題。 如果簡單地比較Redis與Memcached的區別,大多數都會得到以下觀點: 1 Redis不僅僅支持簡單的k/v類型的數據,同時還提供list,set,hash等數據結構的存儲。
Redis,是一個key-value存儲系統,與memcached類似,它支持存儲的value類型相對更多,包括string(字符串)、list(鏈表)、 set(集合)、zset(sorted set --有序集合)和hashs(哈希類型)。這些數據類型都支持push/pop、add/remove及取交集并集和差集及更豐富的操作,而且這些操作都是原子性的。在此基礎上,redis支持各種不同方式的排序。與memcached一樣,為了保證效率,數據都是緩存在內存中。區別的是redis會周期性的把更新的數據寫入磁盤或者把修改操作寫入追加的記錄文件,并且在此基礎上實現了master-slave(主從)同步。