一、redis 的線程模型 redis 內部使用文件事件處理器 file event handler,它是單線程的,所以redis才叫做單線程模型。它采用IO多路復用機制同時監聽多個 socket,將產生事件的 socket 壓入內存隊列中,事件分派器根據 socket 上的事件類型 ...
前言 Redis是目前最火爆的內存數據庫之一,通過在內存中讀寫數據,大大提高了讀寫速度,可以說Redis是實現網站高並發不可或缺的一部分。 我們使用Redis時,會接觸Redis的 種對象類型 字符串 哈希 列表 集合 有序集合 ,豐富的類型是Redis相對於Memcached等的一大優勢。在了解Redis的 種對象類型的用法和特點的基礎上,進一步了解Redis的內存模型,對Redis的使用有很大 ...
2018-03-27 08:53 84 55570 推薦指數:
一、redis 的線程模型 redis 內部使用文件事件處理器 file event handler,它是單線程的,所以redis才叫做單線程模型。它采用IO多路復用機制同時監聽多個 socket,將產生事件的 socket 壓入內存隊列中,事件分派器根據 socket 上的事件類型 ...
前言 在前面的文章中,已經介紹了Redis的幾種高可用技術:持久化、主從復制和哨兵,但這些方案仍有不足,其中最主要的問題是存儲能力受單機限制,以及無法實現寫操作的負載均衡。 Redis集群解決了上述問題,實現了較為完善的高可用方案。本文將詳細介紹集群,主要內容包括:集群的作用;集群的搭建方法 ...
前言 在 深入學習Redis(3):主從復制 中曾提到,Redis主從復制的作用有數據熱備、負載均衡、故障恢復等;但主從復制存在的一個問題是故障恢復無法自動化。本文將要介紹的哨兵,它基於Redis主從復制,主要作用便是解決主節點故障恢復的自動化問題,進一步提高系統的高可用性。 文章主要內容 ...
前言 在上一篇文章中,介紹了Redis的內存模型,從這篇文章開始,將依次介紹Redis高可用相關的知識——持久化、復制(及讀寫分離)、哨兵、以及集群。 本文將先說明上述幾種技術分別解決了Redis高可用的什么問題;然后詳細介紹Redis的持久化技術,主要是RDB和AOF兩種持久化方案;在介紹 ...
前言 在前面的兩篇文章中,分別介紹了Redis的內存模型和Redis的持久化。 在Redis的持久化中曾提到,Redis高可用的方案包括持久化、主從復制(及讀寫分離)、哨兵和集群。其中持久化側重解決的是Redis數據的單機備份問題(從內存到硬盤的備份);而主從復制則側重解決數據的多機熱備 ...
NoSQL數據庫的四大分類 KV鍵值: memcache+redis 文檔型數據庫(bson格式比較多): MongoDB MongoDB 是一個基於分布式文件存儲的數據庫。由 C++ 語言編寫。旨在為 WEB 應用提供可擴展的高性能數據存儲解決方案。 MongoDB 是一個介於 ...
概述 Redis的集群主要是使用切片技術來搭建的,簡單來說就是把所有KEY分散存放到不同的redis節點上(不要把雞蛋都放在一個籃子里)。 1. 集群基本原理 Redis集群中內置了16384個槽位,當需要放置數據時,Redis先對KEY使用CRC16算法計算出一個 ...
在學習Redis的常用操作時,經常看到介紹說,Redis的set、get以及hset等等命令的執行都是原子性的,但是令自己百思不得其解的是,為什么這些操作是原子性的? 原子性 原子性是數據庫的事務中的特性。在數據庫事務的情景下,原子性指的是:一個事務(transaction)中的所有操作 ...