日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

大容量类Redis存储--Pika介绍

發(fā)布時(shí)間:2023/12/15 综合教程 34 生活家
生活随笔 收集整理的這篇文章主要介紹了 大容量类Redis存储--Pika介绍 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

嘉賓介紹

大家好,首先自我介紹一下,我是360 web平臺(tái)-基礎(chǔ)架構(gòu)組的宋昭,負(fù)責(zé)大容量類redis存儲(chǔ)pika的和分布式存儲(chǔ)Bada的開發(fā)工作,這是我的github和博客地址,平時(shí)歡迎指正交流^^

我的github:https://github.com/KernelMaker

我的博客:http://kernelmaker.github.io

下面是pika的github,歡迎關(guān)注

https://github.com/Qihoo360/pika

Pika介紹

pika是360 DBA和基礎(chǔ)架構(gòu)組聯(lián)合開發(fā)的類redis存儲(chǔ)系統(tǒng), 使用Redis協(xié)議,兼容redis絕大多數(shù)命令(String,Hash,List,ZSet,Set),用戶不需要修改任何代碼, 就可以將服務(wù)遷移至pika.

pika主要是使用持久化存儲(chǔ)來解決redis在內(nèi)存占用超過50G,80G時(shí)遇到的如啟動(dòng)恢復(fù)時(shí)間長(zhǎng),主從同步代價(jià)大,硬件成本貴等問題,并且在對(duì)外用法上盡可能做到與redis一致,用戶基本上對(duì)后端是redis或pika無感知

既然pika要做到兼容redis并解決redis在大容量時(shí)的各種問題,那么首先要面對(duì)的問題便是如何從redis遷移到pika,畢竟現(xiàn)在redis的使用非常廣泛,如果從redis遷移到pika很麻煩,那應(yīng)該也不會(huì)有多少人用了

從redis遷移到pika需要經(jīng)過幾個(gè)步驟?

開發(fā)需要做的:

  基本不用做任何事情

dba需要做的:

  1.dba遷移redis數(shù)據(jù)到pika
  2.dba將redis的數(shù)據(jù)實(shí)時(shí)同步到pika,確保redis與pika的數(shù)據(jù)始終一致
  3.dba切換lvs后端ip,由pika替換redis
  注:pika提供redis_to_pika工具,通過aof來將db和實(shí)時(shí)增量數(shù)據(jù)同步到pika

遷移過程中需要停業(yè)務(wù)/業(yè)務(wù)會(huì)受到影響嗎:

  不會(huì)

由于pika的數(shù)據(jù)存在硬盤上,故單線程的性能肯定不如redis, 但pika使用多線程來盡可能的彌補(bǔ)數(shù)據(jù)讀寫性能較之redis內(nèi)存讀寫的差異, 線程數(shù)比較多的情況下, 某些數(shù)據(jù)結(jié)構(gòu)的性能會(huì)優(yōu)于redis

pika肯定不會(huì)是一個(gè)完全優(yōu)于redis的方案, 和redis相比也有弊端,只是在某些場(chǎng)景下面更適合. 所以目前公司內(nèi)部redis, pika 是共同存在的方案, DBA會(huì)根據(jù)業(yè)務(wù)的場(chǎng)景挑選合適的方案

本次分享分成6個(gè)部分

背景
為什么做pika(大容量redis遇到的問題)
pika架構(gòu)
pika的創(chuàng)新及優(yōu)化
pika的優(yōu)勢(shì)及不足
總結(jié)

背景

redis提供了豐富的多數(shù)據(jù)結(jié)構(gòu)的接口, 在redis之前, 比如memcache,都認(rèn)為后端只需要存儲(chǔ)kv的結(jié)構(gòu)就可以, 不需要感知這個(gè)value里面的內(nèi)容, 用戶需要使用的話通過json_encode,json_decode等形式進(jìn)行數(shù)據(jù)的讀取就行. 但是其實(shí)redis做了一個(gè)微創(chuàng)新, 提供了多數(shù)據(jù)結(jié)果的支持, 讓服務(wù)端寫代碼起來更加的方便了

因此redis在公司的使用率也是越來越廣泛, 用戶不知不覺把越來越多的數(shù)據(jù)存儲(chǔ)在redis中, 隨著用戶的使用, DBA發(fā)現(xiàn)有些redis實(shí)例的大小也是越來越大, 發(fā)現(xiàn)在redis實(shí)例內(nèi)存使用比較大的情況下, 遇到的問題也會(huì)越來越多, 因此和我們一起實(shí)現(xiàn)了大容量redis的解決方案

最近半年公司每天redis 的訪問情況


Imgur

redis 架構(gòu)方案


Imgur

為什么做pika(大容量redis遇到的問題)

恢復(fù)時(shí)間長(zhǎng)

我們線上的redis一般同時(shí)開啟rdb和aof. 我們知道aof的作用是實(shí)時(shí)的記錄用戶的寫入操作, rdb是redis某一時(shí)刻數(shù)據(jù)的完整快照. 那么恢復(fù)的時(shí)候一般是通過rdb+aof的方式進(jìn)行恢復(fù), 根據(jù)我們線上的情況50G redis恢復(fù)時(shí)間需要差不多40~70分鐘(取決于服務(wù)器性能)

一主多從, 主從切換代價(jià)大

redis在主庫掛掉以后, 從庫升級(jí)為新的主庫. 那么切換主庫以后, 所有的從庫都需要跟新主做一次全同步, 代價(jià)非常大

緩沖區(qū)寫滿問題

為了實(shí)現(xiàn)部分同步,redis使用了repl_backlog來緩存部分同步命令,repl_backlog默認(rèn)1M。 當(dāng)主從之間網(wǎng)絡(luò)有故障, 同步出現(xiàn)延遲了大于1M以后, slave丟失了master的同步點(diǎn),就會(huì)觸發(fā)全同步的過程. 如果多個(gè)從庫同時(shí)觸發(fā)全同步的過程, 在全同步的過程中,redis會(huì)將同步點(diǎn)之后的增量請(qǐng)求給每一個(gè)slave緩存一份,在寫入量大的情況下很容易就將主庫給拖死,當(dāng)然你也可以把repl_backlog調(diào)大來緩解,比如2G,不過對(duì)全內(nèi)存的redis而言,這2G的內(nèi)存代價(jià)也不小

內(nèi)存太貴

我們一般線上使用的redis機(jī)器是64G, 96G. 我們只會(huì)使用80%的空間.

如果一個(gè)redis的實(shí)例是50G, 那么基本一臺(tái)機(jī)器只能運(yùn)行一個(gè)redis實(shí)例. 因此特別的浪費(fèi)資源

總結(jié): 可以看到在redis比較小的情況下, 這些問題都不是問題, 但是當(dāng)redis容量上去以后. 很多操作需要的時(shí)間也就越來越長(zhǎng)了

pika 整體架構(gòu)


Imgur

主要組成:

1. 網(wǎng)絡(luò)模塊 pink
2. 線程模型
3. 存儲(chǔ)引擎 nemo
4. 日志模塊 binlog
5. 主從同步模塊

pink 網(wǎng)絡(luò)模塊

* 基礎(chǔ)架構(gòu)團(tuán)隊(duì)開發(fā)網(wǎng)絡(luò)編程框架, 支持pb, redis等等協(xié)議. 提供了對(duì)thread的封裝, 用戶定義不同thread的行為, 使用更加清晰
* 支持單線程模型, 多線程worker模型
* github 地址: https://github.com/baotiao/pink

線程模型


Imgur

pika使用的是多線程模型,使用多個(gè)工作線程來進(jìn)行讀寫操作,線程分為11種:

PikaServer:主線程

DispatchThread:監(jiān)聽端口1個(gè)端口,接收用戶連接請(qǐng)求

ClientWorker:存在多個(gè)(用戶配置),每個(gè)線程里有若干個(gè)用戶客戶端的連接,負(fù)責(zé)接收處理用戶命令并返回結(jié)果,每個(gè)線程執(zhí)行寫命令后,追加到binlog中

Trysync:嘗試與master建立首次連接,并在以后出現(xiàn)故障后發(fā)起重連

ReplicaSender:存在多個(gè)(動(dòng)態(tài)創(chuàng)建銷毀,本master節(jié)點(diǎn)掛多少個(gè)slave節(jié)點(diǎn)就有多少個(gè)),每個(gè)線程根據(jù)slave節(jié)點(diǎn)發(fā)來的同步偏移量,從binlog指定的偏移開始實(shí)時(shí)同步命令給slave節(jié)點(diǎn)

ReplicaReceiver:存在1個(gè)(動(dòng)態(tài)創(chuàng)建銷毀,一個(gè)slave節(jié)點(diǎn)同時(shí)只能有一個(gè)master),將用戶指定或當(dāng)前的偏移量發(fā)送給master節(jié)點(diǎn)并開始接收master實(shí)時(shí)發(fā)來的同步命令,在本地使用和master完全一致的偏移量來追加binlog,然后分發(fā)給多個(gè)BinlogBGWorker中的一個(gè)來執(zhí)行

BinlogBGWorker:存在多個(gè)(用戶配置),ReplicaReceiver將命令按key取hash分配給其中的一個(gè)BinlogBGWorker,它負(fù)責(zé)真正執(zhí)行命令

SlavePing:slave用來向master發(fā)送心跳進(jìn)行存活檢測(cè)

HeartBeat:master用來接收所有slave發(fā)送來的心跳并回復(fù)進(jìn)行存活檢測(cè)

bgsave:后臺(tái)dump線程

scan:后臺(tái)掃描keyspace線程

purge:后臺(tái)刪除binlog線程

存儲(chǔ)引擎 nemo

pika的存儲(chǔ)引擎是基于Rocksdb實(shí)現(xiàn)的. 封裝了String,Hash, List, ZSet, Set等數(shù)據(jù)結(jié)構(gòu)
我們知道redis是需要支持多數(shù)據(jù)結(jié)構(gòu)的, 而rocksdb只是一個(gè)kv的接口, 那么我們?nèi)绾螌?shí)現(xiàn)的呢?

比如對(duì)于Hash數(shù)據(jù)結(jié)構(gòu):

對(duì)于每一個(gè)Hash存儲(chǔ),它包括hash鍵(key),hash鍵下的域名(field)和存儲(chǔ)的值 (value).

nemo的存儲(chǔ)方式是將key和field組合成為一個(gè)新的key,將這個(gè)新生成的key與所要存儲(chǔ)的value組成最終落盤的kv鍵值對(duì)。同時(shí),對(duì)于每一個(gè)hash鍵,nemo還為它添加了一個(gè)存儲(chǔ)元信息的落盤kv,它保存的是對(duì)應(yīng)hash鍵下的所有域值對(duì)的個(gè)數(shù)。

每個(gè)hash鍵、field、value到落盤kv的映射轉(zhuǎn)換


Imgur

每個(gè)hash鍵的元信息的落盤kv的存儲(chǔ)格式


Imgur

比如對(duì)于List 數(shù)據(jù)結(jié)構(gòu):

顧名思義,每個(gè)List結(jié)構(gòu)的底層存儲(chǔ)也是采用鏈表結(jié)構(gòu)來完成的。對(duì)于每個(gè)List鍵,它的每個(gè)元素都落盤為一個(gè)kv鍵值對(duì),作為一個(gè)鏈表的一個(gè)節(jié)點(diǎn),稱為元素節(jié)點(diǎn)。和hash一樣,每個(gè)List鍵也擁有自己的元信息。

每個(gè)元素節(jié)點(diǎn)對(duì)應(yīng)的落盤kv存儲(chǔ)格式


Imgur

每個(gè)元信息的落盤kv的存儲(chǔ)格式


Imgur

其他的數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)的方式也類似, 通過將數(shù)據(jù)結(jié)構(gòu)拆分為一個(gè)個(gè)獨(dú)立的KV, 存儲(chǔ)到rocksdb 里面去. 從而實(shí)現(xiàn)多數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)

日志模塊 binlog

pika的主從同步是使用Binlog來完成的.
binlog 本質(zhì)是順序?qū)懳募? 通過Index + offset 進(jìn)行同步點(diǎn)檢查.

解決了同步緩沖區(qū)太小的問題

支持全同步 + 增量同步

master執(zhí)行完一條寫命令就將命令追加到Binlog中,ReplicaSender將這條命令從Binlog中讀出來發(fā)送給slave,slave的ReplicaReceiver收到該命令,執(zhí)行,并追加到自己的Binlog中.

當(dāng)發(fā)生網(wǎng)絡(luò)閃斷或slave掛掉重啟時(shí), slave僅需要將自己當(dāng)前的Binlog Index + offset 發(fā)送給master,master找到后從該偏移量開始同步后續(xù)命令

為了防止讀文件中寫錯(cuò)一個(gè)字節(jié)則導(dǎo)致整個(gè)文件不可用,所以pika采用了類似leveldb log的格式來進(jìn)行存儲(chǔ),具體如下:


Imgur

主從同步模塊


Imgur

上圖是一個(gè)主從同步的一個(gè)過程(即根據(jù)主節(jié)點(diǎn)數(shù)據(jù)庫的操作日志,將主節(jié)點(diǎn)數(shù)據(jù)庫的改動(dòng)同步到從節(jié)點(diǎn)的數(shù)據(jù)庫上),從圖中可以看出,每一個(gè)從節(jié)點(diǎn)在主節(jié)點(diǎn)下都有一個(gè)唯一對(duì)應(yīng)的BinlogSenderThread

主要模塊:

WorkerThread:接受和處理用戶的命令;
BinlogSenderThread:負(fù)責(zé)順序地向?qū)?yīng)的從節(jié)點(diǎn)發(fā)送在需要同步的命令;
BinlogReceiverModule: 負(fù)責(zé)接受主節(jié)點(diǎn)發(fā)送過來的同步命令
Binglog:用于順序的記錄需要同步的命令

主要的工作過程:

1.當(dāng)WorkerThread接收到客戶端的命令,按照?qǐng)?zhí)行順序,添加到Binlog里;
2.BinglogSenderThread判斷它所負(fù)責(zé)的從節(jié)點(diǎn)在主節(jié)點(diǎn)的Binlog里是否有需要同步的命令,若有則發(fā)送給從節(jié)點(diǎn);
3.BinglogReceiverModule模塊則做以下三件事情:
    a. 接收主節(jié)點(diǎn)的BinlogSenderThread發(fā)送過來的同步命令;
    b. 把接收到的命令應(yīng)用到本地的數(shù)據(jù)上;
    c. 把接收到的命令添加到本地Binlog里
至此,一條命令從主節(jié)點(diǎn)到從節(jié)點(diǎn)的同步過程完成

BinLogReceiverModule的工作過程:


Imgur

上圖是BinLogReceiverModule的組成,從圖中可以看出BinlogReceiverModule由一個(gè)BinlogReceiverThread和多個(gè)BinlogBGWorker組成。

BinlogReceiverThread:負(fù)責(zé)接受由主節(jié)點(diǎn)傳送過來的命令,并分發(fā)給各個(gè)BinlogBGWorker,若當(dāng)前的節(jié)點(diǎn)是只讀狀態(tài)(不能接受客戶端的同步命令),則在這個(gè)階段寫B(tài)inlog

BinlogBGWorker:負(fù)責(zé)執(zhí)行同步命令;若該節(jié)點(diǎn)不是只讀狀態(tài)(還能接受客戶端的同步命令),則在這個(gè)階段寫B(tài)inlog(在命令執(zhí)行之前寫)

BinlogReceiverThread接收到一個(gè)同步命令后,它會(huì)給這個(gè)命令賦予一個(gè)唯一的序列號(hào)(這個(gè)序列號(hào)是遞增的),并把它分發(fā)給一個(gè)BinlogBGWorker;而各個(gè)BinlogBGWorker則會(huì)根據(jù)各個(gè)命令的所對(duì)應(yīng)的序列號(hào)的順序來執(zhí)行各個(gè)命令,這樣也就保證了命令執(zhí)行的順序和主節(jié)點(diǎn)執(zhí)行的順序一致了
之所以這么設(shè)計(jì)主要原因是:

配備多個(gè)BinlogBGWorker是可以提高主從同步的效率,減少主從同步的滯后延遲;

讓BinlogBGWorker在執(zhí)行執(zhí)行之前寫B(tài)inlog可以提高命令執(zhí)行的并行度;

在當(dāng)前節(jié)點(diǎn)是非只讀狀態(tài),讓BinglogReceiverThread來寫B(tài)inlog,是為了讓Binglog里保存的命令順序和命令的執(zhí)行順序保持一致;

綜上所述,正是因?yàn)檫@樣的架構(gòu)及實(shí)現(xiàn),pika可以較好的解決上面說到redis在大數(shù)據(jù)量下的不足:

恢復(fù)時(shí)間長(zhǎng)
pika的存儲(chǔ)引擎是nemo, nemo使用的是rocksdb, rocksdb啟動(dòng)不需要加載全部數(shù)據(jù), 只需要加載recover log文件就可以啟動(dòng), 因此恢復(fù)時(shí)間非常快

一主多從, 主從切換代價(jià)大
在主從切換的時(shí)候, 新主確定以后, 從庫會(huì)用當(dāng)前的偏移量嘗試與新主做一次部分同步, 如果部分同步不成功才做全同步. 這樣盡可能的減少全同步次數(shù)

緩沖區(qū)寫滿問題
pika不是用內(nèi)存buffer進(jìn)行同步數(shù)據(jù)的緩存, 而是記錄在本地的binlog上, binlog的大小可配,遠(yuǎn)遠(yuǎn)大于內(nèi)存可以使用的上限,因此不會(huì)出現(xiàn)把緩沖區(qū)寫滿的問題,減少無用的全同步次數(shù)

內(nèi)存昂貴問題
pika的存儲(chǔ)引擎nemo使用的是rocksdb, rocksdb同時(shí)使用內(nèi)存和磁盤減少對(duì)內(nèi)存的依賴. 同時(shí)我們盡可能使用SSD盤來存放數(shù)據(jù), 盡可能跟上redis的性能.

pika的創(chuàng)新及優(yōu)化

多數(shù)據(jù)結(jié)構(gòu)key的快速刪除

以Hash為例,redis一個(gè)Hash key可能包含百萬或者千萬的field,對(duì)于Hash key的刪除,redis首先從db dict中刪除掉這個(gè)key,然后立刻返回,該key對(duì)應(yīng)的hash空間采用惰性的方式來慢慢回收,而我們知道,pika的是將Hash結(jié)構(gòu)轉(zhuǎn)換成一個(gè)個(gè)KV來存儲(chǔ)的,刪除一個(gè)Hash Key就等于要?jiǎng)h除其對(duì)應(yīng)的千萬field,此時(shí)用戶的一個(gè)del操作等價(jià)于引擎千萬次的del操作,當(dāng)初做的時(shí)候我們有如下考量:

Solution 1:阻塞刪除,這也是目前其他類似Pika項(xiàng)目的主要解決方案,直到把Hash key對(duì)應(yīng)的所有field key全部刪除才返回給用戶
    
    優(yōu)點(diǎn):易實(shí)現(xiàn)
    缺點(diǎn):阻塞處理,影響服務(wù)

Solution 2:刪除meta key之后立刻返回,其他的field key后臺(tái)起線程慢慢刪除
    
    優(yōu)點(diǎn):速度快
    缺點(diǎn):使用場(chǎng)景受限,如果用戶刪除某個(gè)Hash key之后又立刻插入這個(gè)key,則此時(shí)還未刪除的field key會(huì)被無當(dāng)做新key的一部分,出錯(cuò)

上述兩種方案皆不可行,我們最終在rocksdb上做了改動(dòng),使它支持多數(shù)據(jù)結(jié)構(gòu)版本的概念

最終解決方案:

Hash Key的元信息增加版本,表示當(dāng)前key的有效版本;

操作:

    Put:查詢?cè)畔ⅲ@得key的最新版本,后綴到val;
    Get:查詢?cè)畔ⅲ@得key的最新版本,過濾低版本的數(shù)據(jù);
    Del:key的元信息版本號(hào)+1即可;
    Iterator: 迭代時(shí),查詢key的版本,過濾舊版本數(shù)據(jù);
    Compact:數(shù)據(jù)的實(shí)際刪除是在Compact過程中,根據(jù)版本信息過濾;

通過對(duì)rocksdb的修改,pika實(shí)現(xiàn)了對(duì)多數(shù)據(jù)結(jié)構(gòu)key的秒刪功能,并且將真正的刪除操作交給了compact來減少顯示調(diào)用引擎del造成的多次操作(插入del record及compact)

快照式備份

不同于Redis,Pika的數(shù)據(jù)主要存儲(chǔ)在磁盤中,這就使得其在做數(shù)據(jù)備份時(shí)有天然的優(yōu)勢(shì),可以直接通過文件拷貝實(shí)現(xiàn)

流程:
打快照:阻寫,并在這個(gè)過程中或的快照內(nèi)容
異步線程拷貝文件:通過修改Rocksdb提供的BackupEngine拷貝快照中文件,這個(gè)過程中會(huì)阻止文件的刪除


Imgur

這樣的備份速度基本等同于cp的速度,降低了備份的代價(jià)

后續(xù)優(yōu)化:不過目前pika正在嘗試使用硬鏈建立checkpoint來實(shí)現(xiàn)數(shù)據(jù)的更快備份(秒級(jí)),并且減少備份數(shù)據(jù)的空間占用(從之前的2倍優(yōu)化到不到2倍),更好的支持超大容量存儲(chǔ)

過期支持

redis的過期是通過將需要過期的key在多存一份,記錄它的過期時(shí)間,然后每次讀取時(shí)進(jìn)行比較來完成的,這樣的實(shí)現(xiàn)簡(jiǎn)單,但基于內(nèi)存的讀寫都很快不會(huì)有性能問題,目前其他類似pika的開源項(xiàng)目也采用這樣的方式,將過期key在db多存一份,不過不同于redis,這些項(xiàng)目的db也是落盤,采用這樣簡(jiǎn)單粗暴的方式無形中又多了一次磁盤讀,影響效率,那么pika是如何解決的呢?

pika通過給修改rocksdb Set、Get接口并且新增compact filter,給每個(gè)value增加ttl后綴,并且在Get的時(shí)候來進(jìn)行過濾,將真正的過期刪除交給compact(基于ttl來Drop),在磁盤大容量的前提下,使用額外空間來減少磁盤讀取次數(shù),提高效率

空間回收

rocksdb 默認(rèn)的compact 策略是在寫放大, 讀放大, 空間放大的權(quán)衡. 那么DBA同學(xué)當(dāng)然希望盡可能減少空間的使用, 因此DBA希望能夠隨時(shí)觸發(fā)compact, 而又盡可能的不影響線上的使用, 而rocksdb 默認(rèn)的手動(dòng)compact 策略是最高優(yōu)先級(jí)的, 會(huì)阻塞線上的正常流程的合并, 因此我們修改了rocksdb compact的部分邏輯,低優(yōu)先級(jí)手動(dòng)compact優(yōu)先級(jí),使得自動(dòng)compact可以打斷手動(dòng)compact,來避免level 0文件數(shù)量過多而造成的rocksdb主動(dòng)停寫. pika支持DBA隨時(shí)compact

方便的運(yùn)維

pika較之其他類似開源項(xiàng)目,還有一個(gè)優(yōu)勢(shì)就是它可以方便的運(yùn)維,例如

1. pika的binlog可以配置按個(gè)數(shù)或者按天來刪除,提供工具來支持不用再啟實(shí)例來進(jìn)行指定節(jié)點(diǎn)binlog的實(shí)時(shí)備份,支持binlog恢復(fù)數(shù)據(jù)到指定某一秒(正在做)
2. 支持info命令來查看后臺(tái)任務(wù)的執(zhí)行狀態(tài)(bgsave,purgelogs,keyscan)
3. 支持monitor
4. 支持通過redis aof和monitor來遷移數(shù)據(jù)
5. 支持config set來動(dòng)態(tài)修改配置項(xiàng)
6. 支持多用戶(admin及普通用戶)及命令黑名單,可以禁止掉不想讓普通用戶使用的命令
7. 支持不活躍客戶端的自動(dòng)刪除,支持慢日志,client kill all,readonly開關(guān)
8. 支持快照式備份及手動(dòng)compact
9. 等等...

pika在追求盡可能高的性能及穩(wěn)定性的同時(shí),還注重使用者的使用體驗(yàn),一個(gè)產(chǎn)品即使擁有再給力的性能如果不可運(yùn)維我想也不會(huì)有人想用,所以pika會(huì)不斷發(fā)現(xiàn)并解決使用上的問題,使得它更好用

pika的優(yōu)勢(shì)及不足

pika相對(duì)于redis,最大的不同就是pika是持久化存儲(chǔ),數(shù)據(jù)存在磁盤上,而redis是內(nèi)存存儲(chǔ),由此不同也給pika帶來了相對(duì)于redis的優(yōu)勢(shì)和劣勢(shì)

優(yōu)勢(shì):

容量大:Pika沒有Redis的內(nèi)存限制, 最大使用空間等于磁盤空間的大小
加載db速度快:Pika 在寫入的時(shí)候, 數(shù)據(jù)是落盤的, 所以即使節(jié)點(diǎn)掛了, 不需要rdb或者aof,pika 重啟不用重新加載數(shù)據(jù)到內(nèi)存而是直接使用已經(jīng)持久化在磁盤上的數(shù)據(jù), 不需要任何數(shù)據(jù)回放操作(除去少量rocksdb自身的recover),這大大降低了重啟成本。
備份速度快:Pika備份的速度大致等同于cp的速度(拷貝數(shù)據(jù)文件后還有一個(gè)快照的恢復(fù)過程,會(huì)花費(fèi)一些時(shí)間),目前已經(jīng)開發(fā)完更快更省空間的秒級(jí)備份,即將投入使用,這樣在對(duì)于百G大庫的備份是快捷的,更快的備份速度更好的解決了主從的全同步問題

劣勢(shì):

由于Pika是基于內(nèi)存和文件來存放數(shù)據(jù), 所以性能肯定比Redis低一些, 但是我們一般使用SSD盤來存放數(shù)據(jù), 盡可能跟上Redis的性能。

總結(jié)

如果用戶的業(yè)務(wù)場(chǎng)景數(shù)據(jù)比較大,Redis會(huì)出現(xiàn)上面說到的那些問題,如果這些問題對(duì)用戶來說不可容忍,那么可以考慮使用pika。

我們對(duì)pika整體進(jìn)行了性能測(cè)試,結(jié)果如下:

服務(wù)端配置:

處理器:24核 Intel(R) Xeon(R) CPU E5-2630 v2 @ 2.60GHz
內(nèi)存:165157944 kB
操作系統(tǒng):CentOS release 6.2 (Final)
網(wǎng)卡:Intel Corporation I350 Gigabit Network Connection

客戶端配置:

同服務(wù)端

測(cè)試結(jié)果:
pika配置18個(gè)worker,用40個(gè)客戶端;

1. 寫性能:
    方法:客戶端依次執(zhí)行set、hset、lpush、zadd、sadd接口寫入數(shù)據(jù),每個(gè)數(shù)據(jù)結(jié)構(gòu)10000個(gè)key;
    結(jié)果:qps 110000
2. 讀性能:
    方法:客戶端一次執(zhí)行g(shù)et、hget、lindex、zscore、smembers,每個(gè)數(shù)據(jù)結(jié)構(gòu)5000000個(gè)key;
    結(jié)果:qps 170000

單數(shù)據(jù)結(jié)構(gòu)性能用戶可以依據(jù)自己的需求來測(cè)試,數(shù)據(jù)結(jié)構(gòu)間的性能比較大致是:

String > Hash = Set > ZSet > List

在實(shí)際使用中,大多數(shù)場(chǎng)景下pika的性能大約是Redis的50%~80%,在某些特定場(chǎng)景下,例如range 500,pika的性能只有redis的20%,針對(duì)這些場(chǎng)景我們?nèi)匀辉诟倪M(jìn)

在360內(nèi)部使用情況:

粗略的統(tǒng)計(jì)如下:

實(shí)例數(shù)160個(gè)

當(dāng)前每天承載的總請(qǐng)求量超過100億

當(dāng)前承載的數(shù)據(jù)總量約3TB

wiki

github 地址:

https://github.com/Qihoo360/pika

github wiki:

https://github.com/Qihoo360/pika/wiki/pika介紹

Q&A

Q1:元信息是跟key一起存儲(chǔ)的嗎?

A1:是的
Q2:快照的生成依賴于什么?會(huì)阻塞讀寫嗎?

A2:快照是后臺(tái)生成的,阻塞的地方只是在最開始取當(dāng)前db狀態(tài)和同步點(diǎn)信息的時(shí)候,非常短
Q3:為什么能做到基本上不阻塞?

A3:因?yàn)閜ika的數(shù)據(jù)本來就是存在磁盤上的,備份就等同于文件拷貝.只要在拷貝前計(jì)算一下該拷貝那些文件,然后就可以后臺(tái)搞了
Q4:看hashset的實(shí)現(xiàn),只記錄那些信息,是怎么處理hgetall的

A4:比如hash有5個(gè)field,那么在pika存儲(chǔ),除了元信息之外,真正數(shù)據(jù)是這么存的:key+field1 -> value1,key+field2-> value2等等,在hgetall的時(shí)候,只需要通過rocksdb的iterator,seek到key,然后迭代便可取出所有的field了
Q5:當(dāng)存儲(chǔ)超過SSD空間后,怎么擴(kuò)容呢?

A5: pika受制于底下引擎的限制,不支持?jǐn)U容,如果連ssd都不夠用了,就只能靠掛lvm來解決了
Q6:那新的數(shù)據(jù)如何融合到db里

A6:只需要給新的實(shí)例啟動(dòng)前,配置文件db路徑為備份的目錄,然后啟動(dòng)新實(shí)例即可
Q7:依賴于rocksdb_backup機(jī)制?

A7:是的,目前是基于rocksdb_backup做的,不過我們最新的秒備份已經(jīng)差不多做完了,可以直接通過硬鏈接省去文件的拷貝,以達(dá)到更快的備份速度及更少的空間占用

Q8:dispatch 和 clientWorker 這種生產(chǎn)者消費(fèi)者模型對(duì)性能的影響。

A8:clientworker之間是互不影響的,dispatch在把某個(gè)連接分配給其中一個(gè)worker時(shí)僅與worker有極小概率的沖突(dispatch已分發(fā)完一輪連接,又回到這個(gè)worker,并且該worker此時(shí)也在操作自己的任務(wù)隊(duì)列),這樣的模型是比較通用的做法(與MC類似),性能瓶頸不會(huì)出現(xiàn)在這里
Q9:對(duì)hash類型的讀取、修改、增加、刪除任意部分field的過程及性能。

A9:性能比string接口稍有下降,因?yàn)槎嗔艘粋€(gè)元信息的讀寫,過程的話無非就是先讀元信息,在讀寫真正的數(shù)據(jù)等等,說起來比較多,感興趣的話可以下來交流^^
Q10:binlog有對(duì)操作做可重入處理嗎

A10:binlog里記錄的就是用戶發(fā)來的redis命令,所以不是冪等的

Q11:存放元數(shù)據(jù)的那個(gè)key如何不成為瓶頸

A11: 這樣的設(shè)計(jì)元信息的key的確會(huì)成為瓶頸,不過對(duì)于比較熱的元數(shù)據(jù)key,頻繁更新會(huì)讓他駐留在rocksdb的memtable中,這樣可以彌補(bǔ)一下讀寫性能

Q12:請(qǐng)問講師使用的是redis cluster嗎?為何只有一個(gè)master并且50g那么大?在截圖那個(gè)qps下,會(huì)遇到什么瓶頸?

A12: 目前在公司redis cluster的應(yīng)用不是很廣泛,所以大的業(yè)務(wù)很容易將redis內(nèi)存撐到50G,截圖的qps,根據(jù)上面的介紹,性能梯度是String>Hash=Set>ZSet>List,之所以可以到達(dá)10w+的qps,也是因?yàn)镾tring,Hash,Set這樣的接口操作和redis相比差不多,在worker數(shù)多的情況下,String甚至還高于redis,所以整體上看qps還不錯(cuò),不過對(duì)于List這樣的數(shù)據(jù)結(jié)構(gòu),實(shí)現(xiàn)中就是基于kv來做的list,所以性能低于前面的數(shù)據(jù)結(jié)構(gòu)

Q13:在多線程情況下,對(duì)事務(wù)的處理是怎么實(shí)現(xiàn)的

A13:pika上層會(huì)對(duì)寫操作加行鎖,來確保對(duì)同一個(gè)key的寫db和寫binlog不被打斷

Q14:hashset每次hset都要讀取count值嗎

A14:是的,因?yàn)榘姹咎?hào)的原因,每一次都需要讀取元信息

Q15:binlog可以理解為redis的aof文件么?存儲(chǔ)的都是命令日志記錄?

A15:是的,和aof差不多,存儲(chǔ)的都是用戶命令,不過除了做aof的功能,在主從同步中它也承擔(dān)了redis中repl_backlog的功能

總結(jié)

以上是生活随笔為你收集整理的大容量类Redis存储--Pika介绍的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

久久男人中文字幕资源站 | 婷婷射五月 | 国产精品久久视频 | 国产精品日韩久久久久 | 日韩伦理一区二区三区av在线 | 在线观看成人福利 | 久久综合影音 | 中文av一区二区 | 免费瑟瑟网站 | 精品在线一区二区三区 | 久久在线看 | 国产激情免费 | 黄色特级片| 免费试看一区 | 黄色a级片在线观看 | 伊人久在线 | 免费av免费观看 | 欧美精品在线观看免费 | 日韩在线电影一区二区 | 成人一级在线 | 日韩专区视频 | 青春草视频在线播放 | 中文字幕文字幕一区二区 | 在线精品视频免费观看 | 日韩精品免费在线视频 | 久久优 | 波多野结衣在线观看视频 | 伊人午夜视频 | 91成人黄色| 欧美黑吊大战白妞欧美 | 综合天天网 | 欧洲一区精品 | 日本久久91| 欧美一性一交一乱 | 日日夜夜精品视频天天综合网 | 亚洲一级片在线看 | 国产精品久久久久久久久免费 | 激情综合网五月激情 | a级成人毛片 | 超碰99在线 | 亚洲精品一区二区三区高潮 | 黄色av一区| 亚洲黄在线观看 | 91麻豆精品国产91久久久无限制版 | 日韩专区在线播放 | 日韩免费高清在线观看 | 91视频在线观看大全 | 天堂va在线观看 | 99精品免费久久久久久久久 | 色夜影院| 成人黄色中文字幕 | 99久久婷婷国产综合精品 | 91亚洲精品久久久蜜桃网站 | 精品一区二区三区久久 | av黄色在线 | 在线观看岛国av | 亚洲精品三级 | 亚洲精品永久免费视频 | 欧美污污网站 | 亚洲砖区区免费 | 色视频网站免费观看 | 国产一级片免费视频 | av在线免费在线观看 | 国产三级国产精品国产专区50 | 国产精品va视频 | japanesefreesexvideo高潮 | 一本一道波多野毛片中文在线 | 国产精品毛片一区视频播不卡 | 亚洲成熟女人毛片在线 | 91超碰免费在线 | 欧美性生活免费 | 亚洲成人av电影 | 99久久er热在这里只有精品15 | 六月婷婷久香在线视频 | 精品国偷自产国产一区 | 日韩三级视频在线观看 | 国产成人精品一区二区三区网站观看 | 西西大胆啪啪 | 欧美精品久久久久性色 | 精品亚洲成a人在线观看 | 亚洲综合激情小说 | 91在线公开视频 | 亚洲精品视频一二三 | 国产黄在线观看 | 久一网站 | 亚洲一区二区视频在线播放 | 在线免费性生活片 | 最近最新最好看中文视频 | 日韩精品网址 | 在线观看视频你懂的 | 韩国视频一区二区三区 | 美女黄久久| 日本精品视频一区二区 | 四虎永久精品在线 | 五月天国产精品 | 国产粉嫩在线观看 | 亚洲国产三级在线观看 | 人人干在线观看 | 亚洲视频999 | 日韩免费在线网站 | 国产视频亚洲精品 | 91精品蜜桃 | 操久在线 | 91麻豆精品国产自产 | 久久视频国产精品免费视频在线 | 丁香久久五月 | 天天操天天干天天综合网 | 日躁夜躁狠狠躁2001 | 国产在线国偷精品产拍免费yy | 国产高清区 | 四川bbb搡bbb爽爽视频 | 二区三区精品 | 午夜国产福利在线观看 | 最新一区二区三区 | 国产a精品 | 午夜 在线 | 成人综合日日夜夜 | 亚洲国产精品500在线观看 | avsex| 一本大道久久精品懂色aⅴ 五月婷社区 | 久久久免费网站 | 91福利在线导航 | 五月婷婷在线观看 | 国产精品成人品 | 麻豆免费视频观看 | 国产在线不卡一区 | 国产高清福利在线 | 婷婷在线精品视频 | 亚洲精品资源在线观看 | 国产精品视频免费观看 | 久久久综合九色合综国产精品 | 91九色国产在线 | 天天干天天色2020 | 人人躁| 中文字幕在线视频一区二区 | 日韩久久片| 亚洲精品婷婷 | 精品国产中文字幕 | 在线观看视频精品 | 亚洲视频,欧洲视频 | 天天色天天操天天爽 | 国产中文字幕在线视频 | 久久精品久久久久电影 | 中文字幕亚洲在线观看 | 国产原创av在线 | 91福利视频免费观看 | 在线 国产 日韩 | 久久人视频 | 久久久久久综合网天天 | 婷婷激情av | 亚洲国产视频直播 | 激情视频在线高清看 | 久久综合九色综合久久久精品综合 | 韩日色视频 | 久久午夜免费观看 | 深爱激情综合 | 久久久官网 | 欧美成人xxxx | 日本黄色大片免费看 | 亚洲永久精品视频 | 精品视频在线观看 | 日韩天堂网| 99久久久国产精品 | www.色午夜,com | 久久免费一 | 国产精品久久久久久久av大片 | 热久久免费视频精品 | 91试看| 日韩免费一区二区在线观看 | 天天综合成人网 | 久草资源在线 | 国产精品久久久av久久久 | 久草网站在线 | 国内精品久久久久久久 | 国产一线二线三线在线观看 | 97精品在线| 国产麻豆精品95视频 | 日韩视频在线观看视频 | 在线亚洲小视频 | 91视频免费网址 | 亚洲视频www | 黄色99视频 | 日韩在线观看a | 久久久久久久久久电影 | 日日摸日日添日日躁av | 99视频精品| 91av视频免费在线观看 | 国产主播99| 中文乱码视频在线观看 | 操操操影院 | 黄色app网站在线观看 | 国产黑丝一区二区三区 | 久久精品亚洲综合专区 | 一级黄色毛片 | 丁香综合五月 | 国内外成人在线视频 | 久久久久这里只有精品 | 黄色视屏免费在线观看 | 成人免费视频a | 国产第页 | 在线观看中文 | 天天干天天干天天操 | wwwav视频 | 国产精品初高中精品久久 | 成人日批视频 | 日韩丝袜视频 | 嫩嫩影院理论片 | 亚洲精品在线观看不卡 | a√天堂中文在线 | 亚洲砖区区免费 | av在线网站免费观看 | 中文字幕在线免费播放 | 日韩精品一区二区三区免费视频观看 | 五月激情电影 | 精品久久一级片 | 日韩在线视频免费观看 | 手机av在线网站 | 久久综合偷偷噜噜噜色 | 狠狠干狠狠操 | 日韩精品欧美精品 | 在线亚洲高清视频 | 插综合网| 国产 在线观看 | 天天操天天色天天射 | 日日射av | 日韩电影在线观看一区 | 欧美性黑人 | 国产免费影院 | 久久这里只有精品9 | 久草免费在线观看视频 | 久草热久草视频 | 成人av片免费观看app下载 | 欧美韩国日本在线 | 在线观看国产日韩欧美 | av片在线看 | 精品一二 | 国产裸体视频bbbbb | .精品久久久麻豆国产精品 亚洲va欧美 | 日韩在线视频网址 | 日日夜夜人人天天 | 日韩一级片大全 | 在线视频久 | 欧美另类xxxx | 日本精品中文字幕在线观看 | 日韩系列| 免费99视频 | 欧美成人一区二区 | 精品视频在线视频 | 国产aa精品 | 黄色小说在线免费观看 | 综合网天天射 | 天天玩天天干天天操 | 精品一区久久 | 91精品天码美女少妇 | 亚洲一区二区三区毛片 | 国产精品久久影院 | 在线欧美a | 欧美二区三区91 | 九九九在线观看 | 国产黑丝一区二区 | 激情综合狠狠 | 91尤物在线播放 | 婷婷久久精品 | 在线观看av网 | 在线观看片 | 久久99视频免费观看 | 蜜桃视频成人在线观看 | 丁香激情五月 | 免费福利小视频 | 日韩理论在线观看 | 91爱爱电影 | 91视频链接| 狠狠操狠狠干天天操 | 国产色女人 | 国产精品麻 | 高清av免费看 | 天天操夜操视频 | 97在线视频免费看 | 久久国产精品视频观看 | 中文字幕人成不卡一区 | 久久久久久久久电影 | www日日| 国产精品九九九九九九 | 不卡精品 | 波多野结衣在线观看一区 | 91在线免费观看国产 | 精品国产福利在线 | 伊人永久在线 | 国产一区二区在线免费播放 | 999国内精品永久免费视频 | 九九免费在线观看视频 | 国产精品久久久久永久免费 | 激情视频网页 | 亚洲国产成人在线观看 | 亚洲少妇天堂 | 国产成人香蕉 | 日韩网站一区二区 | 久久精品免视看 | 国产综合福利在线 | 欧美精品三级 | 日韩视频三区 | 亚洲专区中文字幕 | 国产成年人av | 午夜精品久久久久久久爽 | 就要干b | 玖玖视频网 | 色永久免费视频 | www.人人草 | av黄色影院 | 色婷久久 | 一区二区伦理 | 欧美性色黄大片在线观看 | 国产资源精品在线观看 | 久久精品一区二区三 | 日韩av午夜| 欧美激情综合五月色丁香 | 亚洲毛片视频 | 色婷婷福利视频 | 亚洲午夜精品福利 | 久久精精品视频 | 国产成年免费视频 | 欧美日韩二三区 | 国产精品久久久久久久7电影 | 午夜精品久久久久久久99无限制 | 午夜的福利 | 天天天天射 | 91高清免费 | 成人精品视频久久久久 | 欧美亚洲成人免费 | 在线看片一区 | 成人国产精品一区二区 | 91尤物国产尤物福利在线播放 | 亚洲国产精品va在线 | 五月婷婷综合在线观看 | 久草国产在线观看 | 亚洲黄色免费 | 欧美ⅹxxxxxx | 久久精品男人的天堂 | 日本精品视频一区二区 | 久久久精品二区 | 日韩欧美视频一区二区三区 | 久久不卡免费视频 | 一区二区精品国产 | www色com| 日批在线看 | 麻豆久久久久 | 2018好看的中文在线观看 | 天天干国产 | 国产精品一区免费看8c0m | 99久久精品免费看国产 | 国产视频欧美视频 | 最新av电影网站 | 成 人 黄 色 视频 免费观看 | av免费观看网站 | 日韩精品最新在线观看 | 西西444www高清大胆 | 久久久久久久久久久久久久免费看 | 在线黄网站 | 日韩久久网站 | www日韩在线观看 | av播放在线 | 婷婷爱五月天 | 日本精品视频一区二区 | www.神马久久 | 久久天堂影院 | 九九交易行官网 | 久久九九视频 | 国产不卡在线 | 国产美女永久免费 | 91最新网址 | 99精品电影 | 久久久久亚洲精品中文字幕 | 一区二区三区日韩在线观看 | 天天做日日做天天爽视频免费 | 久久99国产精品免费 | 伊人开心激情 | 日韩中文字幕在线不卡 | 国产精品6999成人免费视频 | 亚洲免费黄色 | 国产九色在线播放九色 | 欧美国产精品一区二区 | 婷婷激情网站 | 亚洲综合色视频在线观看 | 丝袜美腿一区 | 国产成人精品免高潮在线观看 | 亚洲一级免费观看 | 成人黄色国产 | 精品国模一区二区三区 | 久久999精品| 亚洲成a人片在线www | 日韩网站在线播放 | 亚洲爱av | 嫩模bbw搡bbbb搡bbbb | 免费的国产精品 | 九九亚洲视频 | 麻豆va一区二区三区久久浪 | 国产精品日韩久久久久 | 麻豆传媒一区二区 | 国产成人一区二区三区影院在线 | 亚洲精品字幕 | 日韩精品免费在线播放 | 激情欧美日韩一区二区 | 国产一级一片免费播放放a 一区二区三区国产欧美 | 欧美成人黄色 | 人人看黄色 | 中文字幕免费一区二区 | 国产视频第二页 | 国产一区二区视频在线 | 欧美日韩不卡一区二区 | 91人人射| 国产精品福利av | 国产精品视频内 | 免费亚洲精品视频 | 亚洲精品综合在线 | 日韩色爱 | 在线国产日本 | 亚洲精品在线观看中文字幕 | 激情久久综合网 | 超碰.com| 亚洲伦理中文字幕 | 免费三级骚 | 久久久久国产成人免费精品免费 | 亚洲蜜桃av| 色香蕉网 | 日日干天天爽 | 在线日韩精品视频 | 日韩二区在线播放 | 一 级 黄 色 片免费看的 | 欧美色图亚洲图片 | 日韩视频免费在线 | av字幕在线| 久久久精品在线观看 | 久久精品中文字幕一区二区三区 | 国内久久精品 | 日本韩国精品在线 | 字幕网资源站中文字幕 | 美女网站免费福利视频 | 中文亚洲欧美日韩 | 亚洲精品国产免费 | 91 在线视频播放 | 久久精品视频国产 | 国产中文视频 | 天天射天天干天天插 | 国产资源在线播放 | 91探花在线 | 在线观看网站av | 日韩在线观看一区二区 | 免费一区在线 | 精品亚洲免a | 91免费看黄色| 国产原创av片 | 成人网中文字幕 | 1000部国产精品成人观看 | 日韩色在线 | www一起操| 97日日碰人人模人人澡分享吧 | 亚洲精品国产精品国 | 激情伊人五月天久久综合 | 91麻豆国产福利在线观看 | 国产亚洲人成网站在线观看 | 国产成人黄色av | 久久福利小视频 | 在线视频 你懂得 | 欧美日韩国产综合网 | 免费黄色网址大全 | 天天爱天天射天天干天天 | 天天插狠狠插 | av在线播放免费 | 中文在线字幕观看电影 | 在线观看蜜桃视频 | 碰超在线观看 | 欧美久久久 | 97超碰人人| 国产无限资源在线观看 | 少妇视频一区 | 久久国产成人午夜av影院宅 | 精品久久久久一区二区国产 | 深夜男人影院 | 伊人网综合在线观看 | 欧美日韩在线电影 | 91桃色在线播放 | 在线观看视频一区二区 | 国产女v资源在线观看 | 手机在线看永久av片免费 | 黄色大片入口 | 久久精品屋 | 久久男人免费视频 | 欧美色一色| 日韩在线观看电影 | 免费视频一级片 | 欧美色综合久久 | 色视频网站在线 | 日本三级吹潮在线 | 干干干操操操 | 日韩a级免费视频 | 西西44人体做爰大胆视频 | 高潮久久久 | 国产精品一区在线观看你懂的 | 亚洲一区天堂 | 九色视频网址 | 色综合天天色综合 | 午夜精品一二区 | 日韩精品久久一区二区 | 日韩欧美国产免费播放 | 精品亚洲成a人在线观看 | 麻豆久久精品 | 综合网欧美 | 国产91小视频 | 久久伊人色综合 | 亚洲高清国产视频 | 日韩中文字幕一区 | 超碰在线9 | 天天爽夜夜爽人人爽一区二区 | 日韩乱码中文字幕 | 国内精品久久久久久久久久 | 在线中文视频 | 黄免费网站 | 亚洲欧美日韩国产精品一区午夜 | 亚洲乱码中文字幕综合 | 日韩高清av在线 | 一区二区三区在线免费 | 中文区中文字幕免费看 | 五月天国产 | 超碰com| 国产中文字幕视频在线 | 中文字幕资源网 | 欧美综合色在线图区 | 精品无人国产偷自产在线 | 精品亚洲国产视频 | 99在线视频观看 | 激情图片久久 | 久久精品一区 | 日本午夜在线观看 | 国产中文字幕视频在线观看 | 国产成人精品一区二区在线 | 中文av日韩 | 91九色视频观看 | 香蕉视频久久久 | 久热色超碰 | 国产免费亚洲 | 久久综合桃花 | 欧美日韩一区二区三区在线免费观看 | 亚洲国产美女精品久久久久∴ | 成人免费在线电影 | 99re8这里有精品热视频免费 | 日韩一级黄色片 | 黄色三级视频片 | 高潮毛片无遮挡高清免费 | 国产高清在线精品 | 国产成人黄色av | 中文在线8新资源库 | 18久久久 | 午夜精品剧场 | 99免费看片| 日本在线观看中文字幕无线观看 | 久久婷婷丁香 | 国产精品一区二区白浆 | 欧美综合在线观看 | 91成年视频 | 婷婷丁香狠狠爱 | 国产午夜三级一二三区 | 国产精品久久久久久久av电影 | 天天射网站 | 久久综合天天 | 91桃色国产在线播放 | 国产精品99久久99久久久二8 | 日韩理论视频 | 欧美亚洲国产一卡 | 国产丝袜制服在线 | 欧美日韩视频一区二区三区 | 国产亚洲婷婷 | 一区二区影院 | 欧美在线视频一区二区 | 国产一区二区三精品久久久无广告 | 99热这里精品 | 亚洲少妇自拍 | 国产亚洲无 | 婷婷色站| 日日干 天天干 | 久久综合网色—综合色88 | 97人人模人人爽人人喊网 | 久久精品视频国产 | 欧美色精品天天在线观看视频 | 欧美日韩国产精品久久 | 日韩激情av在线 | 91麻豆免费看 | 天天五月天色 | 午夜少妇| 国产夫妻性生活自拍 | 五月丁婷婷 | 9在线观看免费高清完整版 玖玖爱免费视频 | 黄色官网在线观看 | av在线亚洲天堂 | 久久久久国产免费免费 | 怡春院av | 亚洲理论在线观看电影 | 一区二区激情视频 | 亚洲午夜精品久久久 | 97在线视频观看 | 中文字幕黄色网址 | 1000部国产精品成人观看 | 色婷婷精品大在线视频 | 91av网址 | 国产精品久久久久久高潮 | 欧美色图亚洲图片 | 国产又粗又硬又长又爽的视频 | av电影免费 | 日韩av一区在线观看 | 超碰97在线人人 | 久久免费精品一区二区三区 | 激情大尺度视频 | 亚洲aⅴ乱码精品成人区 | 国产一级片网站 | 97精品国产91久久久久久久 | 天天草视频| 日韩欧美国产成人 | 午夜.dj高清免费观看视频 | 蜜桃视频在线视频 | 嫩草伊人久久精品少妇av | 久久久精品欧美 | 91精品视频免费在线观看 | 中文字幕日本在线观看 | 黄色com| 久久久久女教师免费一区 | 国产 日韩 中文字幕 | 久久精品一区二区三区四区 | 三级小视频在线观看 | 免费黄色看片 | 在线亚洲免费视频 | 日韩色在线 | 视频在线观看一区 | 一区在线观看视频 | 国产精品久久久久av免费 | 91av看片| 国产原厂视频在线观看 | 午夜美女福利 | 国产精品久久久久久久免费大片 | 欧美在线观看视频免费 | 福利网在线 | 国内精品久久久久影院一蜜桃 | www.久久视频 | 欧美一级乱黄 | 黄色中文字幕在线 | 国产高清不卡在线 | 狠狠久久伊人 | 日韩精品免费在线播放 | 成年人视频在线观看免费 | www九九热| 亚洲成人资源在线观看 | 免费看久久 | 在线观看不卡视频 | 国产99一区二区 | 日韩在线视频二区 | 国产精品99久久久久久宅男 | 天天草视频| a级片韩国 | 91九色在线视频 | 亚洲精品国产精品国 | 国产精品第十页 | 国产精品自产拍在线观看桃花 | 久久激情婷婷 | 一区二区三区在线观看中文字幕 | 日韩在线电影观看 | 久精品视频在线观看 | 国产人成在线视频 | a极黄色片 | 色婷婷99| 国产a免费 | 亚洲精品久久视频 | 香蕉成人在线视频 | 久久视频免费观看 | 天堂av网址 | 亚洲精品乱码久久久久 | 国产成人精品久久久久蜜臀 | 超碰在线97观看 | 毛片视频网址 | 欧美日韩高清一区二区 国产亚洲免费看 | 99久久精品免费看国产四区 | 天天色天天色天天色 | 91在线视频一区 | 91成版人在线观看入口 | 日日综合 | 色在线网站| 午夜在线观看影院 | 国产视频色 | www.久久久| 国产精品久久影院 | 丝袜+亚洲+另类+欧美+变态 | 精品99久久久久久 | 亚洲高清在线精品 | 久久免费99精品久久久久久 | 99精品在线视频观看 | 国产手机免费视频 | 91精品人成在线观看 | 亚洲国产中文字幕在线 | 国产精品免费在线播放 | 色网站中文字幕 | 欧美91精品久久久久国产性生爱 | 久久国产精品小视频 | 国产日产欧美在线观看 | 亚洲激情在线观看 | 欧洲亚洲精品 | 国产99久久久国产精品成人免费 | 亚洲免费av片 | 亚洲一级片在线看 | 成人一区二区三区在线观看 | 97日日碰人人模人人澡分享吧 | 99久热在线精品视频观看 | 亚洲精品国产麻豆 | 欧美日韩一二三四区 | 日韩视频一区二区三区在线播放免费观看 | 十八岁免进欧美 | 久久精品女人毛片国产 | 中文字幕高清有码 | 国产精品h在线观看 | 精品美女在线视频 | 国产成人精品久久二区二区 | 午夜.dj高清免费观看视频 | 精品视频成人 | 五月丁香| 日韩一区在线免费观看 | 深夜福利视频在线观看 | 91九色蝌蚪视频 | www.天天操 | 一级黄色电影网站 | 99久久夜色精品国产亚洲96 | 黄色大全视频 | 国产一级视频 | 最新av网址在线观看 | 成人黄色国产 | 欧美一二三区在线播放 | 久青草国产在线 | 九九爱免费视频在线观看 | 久久久久久久免费观看 | 天天操天天弄 | 亚洲一区av | 欧美亚洲精品一区 | 免费在线激情视频 | 人人藻人人澡人人爽 | 五月婷婷婷婷婷 | 亚洲精品视频网站在线观看 | 99爱视频| 亚洲国产日韩精品 | 国产亚洲精品综合一区91 | 亚洲91精品在线观看 | 久热国产视频 | 亚洲第一区在线观看 | 婷婷色综合网 | 欧美日韩一区二区三区在线观看视频 | 99精品视频观看 | 在线视频观看成人 | 国产毛片久久久 | 中文字幕免费一区 | 国产精品久久久区三区天天噜 | 免费在线观看av不卡 | 98久9在线 | 免费| 99中文字幕在线观看 | 久久精品www人人爽人人 | 日韩一区在线播放 | 欧美男女爱爱视频 | 国产免费观看久久黄 | 久久综合成人 | 日韩理论片 | 国产日韩精品一区二区在线观看播放 | 国产精品久久久久免费 | 99久e精品热线免费 99国产精品久久久久久久久久 | 亚洲精品在线视频观看 | 97精品国产一二三产区 | 激情丁香久久 | 国产999精品久久久久久绿帽 | 懂色av一区二区三区蜜臀 | 草莓视频在线观看免费观看 | 97碰碰碰 | 亚洲japanese制服美女 | 91在线91| 日韩精品中文字幕久久臀 | 亚洲精品综合欧美二区变态 | 九九国产精品视频 | 欧美成人aa | 久久精品国产久精国产 | 成人久久久久久久久久 | 黄色的视频网站 | 五月婷婷中文 | 久久第四色 | 成人一级片免费看 | 99久久夜色精品国产亚洲96 | 在线黄网站 | 国产中文字幕91 | 激情五月在线 | 日韩免费在线观看网站 | 精品国模一区二区三区 | 免费在线播放av电影 | 国产美女精品在线 | 亚洲少妇久久 | 中文字幕在线播放一区二区 | 天天干,天天射,天天操,天天摸 | 在线免费高清一区二区三区 | 99久久99精品 | 综合久久2023| 国产香蕉视频在线观看 | 韩国视频一区二区三区 | 日韩色中色 | 久久综合久久综合这里只有精品 | 精品国产人成亚洲区 | 色婷婷在线观看视频 | 国产剧情久久 | 在线免费观看黄色大片 | 欧美日韩国产区 | 国产精品久久电影网 | 久久黄色美女 | 韩国在线一区 | 中文字幕亚洲不卡 | 三级av在线 | 国产精品入口麻豆 | 激情五月伊人 | 免费黄色激情视频 | 日韩最新中文字幕 | 日韩精品一区二区三区在线播放 | 夜夜嗨av色一区二区不卡 | 精品国产1区2区3区 国产欧美精品在线观看 | 99在线精品免费视频九九视 | 久久精品99久久久久久2456 | 国产午夜一区 | 久久久精品欧美 | 国产一及片 | 999色视频 | 999ZYZ玖玖资源站永久 | 日韩电影中文字幕在线观看 | 99精品欧美一区二区三区黑人哦 | 国产精品综合久久久久久 | 精品你懂的 | 成人免费网站在线观看 | 午夜12点 | 五月婷婷六月丁香激情 | 欧美精品久久人人躁人人爽 | 99久久er热在这里只有精品66 | 国产精品第一页在线观看 | 婷婷社区五月天 | 婷婷综合影院 | 综合色在线 | 国产精品久久久久影视 | 婷婷干五月 | 天天亚洲综合 | 国产亚洲精品久久久久久久久久久久 | 免费高清在线一区 | 亚洲黄色免费观看 | 黄色毛片在线 | 伊人五月天.com | 97人人模人人爽人人喊网 | 亚洲成人网在线 | 一级做a爱片性色毛片www | 亚洲成人av在线播放 | 精品在线不卡 | 亚洲成av人片在线观看香蕉 | 超碰999 | 天天干夜夜 | 婷婷丁香久久五月婷婷 | 99精品免费| 69国产成人综合久久精品欧美 | 国产成人在线网站 | 99综合电影在线视频 | 亚洲精品国偷自产在线99热 | 日韩专区一区二区 | 国产福利一区二区三区在线观看 | 亚洲v精品 | 精品一区二区在线免费观看 | 国内精品在线一区 | 婷婷色网址 | 五月婷婷在线视频观看 | 在线看小早川怜子av | 中文字幕中文字幕 | 国产高清免费在线观看 | 在线播放亚洲 | 久草在线视频国产 | 999久久精品 | 最近日本韩国中文字幕 | 国内精品视频一区二区三区八戒 | 四虎影院在线观看av | 日韩激情在线视频 | 亚洲国产日韩精品 | 亚洲精品婷婷 | 一区在线观看视频 | 国产色a在线观看 | 啪一啪在线 | av黄色在线观看 | 久久99热久久99精品 | 97人人射 | 国产精品成人自产拍在线观看 | 97在线免费观看 | 亚洲免费视频观看 | 三级黄色片在线观看 | 亚洲精品乱码久久久久久 | 欧美一级性| 国产午夜激情视频 | 在线日韩视频 | 久久精品一区二区三区视频 | 中文字幕一区二区三区久久蜜桃 | 中文理论片 | 国产成人精品久久 | 午夜精品一区二区三区免费视频 | www.com黄色 | 色噜噜日韩精品一区二区三区视频 | 美女免费网站 | 国产免费一区二区三区网站免费 | 亚洲午夜精品久久久久久久久久久久 | www.av在线.com | 久久电影中文字幕视频 | 色婷婷国产精品 | 日韩精品一卡 | 日韩在线视频观看 | 在线观看视频97 | 色婷婷精品大在线视频 | 免费中文字幕 | 免费国产亚洲视频 | 精品国产午夜 | 日韩专区在线播放 | 日韩在线高清免费视频 | 91精品影视 | 伊人视频 | 久久久久国产精品免费网站 | a在线v | 999免费视频 | 亚洲成a人片在线观看中文 中文字幕在线视频第一页 狠狠色丁香婷婷综合 | 亚洲精品xxx | 国产精品久久久久久久久久免费 | 久久精品国产免费看久久精品 | 国产永久免费高清在线观看视频 | 亚洲精品综合欧美二区变态 | 成人一区电影 | 国产不卡一二三区 | 一级大片在线观看 | 久久久久国产免费免费 | 色偷偷88888欧美精品久久 | 精品久久中文 | 日日爽日日操 | 欧美韩国在线 | 婷婷综合av | 日韩成人免费在线 | 99欧美视频 | 中文字幕免费高清在线观看 | 涩av在线| 日韩精品一区二区在线 | 欧美精品一区二区免费 | 99视频精品视频高清免费 | 国产精品亚洲人在线观看 | 亚洲影院天堂 | 国产在线日本 | 亚洲国产久 | 成年人在线观看 | 久久精品成人欧美大片古装 | 91资源在线视频 | 成人国产精品 | 日韩乱码在线 | 国产老太婆免费交性大片 | 国产最新视频在线 | 色.com| 夜夜操天天摸 | 久在线观看视频 | 亚洲专区欧美专区 | 日韩一三区| 91香蕉国产在线观看软件 | 99热精品国产 | 欧美a性 | 伊人国产在线观看 | 中文字幕亚洲欧美日韩 | 久久伊人精品一区二区三区 | 在线有码中文 | 天天综合天天综合 | 精品国产观看 | 国产精品久久久久久久久婷婷 | 激情中文字幕 | 综合网欧美 | 久久精品一区二区三区视频 | 国产传媒一区在线 | 日韩手机在线 | 欧美一级乱黄 | 久草在线 | 亚州日韩中文字幕 | 狠狠插天天干 | 免费成人在线视频网站 | 亚洲精品www久久久 www国产精品com | 久久电影日韩 | 91中文字幕永久在线 | 久久麻豆视频 | 亚洲欧美日本国产 | 欧美人交a欧美精品 | 在线看成人 | 久久视频一区二区 | www.伊人网 | 99精品国产在热久久 | 黄色在线观看免费 | 黄网在线免费观看 | 99国产成+人+综合+亚洲 欧美 | 97av在线视频 | 91精品国产综合久久福利不卡 | 黄色av三级在线 | 超碰日韩在线 | 日韩欧美专区 |