中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

寧夏網(wǎng)站建設優(yōu)化蘭州網(wǎng)絡推廣優(yōu)化服務

寧夏網(wǎng)站建設優(yōu)化,蘭州網(wǎng)絡推廣優(yōu)化服務,web前端期末大作業(yè),婚慶網(wǎng)站建設策劃案費用預算文章目錄 一、redis字符串(String)set key value同時獲取或設置多個鍵值獲取指定區(qū)間范圍內(nèi)的值數(shù)字增減獲取字符串長度和內(nèi)容追加分布式鎖getset(先get再set) 二、redis列表(List)通過索引獲取列表中的元素…

文章目錄

  • 一、redis字符串(String)
      • set key value
      • 同時獲取或設置多個鍵值
      • 獲取指定區(qū)間范圍內(nèi)的值
      • 數(shù)字增減
      • 獲取字符串長度和內(nèi)容追加
      • 分布式鎖
      • getset(先get再set)
  • 二、redis列表(List)
      • 通過索引獲取列表中的元素 lindex key index
      • lrem key 數(shù)字N 給定值v1 解釋(刪除n個值等于v1的元素)
      • ltrim key 開始index 結(jié)束index,截取指定范圍的值后再賦值給key
      • rpoplpush 源列表 目的列表
      • lset key index value
      • linsert key before/after 已有值 插入的新值
  • 三、redis哈希表(Hash)
  • 四、redis集合(Set)
      • SRANDMEMBER key [數(shù)字]
      • SPOP key [數(shù)字]
      • smove key1 key2 在key1里已存在的某個值
      • 集合運算
  • 五、redis有序集合(Zset)
      • 向有序集合中加入一個元素和該元素的分數(shù)
      • 按照元素分數(shù)從小到大的順序,返回索引從start到stop中的所有元素
      • zrevrange
    • 獲取指定分數(shù)范圍的元素
      • 獲取元素分數(shù)
      • key 某score下對應的value值,作用是刪除元素
      • 增加某個元素的分數(shù)
      • 獲取指定分數(shù)范圍內(nèi)的元素個數(shù)
      • 從鍵名列表中的第一個非空排序集中彈出一個或多個元素,它們是成員分數(shù)對
      • 場景應用
  • 六、redis地理空間(GEO)
      • GEOADD
      • GEOPOS
      • GEODIST
      • GEORADIUS
      • GEOHASH
  • 七、redis基數(shù)統(tǒng)計(HyperLogLog)
      • 基本命令
  • 八、redis位圖(bitmap)
      • setbit
      • getbit
      • strlen
      • bitcount
      • bitop
      • 應用場景
  • 九、redis位域(bitfield)
          • 指令
          • BITFLELD key [GET type offset]
          • BITFLELD key [SET type offset value]
          • BITFLELD key [INCRBY type offset increment]
          • 溢出控制OVERFLOW[WRAP|SAT|FAIL]
  • 十、redis流(Stream)
      • 底層結(jié)構(gòu)和原理說明
      • 指令
        • 隊列相關指令
          • XADD
          • XRANGE
          • XREVRANGE
          • XREVRANGE
          • XDEL
          • XLEN
          • Xtrim
          • XREAD
        • 消費組相關指令
          • XGROUP CREATE
          • XREADGROUP GROUP
          • XPENDING
          • XACK向消息隊列確認消息處理已完成
          • XINFO用于打印Stream、Consumer、Group的詳細信息
        • 四個特殊符號


常用命令:

在這里插入圖片描述

key * #查看當前庫所有的key
exists key #判斷某個key是否存在
type key #查看key是什么類型
del key #刪除key
unlink key # 非阻塞刪除,僅僅將keys從keyspace元數(shù)據(jù)中刪除,真正的刪除會在后續(xù)異步中操作。
ttl key # 查看還有多少秒過期,-1表示永不過期,-2表示已過期
expire key # 為給定的key設置過期時間,單位秒
move key dbindex # 將當前數(shù)據(jù)庫的 key移動到給定的數(shù)據(jù)庫 db 當中
select dbindex # 切換數(shù)據(jù)庫【0-15】,默認為0
dbsize # 查看當前數(shù)據(jù)庫key的數(shù)量
flushdb # 清空當前庫
flushall # 通殺全部庫

一、redis字符串(String)

  • String(字符串)
  • String是redis最基本的類型,一個key對應一個value
  • string類型是二進制安全的,意思是redis的string可以包含任何數(shù)據(jù),比如jpg圖片或者序列化的對象
  • string類型是redis最基本的數(shù)據(jù)類型,一個redis中字符串value最多可以是512M

set key value

set key value [NX|XX] [GET] [EX seconds|PX milliseconds|EXAT unix-time-seconds|PXAT unix-time-milliseconds|KEEPTTL]

在這里插入圖片描述

同時獲取或設置多個鍵值

MSET key value [key value ....]MGET key [key ....]
mset/mget/msetnx

mset:同時設置一個或多個 key-value 對。
在這里插入圖片描述mget:獲取所有(一個或多個)給定 key 的值。
在這里插入圖片描述
msetnx:同時設置一個或多個 key-value 對,當且僅當所有給定 key 都不存在。

在這里插入圖片描述

獲取指定區(qū)間范圍內(nèi)的值

getrange/setrange

getrange:獲取指定區(qū)間范圍內(nèi)的值,類似between…and的關系
從零到負一表示全部

在這里插入圖片描述
setrange設置指定區(qū)間范圍內(nèi)的值,格式是setrange key值 具體值
在這里插入圖片描述

數(shù)字增減

一定是要數(shù)據(jù)才能進行增加減少
遞增數(shù)字INCR key
增加指定的整數(shù),指定增加的步長INCRBY key increment
遞減數(shù)值decr key
減少指定的整數(shù)DECRBY key decrement

獲取字符串長度和內(nèi)容追加

STRLEN key
APPEND key value

分布式鎖

在這里插入圖片描述

getset(先get再set)

getset:將給定 key 的值設為 value ,并返回 key 的舊值(old value)。
簡單一句話,先get然后立即set

在這里插入圖片描述

二、redis列表(List)

  • List(列表)

  • Redis列表是簡單的字符串列表,按照插入順序排序。你可以添加一個元素到列表的頭部(左邊)或者尾部(右邊)

  • 它的底層實際是個雙端鏈表,最多可以包含 2^32 - 1 個元素 (4294967295, 每個列表超過40億個元素)

常用命令
在這里插入圖片描述

一個雙端鏈表的結(jié)構(gòu),容量是2的32次方減1個元素,大概40多億,主要功能有push/pop等,一般用在棧、隊列、消息隊列等場景。
left、right都可以插入添加;
如果鍵不存在,創(chuàng)建新的鏈表;
如果鍵已存在,新增內(nèi)容;
如果值全移除,對應的鍵也就消失了。
它的底層實際是個雙向鏈表,對兩端的操作性能很高,通過索引下標的操作中間的節(jié)點性能會較差。

在這里插入圖片描述

127.0.0.1:6379> LPUSH list1 1 2 3 4 5
(integer) 5
127.0.0.1:6379> LRANGE list1
(error) ERR wrong number of arguments for 'lrange' command
127.0.0.1:6379> LRANGE list1 0 -1
1) "5"
2) "4"
3) "3"
4) "2"
5) "1"
127.0.0.1:6379> RPUSH list1 0
(integer) 6
127.0.0.1:6379> LRANGE list1 0 -1
1) "5"
2) "4"
3) "3"
4) "2"
5) "1"
6) "0"
127.0.0.1:6379> LPOP list1 1
1) "5"
127.0.0.1:6379> LRANGE list1 0 -1
1) "4"
2) "3"
3) "2"
4) "1"
5) "0"
127.0.0.1:6379> 

通過索引獲取列表中的元素 lindex key index

在這里插入圖片描述

lrem key 數(shù)字N 給定值v1 解釋(刪除n個值等于v1的元素)

  • 從left往right刪除2個值等于v1的元素,返回的值為實際刪除的數(shù)量

  • LREM list3 0 值,表示刪除全部給定的值。零個就是全部值
    在這里插入圖片描述

ltrim key 開始index 結(jié)束index,截取指定范圍的值后再賦值給key

ltrim:截取指定索引區(qū)間的元素,格式是ltrim list的key 起始索引 結(jié)束索引.

在這里插入圖片描述

rpoplpush 源列表 目的列表

移除列表的最后一個元素,并將該元素添加到另一個列表并返回
在這里插入圖片描述

lset key index value

在這里插入圖片描述

linsert key before/after 已有值 插入的新值

在list某個已有值的前后再添加具體值
在這里插入圖片描述

三、redis哈希表(Hash)

  • Redis hash 是一個 string 類型的 field(字段) 和 value(值) 的映射表,hash 特別適合用于存儲對象。

  • Redis 中每個 hash 可以存儲 2^32 - 1 鍵值對(40多億)
    在這里插入圖片描述
    在這里插入圖片描述
    在這里插入圖片描述
    在這里插入圖片描述
    在這里插入圖片描述
    在這里插入圖片描述

四、redis集合(Set)

  • Redis 的 Set 是 String 類型的無序集合。集合成員是唯一的,這就意味著集合中不能出現(xiàn)重復的數(shù)據(jù),集合對象的編碼可以是 intset 或者 hashtable。

  • Redis 中Set集合是通過哈希表實現(xiàn)的,所以添加,刪除,查找的復雜度都是 O(1)。

  • 集合中最大的成員數(shù)為 2^32 - 1 (4294967295, 每個集合可存儲40多億個成員)

在這里插入圖片描述

127.0.0.1:6379> SADD set1 1 1 1 2 2 2 3 4 5
(integer) 5
127.0.0.1:6379> SMEMBERS set1
1) "1"
2) "2"
3) "3"
4) "4"
5) "5"
127.0.0.1:6379> SISMEMBER st1 x
(integer) 0
127.0.0.1:6379> SISMEMBER st1 1
(integer) 0
127.0.0.1:6379> SISMEMBER set1 x
(integer) 0
127.0.0.1:6379> SISMEMBER set1 1
(integer) 1
127.0.0.1:6379> SREM set1 y
(integer) 0
127.0.0.1:6379> SREM set1 1
(integer) 1
127.0.0.1:6379> SMEMBERS set1
1) "2"
2) "3"
3) "4"
4) "5"
127.0.0.1:6379> SCARD set1
(integer) 4
127.0.0.1:6379> 

SRANDMEMBER key [數(shù)字]

從集合中隨機展現(xiàn)設置的數(shù)字個數(shù),元素不刪除

SPOP key [數(shù)字]

從集合中隨機彈出一個元素,出一個刪一個

smove key1 key2 在key1里已存在的某個值

在這里插入圖片描述
將key1里已存在的某個值賦給key2
在這里插入圖片描述

集合運算

在這里插入圖片描述
運用場景
微信抽獎小程序
在這里插入圖片描述
微信朋友圈點贊查看同贊朋友
在這里插入圖片描述

五、redis有序集合(Zset)

在這里插入圖片描述

  • zset(sorted set:有序集合)

  • Redis zset 和 set 一樣也是string類型元素的集合,且不允許重復的成員。

  • 不同的是每個元素都會關聯(lián)一個double類型的分數(shù),redis正是通過分數(shù)來為集合中的成員進行從小到大的排序。

  • zset的成員是唯一的,但分數(shù)(score)卻可以重復。

  • zset集合是通過哈希表實現(xiàn)的,所以添加,刪除,查找的復雜度都是 O(1)。 集合中最大的成員數(shù)為 2^32 - 1

向有序集合中加入一個元素和該元素的分數(shù)

在這里插入圖片描述

按照元素分數(shù)從小到大的順序,返回索引從start到stop中的所有元素

ZRANGE key start stop [WITHSCORES]

zrevrange

在這里插入圖片描述

獲取指定分數(shù)范圍的元素

ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
在這里插入圖片描述

獲取元素分數(shù)

  • zcard :獲取集合中元素個數(shù)
    在這里插入圖片描述

  • zcount :獲取分數(shù)區(qū)間內(nèi)元素個數(shù),zcount key 開始分數(shù)區(qū)間 結(jié)束分數(shù)區(qū)間
    在這里插入圖片描述

  • zrank: 獲取value在zset中的下標位置
    在這里插入圖片描述

  • zscore:按照值獲得對應的分數(shù)
    在這里插入圖片描述

key 某score下對應的value值,作用是刪除元素

刪除元素,格式是zrem zset的key 項的值,項的值可以是多個
zrem key score某個對應值,可以是多個值

在這里插入圖片描述

增加某個元素的分數(shù)

ZINCRBY key increment member

獲取指定分數(shù)范圍內(nèi)的元素個數(shù)

ZCOUNT key min max

從鍵名列表中的第一個非空排序集中彈出一個或多個元素,它們是成員分數(shù)對

ZMPOP?
在這里插入圖片描述

場景應用

在這里插入圖片描述

六、redis地理空間(GEO)

  • Redis GEO 主要用于存儲地理位置信息,并對存儲的信息進行操作,包括

  • 添加地理位置的坐標。

  • 獲取地理位置的坐標。

  • 計算兩個位置之間的距離。

  • 根據(jù)用戶給定的經(jīng)緯度坐標來獲取指定范圍內(nèi)的地理位置集合

GEOADD

在這里插入圖片描述
在這里插入圖片描述
如何處理中文亂碼
在這里插入圖片描述

GEOPOS

在這里插入圖片描述
在這里插入圖片描述

GEODIST

在這里插入圖片描述
在這里插入圖片描述

GEORADIUS

georadius 以給定的經(jīng)緯度為中心, 返回鍵包含的位置元素當中, 與中心的距離不超過給定最大距離的所有位置元素。

GEORADIUS city 116.418017 39.914402 10 km withdist withcoord count 10 withhash descGEORADIUS city 116.418017 39.914402 10 km withdist withcoord withhash count 10 desc
#WITHDIST: 在返回位置元素的同時, 將位置元素與中心之間的距離也一并返回。 距離的單位和用戶給定的范圍單位保持一致。
#WITHCOORD: 將位置元素的經(jīng)度和維度也一并返回。
#WITHHASH: 以 52 位有符號整數(shù)的形式, 返回位置元素經(jīng)過原始 geohash 編碼的有序集合分值。 這個選項主要用于底層應用或者調(diào)試, 實際中的作用并不大
#COUNT 限定返回的記錄數(shù)。

在這里插入圖片描述

GEOHASH

在這里插入圖片描述

在這里插入圖片描述

七、redis基數(shù)統(tǒng)計(HyperLogLog)

  • HyperLogLog 是用來做基數(shù)統(tǒng)計的算法,HyperLogLog 的優(yōu)點是,在輸入元素的數(shù)量或者體積非常非常大時,計算基數(shù)所需的空間總是固定且是很小的。

  • 在 Redis 里面,每個 HyperLogLog 鍵只需要花費 12 KB 內(nèi)存,就可以計算接近 2^64 個不同元素的基 數(shù)。這和計算基數(shù)時,元素越多耗費內(nèi)存就越多的集合形成鮮明對比。

  • 但是,因為 HyperLogLog 只會根據(jù)輸入元素來計算基數(shù),而不會儲存輸入元素本身,所以 HyperLogLog 不能像集合那樣,返回輸入的各個元素。

基本命令

在這里插入圖片描述

在這里插入圖片描述

八、redis位圖(bitmap)

graphic

由0和1狀態(tài)表現(xiàn)的二進制位的bit數(shù)組
在這里插入圖片描述

setbit

在這里插入圖片描述

getbit

getbit key offset(偏移量)

strlen

統(tǒng)計字節(jié)數(shù)占用多少

bitcount

全部鍵里面含有1的有多少個

bitop

連續(xù)2天都簽到的用戶
加入某個網(wǎng)站或者系統(tǒng),它的用戶有1000W,做個用戶id和位置的映射
比如0號位對應用戶id:uid-092iok-lkj
比如1號位對應用戶id:uid-7388c-xxx

。。。。。。
紅色代表第一天
藍色代表第二天
連續(xù)兩天的只有兩個人,用戶id分別為0和2

在這里插入圖片描述
這里統(tǒng)計簽到在202106這一月某人是否簽到了
藍色代表:查詢第三天這個帥哥有沒有簽到,返回1說明在3號這天簽到了
綠色代表:查詢第30天這個u1這個人有沒有簽到,返回0說明沒簽到
在這里插入圖片描述

應用場景

按年去存儲一個用戶的簽到情況,365 天只需要 365 / 8 ≈ 46 Byte,1000W 用戶量一年也只需要 44 MB 就足夠了。

假如是億級的系統(tǒng),

每天使用1個1億位的Bitmap約占12MB的內(nèi)存(10^8/8/1024/1024),10天的Bitmap的內(nèi)存開銷約為120MB,內(nèi)存壓力不算太高。

此外,在實際使用時,最好對Bitmap設置過期時間,讓Redis自動刪除不再需要的簽到記錄以節(jié)省內(nèi)存開銷。

九、redis位域(bitfield)

  • 通過bitfield命令可以一次性操作多個比特位域(指的是連續(xù)的多個比特位),它會執(zhí)行一系列操作并返回一個響應數(shù)組,這個數(shù)組中的元素對應參數(shù)列表中的相應操作的執(zhí)行結(jié)果。

  • 說白了就是通過bitfield命令我們可以一次性對多個比特位域進行操作。

指令

在這里插入圖片描述

BITFLELD key [GET type offset]

在這里插入圖片描述
在這里插入圖片描述

BITFLELD key [SET type offset value]

在這里插入圖片描述
在這里插入圖片描述

BITFLELD key [INCRBY type offset increment]

在這里插入圖片描述

溢出控制OVERFLOW[WRAP|SAT|FAIL]
  • WRAP: 使用回繞(wrap around)方法處理有符號整數(shù)和無符號整數(shù)的溢出情況

在這里插入圖片描述

  • SAT: 使用飽和計算(saturation arithmetic)方法處理溢出,下溢計算的結(jié)果為最小的整數(shù)值,而上溢計算的結(jié)果為最大的整數(shù)值
    在這里插入圖片描述

  • FAIL: 命令將拒絕執(zhí)行那些會導致上溢或者下溢情況出現(xiàn)的計算,并向用戶返回空值表示計算未被執(zhí)行
    在這里插入圖片描述

十、redis流(Stream)

  • Redis Stream 是 Redis 5.0 版本新增加的數(shù)據(jù)結(jié)構(gòu)。

  • Redis Stream 主要用于消息隊列(MQ,Message Queue),Redis 本身是有一個 Redis 發(fā)布訂閱 (pub/sub) 來實現(xiàn)消息隊列的功能,但它有個缺點就是消息無法持久化,如果出現(xiàn)網(wǎng)絡斷開、Redis 宕機等,消息就會被丟棄。

  • 簡單來說發(fā)布訂閱 (pub/sub) 可以分發(fā)消息,但無法記錄歷史消息。

  • 而 Redis Stream 提供了消息的持久化和主備復制功能,可以讓任何客戶端訪問任何時刻的數(shù)據(jù),并且能記住每一個客戶端的訪問位置,還能保證消息不丟失

底層結(jié)構(gòu)和原理說明

在這里插入圖片描述
一個消息鏈表,將所有加入的消息都串起來,每個消息都有一個唯一的 ID 和對應的內(nèi)容

名稱描述
Message Content消息內(nèi)容
Consumer group消費組,通過XGROUP CREATE 命令創(chuàng)建,同一個消費組可以有多個消費者
Last_delivered_id游標,每個消費組會有個游標 last_delivered_id,任意一個消費者讀取了消息都會使游標 last_delivered_id 往前移動。
Consumer消費者,消費組中的消費者
Pending_ids消費者會有一個狀態(tài)變量,用于記錄被當前消費已讀取但未ack的消息Id,如果客戶端沒有ack,這個變量里面的消息ID會越來越多,一旦某個消息被ack它就開始減少。這個pending_ids變量在Redis官方被稱之為 PEL(Pending Entries List),記錄了當前已經(jīng)被客戶端讀取的消息,但是還沒有 ack (Acknowledge character:確認字符),它用來確??蛻舳酥辽傧M了消息一次,而不會在網(wǎng)絡傳輸?shù)闹型緛G失了沒處理

指令

隊列相關指令

在這里插入圖片描述

XADD

添加消息到隊列末尾

XADD 用于向Stream 隊列中添加消息,如果指定的Stream 隊列不存在,則該命令執(zhí)行時會新建一個Stream 隊列

* 號表示服務器自動生成 MessageID(類似mysql里面主鍵auto_increment),后面順序跟著一堆 業(yè)務key/value
在這里插入圖片描述

  • 信息條目指的是序列號,在相同的毫秒下序列號從0開始遞增,序列號是64位長度,理論上在同一毫秒內(nèi)生成的數(shù)據(jù)量無法到達這個級別,因此不用擔心序列號會不夠用。millisecondsTime指的是Redis節(jié)點服務器的本地時間,如果存在當前的毫秒時間戳比以前已經(jīng)存在的數(shù)據(jù)的時間戳小的話(本地時間鐘后跳),那么系統(tǒng)將會采用以前相同的毫秒創(chuàng)建新的ID,也即redis 在增加信息條目時會檢查當前 id 與上一條目的 id, 自動糾正錯誤的情況,一定要保證后面的 id 比前面大,一個流中信息條目的ID必須是單調(diào)增的,這是流的基礎。
  • Redis對于ID有強制要求,格式必須是時間戳-自增Id這樣的方式,且后續(xù)ID不能小于前一個ID
  • Stream的消息內(nèi)容,也就是圖中的Message Content它的結(jié)構(gòu)類似Hash結(jié)構(gòu),以key-value的形式存在。
XRANGE

在這里插入圖片描述

XREVRANGE

在這里插入圖片描述

XREVRANGE

在這里插入圖片描述

XDEL

在這里插入圖片描述

XLEN

在這里插入圖片描述

Xtrim

在這里插入圖片描述

XREAD

用于獲取消息(阻塞/非阻塞),只會返回大于指定ID的消息
在這里插入圖片描述

非阻塞

  • $代表特殊ID,表示以當前Stream已經(jīng)存儲的最大的ID作為最后一個ID,當前Stream中不存在大于當前最大ID的消息,因此此時返回nil
  • 0-0代表從最小的ID開始獲取Stream中的消息,當不指定count,將會返回Stream中的所有消息,注意也可以使用0(00/000也都是可以的……)

在這里插入圖片描述
阻塞
redis-cli啟動第2個客戶端連接上來
在這里插入圖片描述

消費組相關指令

在這里插入圖片描述

XGROUP CREATE

用于創(chuàng)建消費組
在這里插入圖片描述$表示從Stream尾部開始消費

0表示從Stream頭部開始消費

創(chuàng)建消費者組的時候必須指定 ID, ID 為 0 表示從頭開始消費,為 $ 表示只消費新的消息,隊尾新來

XREADGROUP GROUP
  • “>”,表示從第一條尚未被消費的消息開始讀取

  • 消費組groupA內(nèi)的消費組consumer1從mystream消息隊列中讀取所有消息
    在這里插入圖片描述

  • 但是,不同消費組的消費者可以消費同一條消息,同組的不行
    在這里插入圖片描述

  • 實現(xiàn)負載均衡的讀取(通過count來進行控制)

  • 讓組內(nèi)的多個消費者共同分擔讀取消息,所以,我們通常會讓每個消費者讀取部分消息,從而實現(xiàn)消息讀取負載在多個消費者間是均衡分布的
    在這里插入圖片描述
    問題:基于stream實現(xiàn)的消息隊列,如何保證消費者在發(fā)生故障或者宕機再次重啟后,任然可以讀取未處理完的消息?

  • stream會自動使用內(nèi)部隊列(也稱為pending list)留存消費組里每個消費者讀取的消息保底措施,直到消費者,使用xack命令通知stream消息已經(jīng)處理完成

  • 消息確認增加了消息的可靠性,一般在業(yè)務處理完成之后,需要執(zhí)行xack命令確認消息已經(jīng)被消費完成
    在這里插入圖片描述

XPENDING

查詢每個消費組內(nèi)所有消費者【已讀取,但尚未確認】的消息
在這里插入圖片描述
查看某個消費者具體讀取了哪些數(shù)據(jù)
下面抓圖所示:consumer2已讀取的消息的 ID是1659430293537-0
一旦消息1659430293537-0被consumer2處理了consumer2就可以使用 XACK 命令通知 Streams,然后這條消息就會被刪除
在這里插入圖片描述

XACK向消息隊列確認消息處理已完成

在這里插入圖片描述
在這里插入圖片描述

XINFO用于打印Stream、Consumer、Group的詳細信息

在這里插入圖片描述

四個特殊符號

在這里插入圖片描述

http://www.risenshineclean.com/news/64534.html

相關文章:

  • 做賭博網(wǎng)站危險嗎怎么弄一個自己的鏈接
  • 先用ps后用dw做網(wǎng)站私域流量營銷
  • 答題做任務網(wǎng)站查網(wǎng)站流量查詢工具
  • 龍崗沙灣社區(qū)網(wǎng)站建設邵陽網(wǎng)站seo
  • 浦東企業(yè)網(wǎng)站建設網(wǎng)盟推廣是什么意思
  • 做網(wǎng)站基本教程關鍵詞推廣seo
  • 重慶做網(wǎng)站有哪些seo泛目錄培訓
  • 網(wǎng)站后臺管理頁面模板國際新聞網(wǎng)站
  • 1建設網(wǎng)站的重要性win7優(yōu)化工具
  • 怎樣做自己的小說網(wǎng)站外貿(mào)營銷型網(wǎng)站建設公司
  • 全面的網(wǎng)站建設免費sem工具
  • 慈善系統(tǒng)網(wǎng)站建設需求網(wǎng)站建設教程
  • 快速學制作網(wǎng)站百度小說排行榜第一名
  • wordpress 導航站模板營銷型網(wǎng)站建設論文
  • 布偶貓網(wǎng)頁設計教程百度seo入駐
  • 注冊網(wǎng)站頁面跳轉(zhuǎn)錯誤惠州seo排名優(yōu)化
  • 手機網(wǎng)站Com全國十大婚戀網(wǎng)站排名
  • 怎樣建立手機網(wǎng)站廣告營銷策略有哪些
  • 有自己域名如何做網(wǎng)站色盲測試圖第六版及答案大全
  • 微信上瀏覽自己做的網(wǎng)站免費下載app并安裝
  • 做阿里還是網(wǎng)站濰坊百度關鍵詞優(yōu)化
  • 微商網(wǎng)站制作武漢關鍵詞排名推廣
  • 哪些網(wǎng)站可以找到做海報的素材鄭州seo網(wǎng)站排名
  • xxx網(wǎng)站策劃書西安網(wǎng)頁設計
  • 莫名接到網(wǎng)站建設電話推廣引流工具
  • 溫嶺做網(wǎng)站新冠疫情最新消息今天
  • 營銷型網(wǎng)站建設實戰(zhàn)》杭州優(yōu)化公司哪家好
  • 中國建設銀行的業(yè)務范圍深圳百度網(wǎng)站排名優(yōu)化
  • 日照疫情最新消息今天封城了廣州網(wǎng)絡seo公司
  • 個人網(wǎng)站備案 淘寶客天氣預報最新天氣預報