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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Redis 实战笔记

發(fā)布時間:2024/9/3 数据库 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Redis 实战笔记 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Redis

yum源安裝

yum install -y epel-release redis systemctl enable redis systemctl start redis systemctl status redis

redis 簡介

Redis是一個開源的使用 C語言編寫的 Key-value內(nèi)存數(shù)據(jù)庫讀寫性能強(qiáng),支持多種數(shù)據(jù)類型把數(shù)據(jù)存儲在內(nèi)存中的高速緩存作者 Salvatore Sanfilippo# 中文文檔http://www.redis.cn/documentation.html

redis 特點(diǎn)

速度快支持多種數(shù)據(jù)結(jié)構(gòu)( string、list、hash、set、stored set)持久化主從復(fù)制(集群)支持過期時間支持事務(wù)消息訂閱官方不支持 WINDOWS,但是有第三方版本

Redis與 Memcache的對比

對比測試

Redis應(yīng)用場景

數(shù)據(jù)緩存提高訪問性能,使用的方式與 memcache相同。會話緩存( Session Cache)保存Web會話信息排行榜/計(jì)數(shù)器? ??Nginx+lua+Redis 計(jì)數(shù)器進(jìn)行IP自動封禁消息隊(duì)列構(gòu)建實(shí)時消息系統(tǒng),聊天,群聊。

多實(shí)例

復(fù)制redis.conf redis-server redis-cli 到不同的文件夾修改配置文件中的端口# 去除注釋 sed -ri '/^$|#/d' redis.conf # 后臺啟動 [root@mysql-56 redis-6.0.9]# grep daemon redis.conf daemonize yes [root@mysql-56 redis-6.0.9]# ./src/redis-server redis.conf [root@mysql-56 redis-6.0.9]# ./src/redis-cli -p 6380 127.0.0.1:6380>

redis 源碼安裝

#安裝 wget http://download.redis.io/releases/redis-3.2.6.tar.gz tar xzf redis-3.2.6.tar.gz cd redis-3.2.6 make#運(yùn)行 src/redis-server #客戶端 src/redis-cli#查看路徑 rpm -ql redis # 啟動客戶端端口 redis-cli -p 6380

配置文件

主目錄下 redis.conf??port 6380 # 端口 daemonize yes # 后臺運(yùn)行 pidfile /var/run/redis_6380.pid #進(jìn)程文件 logfile "/data/redis6380/redis.log" #日志文件 appendonly yes #日志開關(guān) dbfilename dump.rdb # 持久化數(shù)據(jù)文件[root@mysql-56 redis-6.0.9]# ls /data/redis6380/ redis.conf redis.log redis-server

redis 保護(hù)模式

一鍵部署[root@mysql-56 redis-6.0.9]# cat /usr/lib/systemd/system/redis.service [Unit] Description=Redis persistent key-value database After=network.target After=network-online.target Wants=network-online.target[Service] ExecStart=/usr/bin/redis-server /etc/redis.conf --supervised systemd ExecStop=/usr/libexec/redis-shutdown Type=notify User=redis Group=redis RuntimeDirectory=redis RuntimeDirectoryMode=0755[Install] WantedBy=multi-user.target

Bind 保護(hù)模式

  • Redis 3.2 新特性
-解決訪問安全
  • Bind
-指定IP進(jìn)行監(jiān)聽 bind 10.0.0.11
  • 禁止 protected-mode
protected-mode yes/no
  • 增加 requirepass {password}
requirepass 123456
  • 在redis-cli中使用
auth {password}進(jìn)行認(rèn)證[root@mysql-56 redis-6.0.9]# grep prote redis.conf protected-mode yes requirepass 123456127.0.0.1:6380> SHUTDOWN not connected> exit 127.0.0.1:6380> get foo (error) NOAUTH Authentication required. 127.0.0.1:6380> auth 123456 OK 127.0.0.1:6380> get a "1"

redis 數(shù)據(jù)

獲取當(dāng)前配置CONFIG GET *變更運(yùn)行配置CONFIG SET loglevel "notice"

持久化

  • RDB持久化可以在指定的時間間隔內(nèi)生成數(shù)據(jù)集的時間點(diǎn)快照(point-in-time snapshot)
  • AOF持久化記錄服務(wù)器執(zhí)行的所有寫操作命令,并在服務(wù)器啟動時,通過重新執(zhí)行這些命令來還原數(shù)據(jù)集。AOF文件中的命令全部以Redis協(xié)議的格式來保存,新命令會被追加到文件的末尾。Redis還可以在后臺對AOF文件進(jìn)行重寫(rewrite),使得AOF文件的體積不會超出保存數(shù)據(jù)集狀態(tài)所需的實(shí)際大小。
  • Redis還可以同時使用AOF持久化和RDB持久化。在這種情況下,當(dāng) Redis重啟時,它會優(yōu)先使用AOF文件來還原數(shù)據(jù)集,因?yàn)锳OF文件保存的數(shù)據(jù)集通常比RDB文件所保存的數(shù)據(jù)集更完整。
  • 你甚至可以關(guān)閉持久化功能,讓數(shù)據(jù)只在服務(wù)器運(yùn)行時存在。

持久化策略

日志文件 appendonly yes/nosave 900 1save 300 10save 60? 10000分別表示900秒(15分鐘)內(nèi)有1個更改,300秒(5分鐘)內(nèi)有10個更改以及60秒內(nèi)有10000個更改,即將數(shù)據(jù)寫入硬盤。

壓縮

decompression yes-指定存儲至本地?cái)?shù)據(jù)庫時是否壓縮數(shù)據(jù),默認(rèn)為yes,Redis 采用LZF壓縮,如果為了節(jié)省CPU時間,可以關(guān)閉該選項(xiàng),但會導(dǎo)致數(shù)據(jù)庫文件變的巨大

同步

appendfsync everysec- no:表示等操作系統(tǒng)進(jìn)行數(shù)據(jù)緩存同步到磁盤,linux 約30秒(快)- always:表示每次更新操作后調(diào)用fsync()將數(shù)據(jù)寫到磁盤(慢,安全)- everysec:表示每秒同步一次(折中,默認(rèn)值)

核心實(shí)戰(zhàn)

數(shù)據(jù)類型

常規(guī)操作

KEYS * 查看KEY支持通配符DEL? ??刪除給定的一個或多個keyEXISTS? ? 檢查是否存在EXPIRE? ??設(shè)定生存時間TTL? ??? ??以秒為單位返回過期時間DUMP RESTORE? ??? ??序例化與反序列化PEXIRE PTTL PERSIST? ??以毫秒為單位RENAME? ??變更KEY名SORT? ??鍵值排序,有非數(shù)字時報錯TYPE? ??返回鍵所存儲值的類型

字符串

SET name lewenGet name一個鍵最大能存儲512MBAppend #將value追加到key原來的值的末尾 INCRBY #增加 DECRBY #減少DECRBY count 20 減去指定量 Mget mset #同時獲取設(shè)置一個或多個鍵值對 STRLEN #返回字符串長度 INCR DECR #將值增或減1

練習(xí)

127.0.0.1:6380> set name lewen OK 127.0.0.1:6380> get name "lewen" 127.0.0.1:6380> type name string127.0.0.1:6380> APPEND name 123 (integer) 8 127.0.0.1:6380> get name "lewen123"127.0.0.1:6380> mset name fadewalk age 24 OK 127.0.0.1:6380> get name "fadewalk" 127.0.0.1:6380> get age "24"127.0.0.1:6380> mget name age 1) "fadewalk" 2) "24"127.0.0.1:6380> STRLEN name (integer) 8 127.0.0.1:6380> STRLEN age (integer) 2127.0.0.1:6380> INCR age (integer) 25 127.0.0.1:6380> INCR age (integer) 26127.0.0.1:6380> DECR age (integer) 25 127.0.0.1:6380> DECR age (integer) 24重復(fù)set 會覆蓋掉前面的值127.0.0.1:6380> EXISTS name (integer) 1 127.0.0.1:6380> INCRBY age (error) ERR wrong number of arguments for 'incrby' command 127.0.0.1:6380> INCRBY age 100 (integer) 124

hash

Redis hash 是一個鍵值對集合。Redis hash 是一個 string類型的field 和 value 的映射表hash 特別適合用于存儲對象。每個hash可以存儲2^32-1鍵值對HSET HGET? ? #設(shè)置返回單個值HMSET HMGET? ? #設(shè)置返回多個值Hmset user name quo sex male age 22HGETALL? ?#返回KEY的所有鍵值HEXSITS? #判斷是否存在HLEN? ? ? #判斷長度HKEYS? ? #獲取所有字典HVALS? ? #獲取所有值HDEL? ? ?#刪除key中的一個或多個指定域127.0.0.1:6380> hset user:1 name lewen (integer) 1 127.0.0.1:6380> TYPE user:1 hash 127.0.0.1:6380> hset user:1 set male (integer) 1127.0.0.1:6380> hgetall user:1 1) "name" 2) "lewen" 3) "age" 4) "24" 5) "set" 6) "male" 127.0.0.1:6380> hget user:1 name "lewen" 127.0.0.1:6380> hget user:1 age "24" 127.0.0.1:6380> hmget user:1 name age 1) "lewen" 2) "24"刪除 127.0.0.1:6380> hdel user:1 name (integer) 1 127.0.0.1:6380> hdel user:1 set (integer) 1 127.0.0.1:6380> del user:1 (integer) 1 127.0.0.1:6380> keys * 1) "age" 2) "name"127.0.0.1:6380> hmset user name lewen age 24 sex male OK 127.0.0.1:6380> HINCRBY user age 10 (integer) 34 127.0.0.1:6380> HINCRBY user age -5 (integer) 29

list

Redis? ??列表是簡單的字符串列表。按照插入順序排序每個LIST可以存儲2^32-1鍵值對LPUSH? ? #將一個或多個值插入到列表頭部RPUSH? ? #將一個或多個值插入到列表尾部LPOP/RPOP? ? #移除表頭/尾的元素LLEN? ? ? #返回列表長度LRANGE? ? #返回指定的元素LREM greet 2 morning? ? #刪除前兩個 morningLREM greet -1 morning? ?#刪除后一個 morningLREM greet 0 hello? ? ?#刪除所有 helloLindex? ? #返回列表key中下標(biāo)為 index的元素LSET key index value? ? #將列表key下標(biāo)為 index的元素的值設(shè)置為valueLINSERT? ? #插入數(shù)據(jù)位于某元素之前或之后。LINSERT key BEFORE|AFTER pivot?value127.0.0.1:6380> lpush found gf yfd jy fc zs (integer) 5 127.0.0.1:6380> type found list127.0.0.1:6380> lrange found 0 10 1) "zs" 2) "fc" 3) "jy" 4) "yfd" 5) "gf"127.0.0.1:6380> lrange found 0 3 1) "zs" 2) "fc" 3) "jy" 4) "yfd" 127.0.0.1:6380> lrange found 0 5 1) "zs" 2) "fc" 3) "jy" 4) "yfd" 5) "gf"127.0.0.1:6380> lpush found wj (integer) 6 127.0.0.1:6380> lrange found 0 5 1) "wj" 2) "zs" 3) "fc" 4) "jy" 5) "yfd" 6) "gf"127.0.0.1:6380> rpush found ha (integer) 7 127.0.0.1:6380> lrange found 0 6 1) "wj" 2) "zs" 3) "fc" 4) "jy" 5) "yfd" 6) "gf" 7) "ha"消費(fèi) 127.0.0.1:6380> rpop found "ha" 127.0.0.1:6380> lrange found 0 6 1) "wj" 2) "zs" 3) "fc" 4) "jy" 5) "yfd" 6) "gf" 127.0.0.1:6380> lpop found "wj" 127.0.0.1:6380> lrange found 0 6 1) "zs" 2) "fc" 3) "jy" 4) "yfd" 5) "gf"127.0.0.1:6380> rpush found bao1 bao2 bao3 bao4 (integer) 9 127.0.0.1:6380> lrange found 0 10 1) "zs" 2) "fc" 3) "jy" 4) "yfd" 5) "gf" 6) "bao1" 7) "bao2" 8) "bao3" 9) "bao4" 127.0.0.1:6380> lpop found "zs" 127.0.0.1:6380> lpop found "fc" 127.0.0.1:6380> lpop found "jy" 127.0.0.1:6380> lpop found "yfd" 127.0.0.1:6380> lpop found "gf" 127.0.0.1:6380> lpop found "bao1"127.0.0.1:6380> lrange found 0 10 1) "bao2" 2) "bao3" 3) "bao4" 127.0.0.1:6380> LLEN found (integer) 3127.0.0.1:6380> rpush found bao1 bao2 bao3 bao4 (integer) 7 127.0.0.1:6380> lrange found 0 10 1) "bao2" 2) "bao3" 3) "bao4" 4) "bao1" 5) "bao2" 6) "bao3" 7) "bao4" 127.0.0.1:6380> lrem found 1 bao2 (integer) 1 127.0.0.1:6380> lrange found 0 10 1) "bao3" 2) "bao4" 3) "bao1" 4) "bao2" 5) "bao3" 6) "bao4"127.0.0.1:6380> lset found 0 baozi001 OK 127.0.0.1:6380> lrange found 0 10 1) "baozi001" 2) "bao4" 3) "bao1" 4) "bao2" 5) "bao3" 6) "bao4"127.0.0.1:6380> lindex found 0"baozi001"127.0.0.1:6380> linsert found after baozi001 baozi002(integer) 7127.0.0.1:6380> lrange found 0 101) "baozi001"2) "baozi002"3) "bao4"4) "bao1"5) "bao2"6) "bao3"7) "bao4"

redis 隊(duì)列訂閱

生產(chǎn)消費(fèi)模型

消息模式

  • 發(fā)布消息通常有兩種模式:隊(duì)列模式( queuIng)和發(fā)布-訂閱模式(publish- subscribe)。隊(duì)列模式中, consumers可以同時從服務(wù)端讀取消息,每個消息只被其中一個 consume讀到。
  • 發(fā)布-訂閱模式中消息被廣播到所有的 consumer中, topic中的消息將被分發(fā)到組中的一個成員中。同一組中的 consumer可以在不同的程序中,也可以在不同的機(jī)器上。

Redis 發(fā)布訂閱

  • Redis發(fā)布訂閱(pub/sub)是一種消息通信模式:發(fā)送者(pub)發(fā)送消息,訂閱者(sub)接收消息。
  • Redis客戶端可以訂閱任意數(shù)量的頻道。

訂閱發(fā)布實(shí)例

SUBSCRIBE mq1? ??#客戶端PUBLISH mq1 "Redis is a great caching technique"PSUBSCRIBE 訂閱一個或多個符合給定模式的頻道psubscribe news *tech*PUBLISH channel message將信息 message?發(fā)送到指定的頻道 channel。返回值代表消費(fèi)者數(shù)量pubsub channels? ? #顯示訂閱頻道PUBSUB NUMSUB news.it? ? #打印各頻道訂閱者數(shù)量PUNSUBSCRIBE? ? #退訂多個頻道SUBSCRIBE? ? ? ?#訂閱給定的一個或多個頻道的信息。UNSUBSCRIBE? ? ?#退訂頻道127.0.0.1:6380> PUBLISH mq1 "redis is a great caching technique"(integer) 2127.0.0.1:6380>

Redis 事務(wù)

Redis 事務(wù)可以一次執(zhí)行多個命令事務(wù)是一個單獨(dú)的隔離操作:事務(wù)中的所有命令都會序列化、按順序地執(zhí)行。事務(wù)在執(zhí)行的過程中,不會被其他客戶端發(fā)送來的命令請求所打斷。原子性:事務(wù)中的命令要么全部被執(zhí)行,要么全部都不執(zhí)行。執(zhí)行過程
  • 開始事務(wù)
  • 命令入隊(duì)
  • 執(zhí)行事務(wù)

事務(wù)命令

DISCARD取消事務(wù),放棄執(zhí)行事務(wù)塊內(nèi)的所有命合。EXEC執(zhí)行所有事務(wù)塊內(nèi)的命令MULTI標(biāo)記一個事務(wù)塊的開始UNWATCH取消 WATCH命合對所有key的監(jiān)視WATCH key [key....]-監(jiān)視一個(或多個)key,如果在事務(wù)執(zhí)行之前這個(或這些)key被其他命合所改動,那么事務(wù)捋被打斷

數(shù)據(jù)備份

[root@cs7 ~]# redis-cli 127.0.0.1:6379> CONFIG GET dir # 獲取當(dāng)前目錄 1) "dir" 2) "/var/lib/redis" [root@cs7 ~]# ls /var/lib/redis/ dump.rdb
  • Save備份(無持久化策略時),生成時在redis 當(dāng)前目錄中。
  • 恢復(fù)時只需將 dump.rdb 放入redis當(dāng)前目錄
save 之后要關(guān)閉才會保存到文件

備份恢復(fù)實(shí)例

[root@mysql-56 redis6380]# egrep "port|daemon|dir|logfile|dbfilename" redis.conf port 6380 daemonize yes logfile "./redis.log" dbfilename dump-6380.rdb dir /data/redis6380 [root@mysql-56 redis6380]# tree . ├── appendonly.aof ├── dump-6380.rdb ├── redis.conf ├── redis.log └── redis-server[root@mysql-56 redis6380]# ./redis-server redis.conf [root@mysql-56 redis6380]# redis-cli -p 6380 127.0.0.1:6380> KEYS * (empty list or set) 127.0.0.1:6380> mset name lewen age 24 OK 127.0.0.1:6380> SHUTDOWN not connected> exit [root@mysql-56 redis6380]# ls appendonly.aof dump-6380.rdb redis.conf redis.log redis-server [root@mysql-56 redis6380]# mv dump-6380.rdb /tmp/ [root@mysql-56 redis6380]# mv appendonly.aof /tmp/[root@mysql-56 redis6380]# ./redis-server redis.conf [root@mysql-56 redis6380]# redis-cli -p 6380 127.0.0.1:6380> KEYS * (empty list or set) 127.0.0.1:6380> SHUTDOWN not connected> [root@mysql-56 redis6380]# mv /tmp/dump-6380.rdb . [root@mysql-56 redis6380]# ls appendonly.aof dump-6380.rdb redis.conf redis.log redis-server [root@mysql-56 redis6380]# ./redis-server redis.conf [root@mysql-56 redis6380]# redis-cli -p 6380 127.0.0.1:6380> KEYS * 1) "age" 2) "name"

主從復(fù)制

主從配置

slaveof 192.168.1.1:6379slave-read-only? ? ?# 只讀模式masterauth <password>? ? ? ??#主服務(wù)器設(shè)置密碼后需要填寫密碼min-slaves-to-write <number of slaves> ? ??#從服務(wù)器不少于,才允許寫入min-slaves-max-lag <number of seconds>? ??#從服務(wù)器延遲不大于CONFIG set slave-read-only yesConfig set masterauth rootinfo replicationSLAVEOF NO ONE? ? #升級至 MASTER127.0.0.1:6380> info replication # Replication role:master connected_slaves:2 slave0:ip=127.0.0.1,port=6381,state=online,offset=140,lag=1 slave1:ip=127.0.0.1,port=6382,state=online,offset=140,lag=1 master_replid:8b3a113a7708b59ec6da191eab8ddfa3a5ec2b92 master_replid2:0000000000000000000000000000000000000000 master_repl_offset:140 second_repl_offset:-1 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:1 repl_backlog_histlen:140127.0.0.1:6381> SLAVEOF 127.0.0.1 6380 OK 127.0.0.1:6382> SLAVEOF 127.0.0.1 6380 OK127.0.0.1:6382> MGET name age 1) "lewen" 2) "24" 127.0.0.1:6381> SLAVEOF no one基于 keepalived的自動故障切換

Redis sentinel

redis 哨兵實(shí)現(xiàn)主從復(fù)制master和slave 自動切換

Redis sentinel

·Redis-Sentinel 是 Redis官方推薦的高可用性(HA)解決方案,當(dāng)用Redis做 Master-slave的高可用方案時,假如 master宕機(jī)了,Redis本身(包括它的很多客戶端)都沒有實(shí)現(xiàn)自動進(jìn)行主備切換,而Redis-sentinel 本身也是一個獨(dú)立運(yùn)行的進(jìn)程,它能監(jiān)控多個 master-slave?集群,發(fā)現(xiàn) master宕機(jī)后能進(jìn)行自動切換。

功能

監(jiān)控( Monitoring):Sentinel 會不斷地檢查你的主服務(wù)器和從服務(wù)器是否運(yùn)作正常。提醒( Notification):當(dāng)被監(jiān)控的某個Redis服務(wù)器出現(xiàn)問題時,Sentinel可以通過API向管理員或者其他應(yīng)用程序發(fā)送通知。自動故障遷移( Automatic failover):當(dāng)一個主服務(wù)器不能正常工時, Sentinel會開始一次自動故障遷移操作,它會將失效主服務(wù)器的其中一個從服務(wù)器升級為新的主服務(wù)器,并讓失效主服務(wù)器的其他從服務(wù)器改為復(fù)制新的主服務(wù)器;當(dāng)客戶端試圖連接失效的主服務(wù)器時,集群也會向客戶端返回新主服務(wù)器的地址,使得集群可以使用新主服務(wù)器代替失效服務(wù)器。

Sentinel 命令

PING: 返回PONGSENTINEL masters:列出所有被監(jiān)視的主服務(wù)器SENTINEL slaves <master name>SENTINEL get-master-addr-by-name<master name>:返回給定名字的主服務(wù)器的IP地址和端口號。SENTINEL reset <pattern>:重置所有名字和給定模式 pattern相匹配的主服務(wù)器。SENTINEL failover <master name>:當(dāng)主服務(wù)器失效時,在不詢問其他 Sentinel意見的情況下,強(qiáng)制開始一次自動故障遷移。查看配置文件

配置

cp src/redis-sentinel sentinel.conf vim sentinel.conf port 26380 dir "." sentinel monitor mcmaster 127.0.0.1 6381 1 # 主的個數(shù),這里就寫一個 sentinel down-after-milliseconds mymaster 60000 sentinel config-epoch mymaster O #啟動 ./redis-sentinel /sentinel.conf實(shí)操配置復(fù)制到哨兵文件到 /data/s1[root@mysql-56 s1]# cat sentinel.conf port 26379 daemonize yes pidfile "/var/run/redis-sentinel.pid" logfile "./sentinel.log" dir "/data/s1/" sentinel myid 1c83d3230453094e2878f2f89dcd609ec601e380 sentinel deny-scripts-reconfig yes sentinel monitor mymaster 127.0.0.1 6381 1 sentinel down-after-milliseconds mymaster 10000 sentinel config-epoch mymaster 1

配置文件

指定監(jiān)控 mastersentinel monitor mymaster 127.0.0.1 6379 2 {2表示多少個 sentinel同意}安全信息sentinel auth-pass mymaster luyx30超過15000毫秒后認(rèn)為主機(jī)宕機(jī)sentinel down-after-milliseconds mymaster 15000·當(dāng)主從切換多久后認(rèn)為主從切換失敗sentinel failover-timeout mymaster 100000這兩個配置后面的數(shù)量主從機(jī)需要一樣, epoch為 master的版本sentinel leader-epoch mymaster 1sentinel config-epoch mymaster 1

演示

6380 掛了會自動的 6381 成為master當(dāng)6380 恢復(fù)了以后,又可以加入成為slave如下:127.0.0.1:6380> info replication # Replication role:master connected_slaves:2 slave0:ip=127.0.0.1,port=6381,state=online,offset=9326,lag=0 slave1:ip=127.0.0.1,port=6382,state=online,offset=9326,lag=0 master_replid:8b3a113a7708b59ec6da191eab8ddfa3a5ec2b92 master_replid2:0000000000000000000000000000000000000000 master_repl_offset:9459 second_repl_offset:-1 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:1 repl_backlog_histlen:9459 127.0.0.1:6380> SHUTDOWN not connected>[root@mysql-56 s1]# redis-cli -p 6381 127.0.0.1:6381> info replication # Replication role:master connected_slaves:1 slave0:ip=127.0.0.1,port=6382,state=online,offset=11106,lag=0 master_replid:15dc060e31823a40c0e971733dc0add4c3e960f0 master_replid2:8b3a113a7708b59ec6da191eab8ddfa3a5ec2b92 master_repl_offset:11106 second_repl_offset:10006 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:1 repl_backlog_histlen:11106

Redis cluster

Redis集群

Reds集群是一個可以在多個Redis節(jié)點(diǎn)之間進(jìn)行數(shù)據(jù)共享的設(shè)施(installation)。Redis集群不支持那些需要同時處理多個鍵的Redis命合,因?yàn)閳?zhí)行這些命令需要在多個Redis節(jié)點(diǎn)之間移動數(shù)據(jù),并且在高負(fù)載的情況下,這些命令將降低Redis集群的性能,并導(dǎo)致不可預(yù)測的行為Redis集群通過分區(qū)(partition)來提供一定程度的可用性(availability):即使集群中有一部分節(jié)點(diǎn)失效或者無法進(jìn)行通訊,集群也可以繼續(xù)處理命合請求。將數(shù)據(jù)自動切分(split)到多個節(jié)點(diǎn)的能力。當(dāng)集群中的一部分節(jié)點(diǎn)失效或者無法進(jìn)行通訊時,仍然可以繼續(xù)處理命令請求的能力。前面是 主從復(fù)制的小集群

Redis 集群數(shù)據(jù)共享

  • Redis集群使用數(shù)據(jù)分片(sharding)而非一致性哈希(consistency hashing)來實(shí)現(xiàn):一個Redis集群包含16384個哈希槽( hash slot),數(shù)據(jù)庫中的每個鍵都屬于這16384個哈希槽的其中一個,集群使用公式CRC16(key)% 16384來計(jì)算鍵key屬于哪個槽,其中CRC16(key)語句用于計(jì)算鍵key的CRC16校驗(yàn)和。
  • 節(jié)點(diǎn)A負(fù)責(zé)處理0號至5500號哈希槽。
  • 節(jié)點(diǎn)B負(fù)責(zé)處理5501號至11000號哈希槽。
  • 節(jié)點(diǎn)C負(fù)責(zé)處理11001號至16384號哈希槽

集群的復(fù)制

  • 為了使得集群在一部分節(jié)點(diǎn)下線或者無法與集群的大多數(shù)(majority)節(jié)點(diǎn)進(jìn)行通訊的情況下,仍然可以正常運(yùn)作,Redis集群對節(jié)點(diǎn)使用了主從復(fù)制功能:集群中的每個節(jié)點(diǎn)都有1個至N個復(fù)制品(replicate),其中一個復(fù)制品為主節(jié)點(diǎn)(master),而其余的N-1個復(fù)制品為從節(jié)點(diǎn)(slave)。
  • 在之前列舉的節(jié)點(diǎn)A、B、C的例子中,如果節(jié)點(diǎn)B下線了,那么集群將無法正常運(yùn)行,因?yàn)榧赫也坏焦?jié)點(diǎn)來處理501號至11000號的哈希槽。
  • 假如在創(chuàng)建集群的時候(或者至少在節(jié)點(diǎn)B下線之前),我們?yōu)橹鞴?jié)點(diǎn)B添加了從節(jié)點(diǎn)B1,那么當(dāng)主節(jié)點(diǎn)B下線的時候,集群就會捋B1設(shè)置為新的主節(jié)點(diǎn),并讓它代替下線的主節(jié)點(diǎn)B,繼續(xù)處理5501號至11000號的哈希槽,這樣集群就不會因?yàn)橹鞴?jié)點(diǎn)B的下線而無法正常運(yùn)作了。
  • 不過如果節(jié)點(diǎn)B和B1都下線的話,Redis集群還是會停止運(yùn)作。

運(yùn)行機(jī)制

所有的 redis節(jié)點(diǎn)彼此互聯(lián)(PING-PONG機(jī)制),內(nèi)部使用二進(jìn)制協(xié)議優(yōu)化傳輸速度和帶寬。節(jié)點(diǎn)的fail是通過集群中超過半數(shù)的 master節(jié)點(diǎn)檢測失效時才生效客戶端與redis節(jié)點(diǎn)直連,不需要中間 proxy層.客戶端不需要連接集群所有節(jié)點(diǎn)連接集群中任何一個可用節(jié)點(diǎn)即可把所有的物理節(jié)點(diǎn)映射到[0~16383] slot上,cluster 負(fù)責(zé)維護(hù) node slot key

注意

需要安裝ruby支持yum install ruby rubygems -ygem install redis<如果gem卡住不動,使用國內(nèi)鏡像>gemsources--addhttps://gems.ruby-china.org/--removehttps://rubygems.org/gem sources -[root@mysql-56 s1]# yum install ruby rubygems -y[root@mysql-56 s1]# gem install redis

[root@mysql-56 s1]# gem sources -a https://mirrors.ustc.edu.cn/rubygems/https://mirrors.ustc.edu.cn/rubygems/ added to sources[root@mysql-56 s1]# gem sources --remove https://rubygems.org/https://rubygems.org/ removed from sources[root@mysql-56 s1]# gem sources -l*** CURRENT SOURCES ***https://mirrors.ustc.edu.cn/rubygems/配置文件中包含cluster-enabled yes cluster-config-file nodes.conf cluster-node-timeout 5000 appendonly yes

創(chuàng)建多個實(shí)例

#!/bin/bash rm -rf /data/700* for no in {0..5} domkdir /data/700$nocd /data/700$nocp -r /data/redis6380/* ./ sed -i "s/port 6379/port 700$no/g" redis.confsed -i "s/daemonize no/daemonize yes/g" redis.confsed -i "s#/var/log/redis/redis.log#redis.log#g" redis.conf# sed -i "s/dump.rdb/dump_700$no.rdb/g" redis.conf# sed -i "s/appendonly.aof/appendonly_700$no.aof/g" redis.confecho "cluster-enabled yes" >> redis.confecho "cluster-config-file nodes.conf" >> redis.confecho "cluster-node-timeout 5000" >> redis.confsed -i "s/appendonly no/appendonly yes/g" redis.confsed -i "s/redis_6379.pid/redis_700$no.pid/g" redis.confsed -i "/dir/d" redis.confecho 'dir "./"' >>redis.confdone

啟動實(shí)例

#!/bin/bash for i in `ss -lntp|grep 700|egrep 'pid=[0-9]{4}'|awk -F '=|,' '{print $3}'`;do kill -9 $i;done for no in {0..5} docd /data/700$no./redis-server ./redis.confdone

創(chuàng)建集群

/data/redis-trib.rb create --replicas 1 \127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 \127.0.0.1:7004 127.0.0.1:7005給定 redis-trib.rb程序的命合是 create,這表示我們希望創(chuàng)建一個新的集群。選項(xiàng) --replicas 1 表示我們希望為集群中的每個主節(jié)點(diǎn)創(chuàng)建一個從節(jié)點(diǎn)之后跟著的其他參數(shù)則是實(shí)例的地址列表,我們希望程序使用這些地址所指示的實(shí)例來創(chuàng)建新集群。# 新的創(chuàng)建集群方式/data/redis-cli --cluster create 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 --cluster-replicas 1集群客戶端[root@txy redis-6.0.9]# redis-cli -c -p 7000重新分片./redis-trib.rb reshard 127.0.0.1:7000[root@txy redis-6.0.9]# redis-cli -c -p 7000 127.0.0.1:7000> set name lewf -> Redirected to slot [5798] located at 127.0.0.1:7001 OK 127.0.0.1:7001> set name lewfd OK 127.0.0.1:7001> set name lewfd OK 127.0.0.1:7001> get name "lewfd"

集群管理

集群狀態(tài)redis-cli -p 7000 cluster nodes |grep master故障轉(zhuǎn)移redis-cli -p 7002 debug segfault查看狀態(tài)redis-cli -p 7000 cluster nodes|grep master

增加新的節(jié)點(diǎn)

./redis-trib.rb add-node 127.0.0.1:7006 127.0.0.1:7000變成某實(shí)例的從redis 127.0.0.1:7006 > cluster replicate?3c3a0c74aae0b56170ccb03a76b60cfe7dc1912e刪除一個節(jié)點(diǎn)redis-trib del-node ip:port '<node-id>'刪除 master節(jié)點(diǎn)之前首先要使用 reshard 移除 master的全部 slot,然后再刪除當(dāng)前節(jié)點(diǎn)

狀態(tài)說明

  • 集群最近一次向節(jié)點(diǎn)發(fā)送PING命合之后,過去了多長時間還沒接到回復(fù)。
  • 節(jié)點(diǎn)最近一次返回PONG回復(fù)的時間。
  • 節(jié)點(diǎn)的配置紀(jì)元(configuration epoch):詳細(xì)信息請參考Redis?集群規(guī)范。
  • 本節(jié)點(diǎn)的網(wǎng)絡(luò)連接情況:例如 connected。
  • 節(jié)點(diǎn)目前包含的槽:例如 1270.0.1:7001 目前包含號碼為5960至10921的哈希槽。

面試常問

集群哨兵持久化問題

redis qps

單實(shí)例qps每天11萬次不要超過5萬最大3萬

總結(jié)

以上是生活随笔為你收集整理的Redis 实战笔记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

av免费网站观看 | 五月婷婷丁香激情 | 91麻豆精品国产91 | 日韩一区二区免费播放 | 三级动态视频在线观看 | 国产中文字幕视频在线 | 国产人成在线视频 | 国产成人精品不卡 | 国产一级片一区二区三区 | 麻豆视频免费入口 | 一区二区三区电影在线播 | 色网站免费在线看 | 色av男人的天堂免费在线 | 日韩欧美在线第一页 | 99视频久 | 久产久精国产品 | 99热超碰| 久草av在线播放 | 揉bbb玩bbb少妇bbb| 久久神马影院 | 麻豆视频www | 亚洲视频一区二区三区在线观看 | 亚洲第一伊人 | 成人国产精品久久久 | 中文字幕a∨在线乱码免费看 | 四虎国产精 | 久久精彩免费视频 | 日韩女同一区二区三区在线观看 | 欧美日韩久久久 | 五月激情丁香婷婷 | 97精品一区二区三区 | 久久精品视频在线播放 | av中文字幕第一页 | 福利电影一区二区 | 亚洲人片在线观看 | 亚洲精品免费观看视频 | 99久久精品国产毛片 | 色婷婷视频在线观看 | 日本成人a | 欧美精品xxx | 一级黄色大片 | 久久精品99国产精品日本 | 成人av在线直播 | 国产中文字幕一区二区三区 | 久久成人一区二区 | 成人国产精品入口 | 人人看97| 国内视频一区二区 | 亚洲精品男人天堂 | av高清不卡 | 久久伦理电影网 | 视频91 | 国产伦精品一区二区三区在线 | 久久精品永久免费 | 超薄丝袜一二三区 | 一区二区精品在线观看 | 亚洲欧美国产精品va在线观看 | 玖玖视频精品 | 国产精品igao视频网网址 | 成人精品视频久久久久 | 亚洲久在线 | 日韩精品一区二区三区在线视频 | 成人一区二区在线 | 一区二区三区在线影院 | 四虎成人在线 | 久久久久久国产精品久久 | 精品一区电影国产 | 国产亚洲视频在线免费观看 | 亚洲 中文 欧美 日韩vr 在线 | 免费碰碰| 久久99国产精品久久 | 久久伊人操 | 特级片免费看 | 国产精品一区二区三区在线播放 | 国产精品18久久久久久久久久久久 | 亚洲视频 在线观看 | 国产精品99久久久精品免费观看 | 免费99| 亚洲精品9| 人人澡人人添人人爽一区二区 | 中文字幕视频观看 | 综合久久影院 | 国产精品99在线观看 | 国产亚洲激情视频在线 | 夜夜躁日日躁狠狠久久av | 免费视频成人 | 欧美性生活一级片 | 99精品黄色 | 亚洲精品xx | 欧美日韩在线精品一区二区 | 婷婷在线播放 | 九九涩涩av台湾日本热热 | 91av大全| 91九色网站 | 日韩r级电影在线观看 | 午夜av一区二区三区 | 久久精品中文字幕免费mv | 九九热久久免费视频 | 99免费在线播放99久久免费 | 成人国产精品 | 亚州欧美视频 | 久久久www成人免费毛片麻豆 | www色片| 日韩精品视频在线免费观看 | 日韩在线视频一区 | 天天操天天干天天插 | 色综合久久综合中文综合网 | 国产视频每日更新 | 久久久久夜色 | 国产99久久久国产精品成人免费 | 国产日本在线 | 九九99 | 久久噜噜少妇网站 | 久久99久久久久久 | 五月婷婷综合在线视频 | 国产五月婷 | 亚洲91中文字幕无线码三区 | 一区二精品 | 99久高清在线观看视频99精品热在线观看视频 | 日本xxxx.com | 亚州国产视频 | 免费a级毛片在线看 | 在线午夜av | 欧美a在线免费观看 | 国产精品色婷婷视频 | 国产精品色婷婷视频 | 免费看日韩片 | 精品久久视频 | 亚洲国产美女精品久久久久∴ | 国内久久久久 | 久久蜜臀av | 亚洲黄色在线看 | 伊人精品在线 | 五月天婷婷免费视频 | 日本精品久久久一区二区三区 | 在线观看免费黄视频 | 欧美日韩精品二区第二页 | 日韩影视精品 | 国产午夜视频在线观看 | 久久久亚洲麻豆日韩精品一区三区 | 国产美女精品人人做人人爽 | 国产精品成久久久久 | 一区二区三区免费在线播放 | 国产精品久久久久aaaa | 西西4444www大胆无视频 | 久久国产精品久久国产精品 | 国产在线国产 | 伊甸园永久入口www 99热 精品在线 | 亚洲aⅴ一区二区三区 | 久久这里只有精品首页 | 欧美一区二区精品在线 | 亚洲无吗av| 看片在线亚洲 | 日日碰夜夜爽 | 成人av高清在线 | 99久久国产免费,99久久国产免费大片 | 永久免费看av | 伊人天天色 | 偷拍区另类综合在线 | 99在线精品观看 | 天堂在线一区二区三区 | www.玖玖玖| 久久精品国产亚洲 | 性色av免费看 | 欧亚日韩精品一区二区在线 | 亚洲国产精品成人va在线观看 | 国产精品久久久久久久久婷婷 | 欧美看片 | 国产亚洲欧美精品久久久久久 | 久久久精品久久 | 欧美 日韩 视频 | 91黄色在线视频 | 亚洲视屏在线播放 | 正在播放国产91 | 日本在线观看中文字幕 | 精品国产一区二区三区蜜臀 | 成人黄色在线 | 狠狠综合网 | 欧美最猛性xxxx | 久久国产综合视频 | 日韩久久精品一区二区 | 中文字幕第 | 国产91九色视频 | 国产一区二区高清 | 亚洲精选视频在线 | 91大神精品视频在线观看 | 91在线视频精品 | 久久国产综合视频 | 精品在线观看国产 | 麻豆传媒一区二区 | 久久任你操 | 色吧久久| 精品视频在线免费观看 | 亚洲欧美一区二区三区孕妇写真 | 亚洲一区二区视频在线 | 少妇bbw搡bbbb搡bbb | 婷婷六月天天 | 天天操天天干天天玩 | 97色婷婷成人综合在线观看 | 色爽网站 | 日日夜夜天天久久 | 成人在线视 | 99r精品视频在线观看 | 欧美在线视频第一页 | 国产中文字幕久久 | 欧美五月婷婷 | 亚洲精品动漫久久久久 | 超碰在线人人艹 | 国产手机在线精品 | 91精品国自产在线观看欧美 | 国产美女免费视频 | av在线com| 91精品久久久久久综合五月天 | 欧美三级免费 | 久久综合网色—综合色88 | 香蕉影视在线观看 | 婷婷激情小说网 | 久久精品女人毛片国产 | 国产精品黄色影片导航在线观看 | 久草在| 国产免费黄色 | 国产一区二区不卡在线 | 成人av在线播放网站 | 国产一级电影免费观看 | 日韩免费高清 | 天天干天天干天天干天天干天天干天天干 | 亚洲 中文 在线 精品 | 综合色在线观看 | 一区二区精品在线 | 精品中文字幕视频 | av免费在线观看网站 | 婷婷视频在线观看 | 国产人成在线视频 | 2019精品手机国产品在线 | 欧美性色黄 | 黄在线免费看 | 国产精品免费不卡 | 高清久久久久久 | 久久久久一区二区三区四区 | 丁香婷婷社区 | 久久久高清视频 | 久久九九影视网 | 成人免费中文字幕 | 久久99国产精品久久 | 99在线高清视频在线播放 | 亚洲精品综合欧美二区变态 | 午夜av在线免费 | 国产一区二区三区免费在线观看 | 天天天天爽 | 亚洲成人欧美 | 亚洲最新av | 91麻豆精品91久久久久同性 | 93久久精品日日躁夜夜躁欧美 | 日韩黄色在线观看 | 米奇四色影视 | 一区二区三区四区久久 | 日韩视频免费在线观看 | 国产99久久99热这里精品5 | 午夜精品成人一区二区三区 | 亚洲成av人影院 | 国产精品一区二区免费在线观看 | 国产在线观看你懂得 | 欧美一级片在线播放 | 久久久久久久免费看 | 国产在线精品国自产拍影院 | 九九热在线精品 | 玖玖视频国产 | 久久99精品久久久久婷婷 | 国产69精品久久久久久 | 国产男女无遮挡猛进猛出在线观看 | 成人av电影免费在线播放 | 一区二区视频网站 | 999久久久免费视频 午夜国产在线观看 | 91久久国产综合精品女同国语 | 久久久久久久久久久久影院 | 69国产盗摄一区二区三区五区 | 国产午夜精品理论片在线 | 亚洲综合一区二区精品导航 | 日韩精品观看 | 欧美日韩三区二区 | 国产精品久久久区三区天天噜 | 激情网第四色 | 操处女逼| 色姑娘综合天天 | 成人精品一区二区三区中文字幕 | 最近日本mv字幕免费观看 | 日韩视频二区 | 精品一区 精品二区 | 91麻豆操 | 国模一区二区三区四区 | 日韩网站在线免费观看 | 天天操欧美 | 国产又粗又长又硬免费视频 | 六月丁香激情综合色啪小说 | 中文字幕久久精品 | 亚洲小视频在线观看 | 日韩久久精品 | 日韩二区三区 | 91试看 | 亚洲精品国产精品国自产观看浪潮 | 国产日产在线观看 | 欧美另类一二三四区 | 91中文视频 | 国产高清网站 | 黄色录像av| 91视频91自拍 | 日本久久久久久久久 | 高清一区二区三区 | 精品国产伦一区二区三区观看体验 | av免费播放 | av在线之家电影网站 | 91成熟丰满女人少妇 | 超碰在线天天 | a级黄色片视频 | 久久黄色网址 | 日韩精品播放 | 黄色a视频免费 | 国产精品久久久久久久久免费看 | 黄色www| 99久久影视| 国产麻豆精品传媒av国产下载 | 日韩久久精品一区 | 黄色软件视频大全免费下载 | 国产小视频91 | 亚洲aⅴ在线 | 黄色片网站 | 粉嫩av一区二区三区四区在线观看 | 欧美调教网站 | 激情综合久久 | 天天夜夜操| 在线视频免费观看 | 黄色www在线观看 | 日日激情| 手机看片1042 | 婷婷在线色 | 99久久久成人国产精品 | 激情久久五月 | 色综合久久久久久中文网 | 黄色免费观看视频 | 国产午夜精品一区二区三区欧美 | 波多野结衣视频在线 | 日韩色av色资源 | 免费国产视频 | 九九九九精品九九九九 | 免费麻豆视频 | 久久久久久亚洲精品 | 久久综合色天天久久综合图片 | 天堂在线一区二区 | av最新资源 | 亚洲国产精品激情在线观看 | 久久在线看 | 国产不卡av在线播放 | 97av视频在线观看 | 天天爽天天碰狠狠添 | 九九热国产视频 | 久久草av | 91九色视频导航 | 成人免费中文字幕 | 香蕉久久久久久av成人 | 国产18精品乱码免费看 | 人人干免费 | 亚洲动漫在线观看 | 成人国产精品电影 | 在线看91| 亚洲精品字幕在线观看 | 国产伦精品一区二区三区四区视频 | 中文日韩在线 | 一本色道久久综合亚洲二区三区 | 中文字幕av日韩 | 久久精品伊人 | 亚洲精品一区二区18漫画 | 亚洲一区 影院 | 久久成人国产精品 | 黄色影院在线免费观看 | 色com网| 91福利视频网站 | 成人毛片在线视频 | 欧美一级在线看 | 国产不卡免费 | 蜜臀av.com | 99精品欧美一区二区 | 亚洲成人精品久久久 | 久久99精品久久只有精品 | 欧美大香线蕉线伊人久久 | 狠狠色香婷婷久久亚洲精品 | 天天色天天射天天干 | 久久九九久久 | 麻豆国产在线播放 | 99热99| 欧美韩国日本在线观看 | 久久伊人操 | 在线观看www. | 又长又大又黑又粗欧美 | 免费三级网 | 中文字幕第一页在线 | 国产视频亚洲精品 | 免费看搞黄视频网站 | 精品国产一区二区三区四 | 91在线产啪| 久草在线视频首页 | 久久黄网站 | 亚洲aⅴ久久精品 | 欧美国产精品一区二区 | 伊人狠狠干 | 久久精品网站免费观看 | 成人久久18免费网站麻豆 | 亚洲精品999| 日韩免费不卡视频 | 国产热re99久久6国产精品 | 亚洲综合欧美精品电影 | 欧美日韩一区二区三区免费视频 | 国产免费成人av | 日韩中文字幕免费视频 | 精品亚洲成a人在线观看 | 久久五月天色综合 | 久久久国产网站 | 992tv又爽又黄的免费视频 | 国产精品黄色在线观看 | 久久经典国产视频 | 99久久综合精品五月天 | 探花视频免费在线观看 | 国产精品免费久久久 | 亚洲最新av | 国产不卡视频在线 | 香蕉97视频观看在线观看 | 一级免费片 | 超碰成人免费电影 | 成人免费在线电影 | av大全在线 | 欧美一区免费观看 | 久久久久免费 | 中文字幕人成不卡一区 | 欧美va天堂va视频va在线 | 久草手机视频 | aaa毛片视频 | 国产视频二区三区 | 国产精品久久久久久久久久久免费 | 国产精品1区2区3区 久久免费视频7 | 色噜噜噜噜| 中文字幕一区二区三区久久蜜桃 | 成人高清av在线 | 婷婷亚洲综合五月天小说 | 欧美综合在线观看 | 久爱精品在线 | 日韩精选在线 | 高清国产午夜精品久久久久久 | 99婷婷狠狠成为人免费视频 | 在线观看日韩一区 | 成人免费视频在线观看 | 日韩网站视频 | 久久99国产精品免费 | 婷婷国产一区二区三区 | 欧美精选一区二区三区 | 中文字幕av在线不卡 | 亚洲一级免费电影 | 99亚洲国产 | 色综合亚洲精品激情狠狠 | 综合色综合色 | 久久这里只精品 | 91香蕉视频在线下载 | 久久久亚洲电影 | 91精品视频观看 | 欧美国产大片 | 免费人成在线观看 | 中文资源在线播放 | 国产精品美女久久久久久2018 | 91精品啪 | 播五月婷婷 | www视频免费在线观看 | 国产破处视频在线播放 | 日韩黄色软件 | 久久婷婷国产色一区二区三区 | 九九99视频 | av3级在线 | 在线免费观看黄网站 | 国产精品青草综合久久久久99 | 久久99精品国产麻豆宅宅 | 麻豆国产视频下载 | 久综合网| 天堂网一区二区三区 | 国产黄色精品网站 | 五月婷婷一区二区三区 | 欧美国产大片 | 操夜夜操| 日本精品在线视频 | 最新精品国产 | 91一区二区三区在线观看 | 丁香视频全集免费观看 | 色综合久久网 | 欧美日韩伦理在线 | 国产成人精品一区二区三区网站观看 | 欧美日韩国产免费视频 | 日韩激情中文字幕 | 国产精品成人在线 | 国产手机在线精品 | 91系列在线观看 | 日韩在线精品一区 | 毛片网站在线 | 黄色小网站在线观看 | 在线观看黄色小视频 | 在线一级片 | 97超碰资源站 | 91福利在线导航 | 搡bbbb搡bbb视频 | 97香蕉久久国产在线观看 | 99精品偷拍视频一区二区三区 | 六月激情丁香 | 欧美性黄网官网 | 最近高清中文在线字幕在线观看 | 99久久久久久| 国产精品久久久久毛片大屁完整版 | 日韩mv欧美mv国产精品 | 在线 精品 国产 | 国产黄色片免费观看 | 久久精品一区二区三 | 蜜臀av免费一区二区三区 | 草免费视频| 日韩二区三区在线 | 99 国产精品 | 超碰人人超碰 | 综合婷婷 | 国产黄色一级片在线 | 国产精品美女视频 | 天天艹天天 | 欧美九九九| 久久成人高清视频 | 免费网站污 | 日韩精品久久久免费观看夜色 | 在线精品亚洲 | 久久天天躁狠狠躁亚洲综合公司 | 午夜免费久久看 | 日韩三级av | 日本在线观看一区二区 | 日韩簧片在线观看 | 成人av高清在线 | 天天天干天天射天天天操 | 精品久久久久国产免费第一页 | 天天色综合1| 看黄色91 | 91九色免费视频 | 国产精品美女久久久网av | 日韩,中文字幕 | 亚洲精品国产成人av在线 | 亚洲日本一区二区在线 | 成人欧美一区二区三区在线观看 | 亚洲三级在线播放 | 国产综合精品久久 | 欧美另类成人 | 亚洲免费视频在线观看 | 国产精品久久久久久麻豆一区 | 在线不卡a | 亚洲免费av电影 | 久久精品电影 | 成年人在线看视频 | 精品亚洲男同gayvideo网站 | 久久国产精品免费一区二区三区 | 久久综合在线 | 69国产精品成人在线播放 | 色婷婷免费视频 | 成人免费视频视频在线观看 免费 | 美女网站视频一区 | 久九视频 | 久久国产精品二国产精品中国洋人 | 亚洲精品在线视频播放 | 日韩一二三 | 国产成人三级三级三级97 | 天天干天天操 | 亚洲狠狠丁香婷婷综合久久久 | 亚洲视频播放 | 国产成人综合在线观看 | 美女免费视频黄 | 夜夜夜影院 | 国产一区二区电影在线观看 | 亚洲国产精品资源 | 插插插色综合 | 久久久久麻豆v国产 | 国产黄色精品 | 国产在线不卡精品 | 久久永久视频 | 日韩高清不卡在线 | 中文字幕在线影视资源 | 日本精品免费看 | 色婷婷综合久久久久 | 精品亚洲网 | 亚洲成人av在线电影 | 在线免费观看亚洲视频 | www国产精品com | 欧美在线视频不卡 | 国产69精品久久99的直播节目 | 乱男乱女www7788 | 在线播放国产一区二区三区 | 日韩免费福利 | 久久视频99| 亚洲狠狠干 | 黄色片免费看 | 999精品 | 97视频免费在线 | 日韩黄色一区 | 在线电影中文字幕 | 97碰视频| 色五月成人| 亚洲欧美经典 | 区一区二区三在线观看 | 日韩高清一 | 久热香蕉视频 | 日韩高清在线看 | 国产精品嫩草55av | 五月天色站 | 精品超碰 | 丁香五婷 | 精品免费 | 日韩理论影院 | 免费十分钟 | 91久久精品日日躁夜夜躁国产 | 五月天激情综合 | 视频一区二区免费 | 国产原创在线视频 | 99精品视频在线观看播放 | 五月婷婷综合网 | 国产免费av一区二区三区 | www日日夜夜 | 欧美亚洲专区 | 丁香六月婷婷开心婷婷网 | 久草在线官网 | 大胆欧美gogo免费视频一二区 | 亚洲无人区小视频 | 91在线精品播放 | 日韩国产精品毛片 | 蜜桃视频日本 | 亚洲在线黄色 | 国产麻豆精品久久一二三 | 精品国产乱子伦一区二区 | 在线看的av网站 | 久久久久国产一区二区三区 | 色噜噜日韩精品欧美一区二区 | 亚洲国产伊人 | 黄色免费高清视频 | 久久精品一区二区三区中文字幕 | 国内精品视频一区二区三区八戒 | 毛片一区二区 | 国产精品美女久久久久久久 | www.com.黄| 二区在线播放 | 久免费 | 国产一区二区观看 | 黄色成人小视频 | 在线观看久草 | 日本精品视频在线观看 | 中文国产在线观看 | 91av在线看 | 国产一区二区免费在线观看 | 午夜在线免费视频 | 97视频入口免费观看 | 在线之家免费在线观看电影 | 人人爽人人爽人人爽人人爽 | 免费影视大全推荐 | 98精品国产自产在线观看 | 91成版人在线观看入口 | 在线网址你懂得 | 亚洲国产播放 | 操操操人人 | 97精品伊人| 视频在线观看入口黄最新永久免费国产 | 97网在线观看 | 九九在线播放 | av在线电影网站 | 97在线视频网站 | 狠狠操精品 | 免费看av片网站 | 91av视频免费观看 | 色婷婷丁香 | 午夜国产福利在线 | 久久99视频精品 | 91伊人久久大香线蕉蜜芽人口 | 婷婷网五月天 | 精品99久久久久久 | 精品a在线| 亚洲国产免费网站 | 亚洲一区美女视频在线观看免费 | 久操视频在线观看 | 亚洲片在线 | 国产精品久久av | 免费a v在线| 国产一区二区视频在线播放 | 91成人亚洲 | 欧美一区二区伦理片 | 午夜精品一二三区 | 国产成人久久精品亚洲 | 国产精品综合久久久久久 | 欧美日韩成人 | 在线电影91 | 一区二区三区四区精品 | 日本久久久久久久久久 | 久久久久久看片 | 91免费版在线观看 | 久久综合五月婷婷 | 欧美性网站 | 日韩视频区 | 播五月综合 | 久草在线资源观看 | 日本中文字幕久久 | 欧美日韩在线视频观看 | 天天干天天操天天干 | 国产精品资源在线观看 | 99 精品 在线 | 99久久激情| 国产精品久久亚洲 | 国产精品久久久久久久久搜平片 | 亚洲永久av | 亚洲国产字幕 | 超碰在线观看99 | 国产在线观看你懂的 | 亚洲国产精品电影在线观看 | 国产亚洲精品久久19p | a级免费观看 | 丁香5月婷婷久久 | 久久国产精品久久久久 | 一区二区不卡视频在线观看 | 九九热精品视频在线观看 | 国产男女爽爽爽免费视频 | 亚洲区另类春色综合小说校园片 | 美女久久| 成人性生交大片免费看中文网站 | 有码一区二区三区 | av在线收看| 一级欧美日韩 | 国产九色91 | 最新中文字幕视频 | 婷婷激情影院 | 亚洲视频999| 天天色宗合| 婷婷去俺也去六月色 | 91成人免费视频 | 精品国产成人在线 | 亚洲视频综合在线 | 色播99| 国产成人一二三 | 成人av一区二区兰花在线播放 | 黄色av一区二区三区 | 欧美日韩免费在线观看视频 | 日韩av电影国产 | 天天综合成人网 | 久久国产精品久久精品国产演员表 | 丝袜足交在线 | 久久这里只有精品视频首页 | 亚洲人成综合 | 日本久热 | 国产精品99久久久久 | 国产美女精品视频免费观看 | 午夜久久网站 | 国产无套视频 | 欧美91av| 久久精品99国产精品亚洲最刺激 | 香蕉蜜桃视频 | 草 免费视频| 日韩精品在线免费观看 | 国产视频九色蝌蚪 | 亚洲国产精品va在线看黑人动漫 | 亚洲欧洲一级 | 一区中文字幕 | 九九免费精品视频在线观看 | 免费特级黄色片 | 日韩av免费在线看 | 国产成人av综合色 | 91热爆视频| 久久av中文字幕片 | 日韩精品中文字幕有码 | 在线免费观看麻豆 | 国产精品96久久久久久吹潮 | 中文字幕成人网 | 88av网站 | 久久综合电影 | 黄色精品一区二区 | 亚洲电影自拍 | 在线国产精品视频 | 久草在线最新免费 | 久久久久中文 | 中文字幕中文中文字幕 | 日韩动态视频 | 久久午夜影视 | 国产精品久久久久毛片大屁完整版 | 久草综合在线 | 久久久69 | 久久人人爽av | 成人av免费在线观看 | 一级性视频 | 中文字幕电影网 | 日本一区二区不卡高清 | 伊人五月天| 免费高清在线一区 | 激情丁香综合五月 | 香蕉视频在线免费 | 日韩中文字幕免费 | 亚洲va欧美va国产va黑人 | 91原创在线观看 | 亚洲经典视频在线观看 | 99精品视频免费观看 | 99热最新地址 | 欧美成人影音 | 欧美 日韩 性 | 精品亚洲欧美一区 | 久久96国产精品久久99软件 | 亚洲久草在线 | 韩国一区二区三区在线观看 | 97人人超碰在线 | 日韩中文在线观看 | 96视频免费在线观看 | 久艹视频免费观看 | 91av在线不卡 | 国产精品色视频 | 亚洲视频大全 | av大片免费 | 中文字幕一区二区三区乱码不卡 | 久久婷婷亚洲 | 欧美日韩国产一区二区三区在线观看 | 亚洲精品乱码久久久久久蜜桃动漫 | av免费电影在线 | www.久热| 欧美午夜视频在线 | 色av资源网 | 91高清视频| 久草在线视频资源 | 九九精品视频在线观看 | 欧美日韩国产页 | 日产乱码一二三区别免费 | 69av国产| 日韩高清精品一区二区 | 人人插人人射 | 中文字幕乱码电影 | 亚洲国产三级在线 | 日韩在线精品 | 婷婷综合影院 | 中文字幕亚洲欧美日韩2019 | www.xxxx欧美 | 91手机视频 | 亚洲一区二区三区在线看 | 国产精品国产三级国产aⅴ9色 | 日韩欧美一区二区三区在线 | 人人爽人人片 | 国产精品男女啪啪 | 精品一区精品二区高清 | 国产精品精品久久久久久 | 顶级bbw搡bbbb搡bbbb | 亚洲午夜av久久乱码 | 青草视频网 | 97精品在线| www.狠狠| 精品视频9999 | 一区三区视频 | 激情久久综合 | 国产福利在线不卡 | 97av免费视频 | 最新午夜 | 国产精品久久片 | 五月婷婷色丁香 | 怡春院av | 久久综合射 | a在线观看免费视频 | 人人狠狠综合久久亚洲 | 狠狠干狠狠色 | 手机成人av在线 | 日韩欧美高清在线观看 | 国产一级免费在线 | 超碰人人草人人 | 日韩精品中文字幕在线 | 欧美做受xxx | 2023国产精品自产拍在线观看 | 中文字幕丰满人伦在线 | 日韩大片在线观看 | 国产精品久久久久久久久久妇女 | 中文一区二区三区在线观看 | 久久久久久久久久毛片 | 香蕉网在线 | 草久久影院 | 狠狠干综合网 | 亚洲区视频在线 | 成人av高清在线 | 三级小视频在线观看 | 九九爱免费视频 | 亚州av一区 | 欧美激情精品久久久久久免费印度 | 97综合网| 91香蕉视频 mp4 | 免费色婷婷 | 色婷婷午夜| 亚洲精品美女久久 | 久久伦理| 成片人卡1卡2卡3手机免费看 | 欧美午夜理伦三级在线观看 | 91精品对白一区国产伦 | 少妇bbbb搡bbbb桶 | 成人一区二区三区在线观看 | 亚洲视频免费视频 | 在线观看国产亚洲 | 成人aaa毛片 | 久久精品日产第一区二区三区乱码 | 成人手机在线视频 | 日本精品xxxx | www操操| 亚洲精品成人网 | 国产精品白丝jk白祙 | 久久精品美女视频网站 | 欧美日本日韩aⅴ在线视频 插插插色综合 | 91亚洲欧美 | 欧美一性一交一乱 | 天天色天天操综合 | 国产伦理久久精品久久久久_ | 精品国产aⅴ麻豆 | 精品视频www | 欧美成人h版 | 日韩在线无 | 日韩精品综合在线 | 福利电影久久 | 色婷婷婷 | 精品中文字幕在线观看 | 在线观看黄色大片 | 免费网站观看www在线观看 | 免费91在线 | 国产在线观看高清视频 | 91免费观看| av三级在线免费观看 | 456免费视频 | 国产精品久久久久久久久久久久 | 欧美综合在线观看 | 亚洲精品免费看 | 91成人网页版 | 久久夜夜爽 | 人人澡人人爱 | 91中文视频 | 视频直播国产精品 | 久久99国产综合精品免费 | 亚洲日本va在线观看 | av观看在线观看 | 五月天中文字幕 | 国产视频不卡一区 | 久在线观看 | 日韩一区二区三区免费视频 | 高潮久久久久久 | 精品免费国产一区二区三区四区 | 成年人网站免费观看 | 日韩区欧美久久久无人区 | av片一区 | 丝袜美腿在线播放 | 久久美女精品 | 亚洲精品视频免费看 | 成人黄色小说网 | 精品福利网 | 日本性生活一级片 | 日本99干网| 91视频免费看网站 | 国产糖心vlog在线观看 | 成人羞羞免费 | 国产精品 中文在线 | 最新影院| 午夜私人影院久久久久 | 国产黄色一级大片 | 久久撸在线视频 | www色,com| 国产亚洲欧美精品久久久久久 | 日韩av女优视频 | 一区二区精品久久 | 天天久久夜夜 | 日韩精品欧美专区 | 免费成人在线观看 | 中文字幕在线视频第一页 | 日日躁夜夜躁aaaaxxxx | 国产精品aⅴ | 国产精品18久久久久vr手机版特色 | 免费观看v片在线观看 | 天天干,天天射,天天操,天天摸 | 日日麻批40分钟视频免费观看 | 韩国av一区二区三区在线观看 | 人人干,人人爽 | 久久免费电影网 | 日韩三级.com | av中文字幕在线看 | 亚洲免费资源 | 91麻豆视频| 亚洲国产免费 | 日本在线免费看 | 精品福利在线观看 | 国产一区二区在线看 | 91成人天堂久久成人 | av视屏在线播放 | 不卡在线一区 | 国产精品久久久久婷婷二区次 | 蜜桃视频日韩 | 在线免费观看黄色小说 | 国产欧美精品在线观看 | 成人精品一区二区三区中文字幕 | 成人黄色av免费在线观看 | 日韩videos| 色婷婷在线播放 | 亚洲电影黄色 | 日本精油按摩3 | www.99久久.com | 中文字幕亚洲综合久久五月天色无吗'' | 成人午夜免费福利 |