亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > Redis > 正文

redis簡介_動力節點Java學院整理

2020-03-17 12:36:48
字體:
來源:轉載
供稿:網友

Redis是一個開源的,先進的 key-value 存儲可用于構建高性能,可擴展的 Web 應用程序的解決方案。Redis官方網網站是:http://www.redis.io/,如下:

redis簡介

Redis 有三個主要使其有別于其它很多競爭對手的特點:

  • Redis是完全在內存中保存數據的數據庫,使用磁盤只是為了持久性目的; 
  • Redis相比許多鍵值數據存儲系統有相對豐富的數據類型; 
  • Redis可以將數據復制到任意數量的從服務器中; 

Redis優點

  • ?異??焖?nbsp;: Redis是非??斓模棵肟梢詧绦写蠹s110000設置操作,81000個/每秒的讀取操作。
  • ?支持豐富的數據類型 : Redis支持最大多數開發人員已經知道如列表,集合,可排序集合,哈希等數據類型。這使得在應用中很容易解決的各種問題,因為我們知道哪些問題處理使用哪種數據類型更好解決。
  • ?操作都是原子的 : 所有 Redis 的操作都是原子,從而確保當兩個客戶同時訪問 Redis 服務器得到的是更新后的值(最新值)。
  • ?MultiUtility工具:Redis是一個多功能實用工具,可以在很多如:緩存,消息傳遞隊列中使用(Redis原生支持發布/訂閱),在應用程序中,如:Web應用程序會話,網站頁面點擊數等任何短暫的數據;

Redis環境

要在 Ubuntu 上安裝 Redis,打開終端,然后輸入以下命令:

$sudo apt-get update$sudo apt-get install redis-server

這將在您的計算機上安裝Redis

啟動 Redis

$redis-server

查看 redis 是否還在運行

$redis-cli

這將打開一個 Redis 提示符,如下圖所示:

redis 127.0.0.1:6379>

在上面的提示信息中:127.0.0.1 是本機的IP地址,6379是 Redis 服務器運行的端口?,F在輸入 PING 命令,如下圖所示:

redis 127.0.0.1:6379> pingPONG

這說明現在你已經成功地在計算機上安裝了 Redis。

在Ubuntu上安裝Redis桌面管理器

要在Ubuntu 上安裝 Redis桌面管理,可以從 http://redisdesktop.com/download 下載包并安裝它。

Redis 桌面管理器會給你用戶界面來管理 Redis 鍵和數據。

Redis數據類型

Redis 支持5種數據類型,說明如下:

字符串

Redis 字符串是一個字節序列。在 Redis 中字符串是二進制安全的,這意味著它們沒有任何特殊終端字符來確定長度,所以可以存儲任何長度為 512 兆的字符串。

示例

redis 127.0.0.1:6379> SET name "yiibai"OKredis 127.0.0.1:6379> GET name"yiibai"

在上面的例子中,SET 和 GET 是 Redis 命令,name 和 "yiibai" 是存儲在 Redis 的鍵和字符串值。

哈希

Redis哈希是鍵值對的集合。 Redis哈希是字符串字段和字符串值之間的映射,所以它們用來表示對象。

示例

redis 127.0.0.1:6379> HMSET user:1 username yiibai password yiibai points 200OKredis 127.0.0.1:6379> HGETALL user:11) "username"2) "yiibai"3) "password"4) "yiibai"5) "points"6) "200"

在上面的例子中,哈希數據類型用于存儲包含用戶基本信息的用戶對象。這里 HSET,HEXTALL 是 Redis 命令同時 user:1 也是一個鍵。

列表

Redis 列表是簡單的字符串列表,通過插入順序排序??梢蕴砑右粋€元素到 Redis 列表的頭部或尾部。

示例

redis 127.0.0.1:6379> lpush tutoriallist redis(integer) 1redis 127.0.0.1:6379> lpush tutoriallist mongodb(integer) 2redis 127.0.0.1:6379> lpush tutoriallist rabitmq(integer) 3redis 127.0.0.1:6379> lrange tutoriallist 0 101) "rabitmq"2) "mongodb"3) "redis"

列表的最大長度為  232 - 1 個元素(4294967295,每個列表的元素超過四十億)。

集合

Redis 集合是字符串的無序集合。在 Redis 可以添加,刪除和測試成員存在的時間復雜度為 O(1)。

示例

redis 127.0.0.1:6379> sadd tutoriallist redis(integer) 1redis 127.0.0.1:6379> sadd tutoriallist mongodb(integer) 1redis 127.0.0.1:6379> sadd tutoriallist rabitmq(integer) 1redis 127.0.0.1:6379> sadd tutoriallist rabitmq(integer) 0redis 127.0.0.1:6379> smembers tutoriallist1) "rabitmq"2) "mongodb"3) "redis"

注:在上面的例子中 rabitmq 被添加兩次,但由于它是只集合具有唯一特性。集合中的成員最大數量為 232 - 1(4294967295,每個集合有超過四十億條記錄)。

集合排序

不同的是,一個有序集合的每個成員都可以排序,就是為了按有序集合排序獲取它們,按權重分值從最小到最大排序。雖然成員都是獨一無二的,按權重分數值可能會重復。

示例

redis 127.0.0.1:6379> zadd tutoriallist 0 redis(integer) 1redis 127.0.0.1:6379> zadd tutoriallist 0 mongodb(integer) 1redis 127.0.0.1:6379> zadd tutoriallist 0 rabitmq(integer) 1redis 127.0.0.1:6379> zadd tutoriallist 0 rabitmq(integer) 0redis 127.0.0.1:6379> ZRANGEBYSCORE tutoriallist 0 10001) "redis"2) "mongodb"3) "rabitmq"

Redis鍵

Redis 中的 keys 命令用于管理 redis 中的鍵。Redis keys命令使用的語法如下所示:

語法

redis 127.0.0.1:6379> COMMAND KEY_NAME

示例

redis 127.0.0.1:6379> SET yiibai redisOKredis 127.0.0.1:6379> DEL yiibai(integer) 1

在上面的例子中 DEL 是一個命令,而 yiibai 是一個鍵。如果鍵被成功刪除,則該命令的輸出將是(整數)1,否則這將是(整數)0;

Redis字符串

Redis 的字符串命令用于管理 redis 的字符串值。Redis 的字符串命令語法的使用如下所示:

語法

redis 127.0.0.1:6379> COMMAND KEY_NAME

示例

redis 127.0.0.1:6379> SET yiibai redisOKredis 127.0.0.1:6379> GET yiibai"redis"

在上面示例中 SET 和 GET 是 Redis 的命令,這里 yiibai 就是一個鍵(key);

Redis哈希

Redis哈希是字符串字段和字符串值之間的映射,所以它是用來表示對象的一個完美的數據類型,Redis 的哈希值最多可存儲超過4十億字段-值對。

示例

redis 127.0.0.1:6379> HMSET yiibai name "redis tutorial" description "redis basic commands for caching" likes 20 visitors 23000OKredis 127.0.0.1:6379> HGETALL yiibai1) "name"2) "redis tutorial"3) "description"4) "redis basic commands for caching"5) "likes"6) "20"7) "visitors"8) "23000"

在上面的例子,我們在設置一個名為 yiibai Redis的哈希的教程詳細信息(name, description, likes, visitors)。

Redis列表

Redis列表是簡單的字符串列表,通過插入順序排序。您可以在Redis 列表的頭或列表尾添加元素。列表的最大長度為  232 - 1 個元素(4294967295,每個列表可有超過四十億個元素)。

示例

redis 127.0.0.1:6379> LPUSH tutorials redis(integer) 1redis 127.0.0.1:6379> LPUSH tutorials mongodb(integer) 2redis 127.0.0.1:6379> LPUSH tutorials mysql(integer) 3redis 127.0.0.1:6379> LRANGE tutorials 0 101) "mysql"2) "mongodb"3) "redis"

在上面的例子中的三個值由命令LPUSH 插入到 redis 名稱為 tutorials 的列表。

Redis集合

Redis集合是唯一字符串的無序集合。唯一集合是不允許數據有重復的鍵的。在 Redis 集合中添加,刪除和測試成會是否存的時間復雜度為O(1)(恒定的時間,無論集合內包含元素的數量)。集合的最大長度為   232 - 1 個元素(4294967295,每個集合中超過四十億個元素)。

示例

redis 127.0.0.1:6379> SADD yiibai redis(integer) 1redis 127.0.0.1:6379> SADD yiibai mongodb(integer) 1redis 127.0.0.1:6379> SADD yiibai mysql(integer) 1redis 127.0.0.1:6379> SADD yiibai mysql(integer) 0redis 127.0.0.1:6379> SMEMBERS yiibai1) "mysql"2) "mongodb"3) "redis"

在上面的例子中的三個值被 Redis 的命令SADD插入到一個名為 yiibai 集合。

Redis有序集合

Redis的有序集合類似于 Redis 的集合,但是存儲的值在集合中具有唯一性。另外有序集合的每個成員都使用分值(score)的東西,這個分值就是用于將有序集合排序,從分值最小到最大來排序。

在 Redis 有序集合添加,刪除和測試成員的存在的時間復雜度為 O(1)(恒定時間,無論集合內包含元素的數量)。列表的最大長度為 232 - 1 個元素(4294967295,每個集合的元素超過四十億)。 

示例

redis 127.0.0.1:6379> ZADD yiibai 1 redis(integer) 1redis 127.0.0.1:6379> ZADD yiibai 2 mongodb(integer) 1redis 127.0.0.1:6379> ZADD yiibai 3 mysql(integer) 1redis 127.0.0.1:6379> ZADD yiibai 3 mysql(integer) 0redis 127.0.0.1:6379> ZADD yiibai 4 mysql(integer) 0redis 127.0.0.1:6379> ZRANGE yiibai 0 10 WITHSCORES1) "redis"2) "1"3) "mongodb"4) "2"5) "mysql"6) "4"

在上面的例子中的三個值及其分值被 ZADD 命令插入一個名稱為 yiibai 的 redis 有序集合中

Redis HyperLogLog

Redis HyperLogLog 是用來做基數統計的算法,HyperLogLog 的優點是,在輸入元素的數量或者體積非常非常大時,計算基數所需的空間總是固定 的、并且是很小的。

在 Redis 里面,每個 HyperLogLog 鍵只需要花費 12 KB 內存,就可以計算接近 2^64 個不同元素的基 數。這和計算基數時,元素越多耗費內存就越多的集合形成鮮明對比。但是,因為 HyperLogLog 只會根據輸入元素來計算基數,而不會儲存輸入元素本身,所以 HyperLogLog 不能像集合那樣,返回輸入的各個元素。

示例

下面的例子說明了 HyperLogLog Redis 的工作原理:

redis 127.0.0.1:6379> PFADD tutorials "redis"1) (integer) 1redis 127.0.0.1:6379> PFADD tutorials "mongodb"1) (integer) 1redis 127.0.0.1:6379> PFADD tutorials "mysql"1) (integer) 1redis 127.0.0.1:6379> PFCOUNT tutorials(integer) 3

Redis發布訂閱

Redis訂閱和發布實現了通訊系統,發件人(在 Redis 中的術語稱為發布者)發送郵件,而接收器(訂戶)接收它們。信息傳輸的鏈路稱為通道。Redis 一個客戶端可以訂閱任意數量的通道。

示例

以下舉例說明發布訂閱用戶如何工作。在下面的例子給出一個客戶端訂閱的通道命名 redisChat 。

redis 127.0.0.1:6379> SUBSCRIBE redisChatReading messages... (press Ctrl-C to quit)1) "subscribe"2) "redisChat"3) (integer) 1

現在,兩個客戶端都在同一個通道名:redisChat 上發布消息,上述訂閱客戶端接收消息。

redis 127.0.0.1:6379> PUBLISH redisChat "Redis is a great caching technique"(integer) 1redis 127.0.0.1:6379> PUBLISH redisChat "Learn redis by tutorials point"(integer) 11) "message"2) "redisChat"3) "Redis is a great caching technique"1) "message"2) "redisChat"3) "Learn redis by tutorials point"

Redis事務

Redis事務允許一組命令在單一步驟中執行。事務有兩個屬性,說明如下:

  • 在一個事務中的所有命令作為單個獨立的操作順序執行。在Redis事務中的執行過程中而另一客戶機發出的請求,這是不可以的;
  • Redis事務是原子的。原子意味著要么所有的命令都執行,要么都不執行;

示例

Redis 事務由指令 MULTI 發起的,之后傳遞需要在事務中和整個事務中,最后由 EXEC 命令執行所有命令的列表。

redis 127.0.0.1:6379> MULTIOKList of commands hereredis 127.0.0.1:6379> EXEC

示例

下面的例子說明了 Redis 的事務是如何開始和執行。

redis 127.0.0.1:6379> MULTIOKredis 127.0.0.1:6379> SET tutorial redisQUEUEDredis 127.0.0.1:6379> GET tutorialQUEUEDredis 127.0.0.1:6379> INCR visitorsQUEUEDredis 127.0.0.1:6379> EXEC1) OK2) "redis"3) (integer) 1

Redis腳本

Redis 腳本是使用Lua解釋腳本用來評估(計算)。從 Redis 2.6.0 版本開始內置這個解釋器。命令 EVAL 用于執行 腳本命令。

語法

EVAL命令的基本語法如下:

redis 127.0.0.1:6379> EVAL script numkeys key [key ...] arg [arg ...]

示例

下面的例子說明了 Redis 腳本是如何工作的:

redis 127.0.0.1:6379> EVAL "return {KEYS[1],KEYS[2],ARGV[1],ARGV[2]}" 2 key1 key2 first second1) "key1"2) "key2"3) "first"4) "second"

Redis連接

Redis 的連接命令基本上都用于管理 Redis服務器與客戶端連接。

示例

下面的例子說明了一個客戶端在Redis服務器上,如何檢查服務器是否正在運行并驗證自己。

redis 127.0.0.1:6379> AUTH "password"OKredis 127.0.0.1:6379> PINGPONG

Redis備份

Redis的SAVE命令用于創建當前 Redis 數據庫的備份。

語法

Redis 的 SAVE 命令的基本語法如下所示:

127.0.0.1:6379> SAVE

示例

以下示例顯示了如何在Redis的當前數據庫中創建備份。

127.0.0.1:6379> SAVEOK

在執行此命令之后,將在 redis 目錄中創建一個 dump.rdb 文件。

恢復 Redis 數據

要恢復 redis 數據只需要要將 Redis 的備份文件(dump.rdb)放到 Redis 的目錄中,并啟動服務器。要了解知道 Redis 目錄在什么位置,可使用 CONFIG 命令,如下所示:

127.0.0.1:6379> CONFIG get dir1) "dir"2) "/user/yiibai/redis-2.8.13/src"

在上面的命令命令輸出為 /user/yiibai/redis-2.8.13/src 就是使用的 Redis 目錄,也就是 Redis 的服務器安裝的目錄。

Bgsave

創建 Redis 的備份也可以使用備用命令 BGSAVE 。此命令將啟動備份過程,并在后臺運行此。

示例

127.0.0.1:6379> BGSAVEBackground saving started

Redis安全

Redis 數據庫可以配置安全保護的,所以任何客戶端在連接執行命令時需要進行身份驗證。為了確保 Redis 的安全,需要在配置文件設置密碼。

示例

下面給出的例子顯示的步驟是用來確保 Redis 實例的安全。

127.0.0.1:6379> CONFIG get requirepass1) "requirepass"2) ""

默認情況下此屬性是空的,這意味著此實例沒有設置密碼??梢酝ㄟ^執行以下命令來修改設置此屬性

127.0.0.1:6379> CONFIG set requirepass "yiibaipass"OK127.0.0.1:6379> CONFIG get requirepass1) "requirepass"2) "yiibaipass"

如果客戶端運行命令無需驗證設置密碼,那么(錯誤)NOAUTH 需要驗證。錯誤將返回。因此,客戶端需要使用 AUTH 命令來驗證自己的身份信息。

語法

AUTH命令的基本語法如下所示:

127.0.0.1:6379> AUTH password

Redis性能測試

Redis的基準性能測試是通過同時運行 N 個命令以檢查 Redis 性能的工具。

語法

Redis的基準測試的基本語法如下所示:

redis-benchmark [option] [option value]

示例

下面給出的示例是通過調用 100000 個(次)命令來檢查 Redis。

redis-benchmark -n 100000PING_INLINE: 141043.72 requests per secondPING_BULK: 142857.14 requests per secondSET: 141442.72 requests per secondGET: 145348.83 requests per secondINCR: 137362.64 requests per secondLPUSH: 145348.83 requests per secondLPOP: 146198.83 requests per secondSADD: 146198.83 requests per secondSPOP: 149253.73 requests per secondLPUSH (needed to benchmark LRANGE): 148588.42 requests per secondLRANGE_100 (first 100 elements): 58411.21 requests per secondLRANGE_300 (first 300 elements): 21195.42 requests per secondLRANGE_500 (first 450 elements): 14539.11 requests per secondLRANGE_600 (first 600 elements): 10504.20 requests per secondMSET (10 keys): 93283.58 requests per second

Redis客戶端連接

如果啟用了Redis 的接受配置監聽,客戶端可在TCP端口上與Unix套接字連接。以下操作執行后新的客戶端連接被服務器接受:

  • 客戶端套接字在非阻塞狀態,因為 Redis 使用復用和非阻塞I/O;
  • TCP_NODELAY選項設定以確保不會在連接時延遲;
  • 創建一個可讀的文件事件,以便 Redis 能夠盡快收集客戶端查詢作為新的數據可被套接字讀??;

客戶端最大連接數量

在Redis的配置文件(redis.conf)有一個屬性 maxclients ,它描述了可以連接到 Redis 的客戶的最大數量。命令的基本語法是:

config get maxclients1) "maxclients"2) "10000"

默認情況下此屬性設置為 10000(取決于OS的文件標識符限制最大數量),但可以修改這個屬性。

示例

在下面給出的例子我們已經設置客戶端最大連接數量為 100000,在之后啟動服務器:

redis-server --maxclients 100000

Redis管道

Redis是一個TCP服務器,支持請求/響應協議。在 redis 中一個請求完成以下步驟:

  • 客戶端發送一個查詢給服務器,并從套接字中讀取,通常服務器的響應是在一個封閉的方式;
  • 服務器處理命令并將響應返回給客戶端;

管道的含義

管道的基本含義是:客戶端可以發送多個請求給服務器,而不等待全部響應,最后在單個步驟中讀取所有響應。

示例

要檢查 Redis 管道只需要啟動 Redis 實例,并在終端輸入以下命令。

$(echo -en "PING/r/n SET tutorial redis/r/nGET tutorial/r/nINCR visitor/r/nINCR visitor/r/nINCR visitor/r/n"; sleep 10) | nc localhost 6379+PONG+OKredis:1:2:3

在上面的例子所示,了解使用 PING 命令連接 Redis,之后我們在 Redis 設定一個名為 tutorial 字符串值,之后拿到這個鍵對應的值并增加訪問人數的三倍。在結果中,我們可以看到所有的命令都提交給 Redis 一次,Redis是給單步輸出所有命令。

通道的好處

這種技術的好處是顯著提高協議的性能。管道localhost 獲得至少達到百倍的網絡連接速度。

Redis分區

分區是將數據分割成多個 Redis 實例,使每個實例將只包含鍵子集的過程。

分區的好處

  • 它允許更大的數據庫,使用多臺計算機的內存總和。如果不分區,只是一臺計算機有限的內存可以支持的數據存儲;
  • 它允許按比例在多內核和多個計算機計算,以及網絡帶寬向多臺計算機和網絡適配器;

分區的劣勢

  • 涉及多個鍵的操作通常不支持。例如,如果它們被存儲在被映射到不同的 Redis 實例鍵,則不能在兩個集合之間執行交集;
  • 涉及多個鍵時,Redis事務無法使用;
  • 分區粒度是一個鍵,所以它不可能使用一個鍵和一個非常大的有序集合分享一個數據集;
  • 當使用分區,數據處理比較復雜,比如要處理多個RDB/AOF文件,使數據備份需要從多個實例和主機聚集持久性文件;
  • 添加和刪除的容量可能會很復雜。例如:Redis的Cluster支持數據在運行時添加和刪除節點是透明平衡的,但其他系統,如客戶端的分區和代理服務器不支持此功能

分區類型

Redis 提供有兩種類型的分區。假設我們有四個 redis 實例:R0,R1,R2,R3,分別表示用戶用戶如:user:1, user:2, ...等等

范圍分區

范圍分區被映射對象指定 Redis 實例在一個范圍內完成。

在我們的例子中,用戶從ID為 0 至 ID10000 將進入實例 R0,而用戶 ID 10001到ID 20000 將進入實例 R1 等等。

散列分區

在這種類型的分區是一個散列函數(例如,模數函數)用于將鍵轉換為數字數據,然后存儲在不同的 redis 實例


注:相關教程知識閱讀請移步到Redis頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲三级 欧美三级| 日韩精品视频在线| 精品久久久久久中文字幕一区奶水| 大胆人体色综合| 精品少妇v888av| 国产精品高潮呻吟久久av无限| 国产精品91在线观看| 久久精品成人一区二区三区| 色综合影院在线| 国模极品一区二区三区| 热久久免费国产视频| 91久久久久久久| 中文欧美日本在线资源| 1769国产精品| 国产精品一二三在线| 91精品国产高清久久久久久久久| 久久精品国产成人| 成人做爰www免费看视频网站| 91国内在线视频| 一本一道久久a久久精品逆3p| 成人性生交大片免费看视频直播| 清纯唯美日韩制服另类| 欧美有码在线观看| 色综合久久88色综合天天看泰| 2019最新中文字幕| 日韩欧美国产黄色| 欧美性色视频在线| wwwwwwww亚洲| 亚洲无亚洲人成网站77777| 日韩一区二区av| 欧美在线精品免播放器视频| 欧美激情精品久久久| 亚洲精品欧美一区二区三区| 国产精品国产自产拍高清av水多| 国产精品视频色| 国产精品久久久久久婷婷天堂| 亚洲欧美日韩精品| 欧美激情一区二区三区在线视频观看| 色狠狠久久aa北条麻妃| 91黑丝高跟在线| 久久久噜噜噜久噜久久| 国产91色在线免费| 日韩久久免费电影| 中文字幕日韩欧美| 欧美裸体xxxxx| 91中文字幕在线观看| 日韩hd视频在线观看| 91久久国产精品91久久性色| 超碰97人人做人人爱少妇| 亚洲女人天堂成人av在线| 国产欧美日韩91| 国产精品免费久久久久久| 国产成人高清激情视频在线观看| 亚洲人成电影网站色| 日韩av网址在线观看| 26uuu日韩精品一区二区| 91精品国产乱码久久久久久久久| 国产欧亚日韩视频| 中文字幕在线成人| 亚洲欧美一区二区三区情侣bbw| 亚洲美腿欧美激情另类| 91久久在线观看| 久久九九国产精品怡红院| 国产精品成人免费视频| 久久久久99精品久久久久| 国产精品免费久久久| 欧美专区第一页| 大胆人体色综合| 亚洲一区二区自拍| 国产suv精品一区二区三区88区| 亚洲欧美另类中文字幕| 中文字幕无线精品亚洲乱码一区| 日韩电影在线观看永久视频免费网站| 久久久91精品国产| 国模精品视频一区二区| 国产精品扒开腿做爽爽爽男男| 欧美一级视频一区二区| 国产精品白嫩美女在线观看| 国产在线拍揄自揄视频不卡99| 超薄丝袜一区二区| 全亚洲最色的网站在线观看| 成人在线小视频| 亚洲国产一区二区三区在线观看| 国产精品观看在线亚洲人成网| 日韩成人在线视频观看| 欧美大片va欧美在线播放| 国产视频亚洲精品| 国产精品狼人色视频一区| 国产精品色午夜在线观看| 正在播放欧美一区| www.亚洲天堂| 久久五月天色综合| 亚洲精品国产精品自产a区红杏吧| 黄色成人av网| 久久精品99国产精品酒店日本| 奇门遁甲1982国语版免费观看高清| 欧美性猛交xxxx乱大交极品| 日韩www在线| 亚洲电影天堂av| 国产在线98福利播放视频| 欧美亚洲成人网| 久久精品视频导航| 最近2019年中文视频免费在线观看| 日韩av在线直播| 精品国产91乱高清在线观看| 亚洲精品视频免费在线观看| 欧美激情网友自拍| 精品久久国产精品| 亚洲日韩中文字幕| 青青久久av北条麻妃黑人| 日韩小视频在线观看| 精品久久久久久久久久国产| 亚洲自拍偷拍视频| 免费不卡欧美自拍视频| 91麻豆桃色免费看| 97人人爽人人喊人人模波多| 国产在线视频91| 欧美孕妇毛茸茸xxxx| 国产欧美精品一区二区三区介绍| 日韩最新中文字幕电影免费看| 一区二区福利视频| 亚洲少妇中文在线| 亚洲白虎美女被爆操| 日韩欧美在线一区| 久热精品在线视频| 欧美午夜精品久久久久久浪潮| www.国产精品一二区| 欧美国产日韩在线| 国产精品福利在线| 久久成人综合视频| 久久精品国产亚洲精品2020| 精品综合久久久久久97| 久久久久久国产精品| 国产精品精品视频一区二区三区| 久久久久久久久电影| 97欧美精品一区二区三区| 久久99青青精品免费观看| 国内精品免费午夜毛片| 午夜剧场成人观在线视频免费观看| 亚洲精品美女在线观看播放| 久久久久久久999| 久久久久中文字幕| 夜夜嗨av一区二区三区免费区| 中文字幕免费精品一区| 欧美老女人在线视频| 欧美又大粗又爽又黄大片视频| 国产精品久久久91| 亚洲片在线观看| 亚洲a一级视频| 亚洲精品v欧美精品v日韩精品| 亚洲欧美日韩在线高清直播| 日本免费一区二区三区视频观看| 日韩成人av网| 久久久精品视频在线观看| 午夜剧场成人观在线视频免费观看| 欧美性生交xxxxx久久久| 欧美激情视频在线免费观看 欧美视频免费一| 国产日韩欧美91| 日韩精品在线观看一区二区| 精品国产欧美成人夜夜嗨| 日韩成人在线电影网| 久久91精品国产| 国产在线观看91精品一区| 亚洲人成在线播放|