Redis数据类型
通用操作
## 判断key是否存在
127.0.0.1:6379> EXISTS name
(integer) 1
127.0.0.1:6379> EXISTS name1
(integer) 0
## 修改key名字
127.0.0.1:6379> RENAME name name1
OK
## 查看指定key的数据类型
127.0.0.1:6379> TYPE name1
string
## 删除key
127.0.0.1:6379> del name1
(integer) 1
## 查看一个key的生存时间
127.0.0.1:6379[15]> ttl age
(integer) -1
## 以秒为单位设置生存时间
127.0.0.1:6379[15]> ttl age
(integer) 95
## 以毫秒为单位设置生存时间
127.0.0.1:6379[15]> PEXPIRE age 4000
## 取消生存时间
127.0.0.1:6379[15]> PERSIST age
字符串类型操作(strings)
增
## 设置key
127.0.0.1:6379> set name www
## 设置多个key
127.0.0.1:6379> MSET name www name1 wsh name2 qwe
## 查看多个key值
127.0.0.1:6379> MGET name name1 name2
1) "www"
2) "wsh"
3) "qwe"
## 先获取一个key的值,再设置或者修改key值
127.0.0.1:6379> getset xxx 123
(nil)
127.0.0.1:6379> get xxx
"123"
## 设置key同时设置生存时间(秒为单位)
127.0.0.1:6379> set book hongloumeng ex 100
OK
## 设置key同时设置生存时间(毫秒为单位)
127.0.0.1:6379> set book hongloumeng px 100
OK
## 字符串自增
127.0.0.1:6379> incr zan
(integer) 1
## 指定增加数量
127.0.0.1:6379> incrby fans 10000
(integer) 10023
## 自减
127.0.0.1:6379> decr fans
(integer) 10012
## 执行自减数量
127.0.0.1:6379> decrby fans 1000
(integer) 9012
## 按照小数自增
127.0.0.1:6379> incrbyfloat zls 0.1
"1.4"
删
127.0.0.1:6379> del rty
(integer) 1
1.
2.
改
## 字符串追加
127.0.0.1:6379> APPEND name hhh
(integer) 6
127.0.0.1:6379> get name
"wwwhhh"
## 修改第N个字符
127.0.0.1:6379> SETRANGE name 5 L
127.0.0.1:6379> get name
"wwwhhL"
查
## 查看一个key
127.0.0.1:6379> get name1
"wsh"
## 查看多个key
127.0.0.1:6379> MGET name name1 name2
1) "wwwhhL"
2) "wsh"
3) "qwe"
## 查看字符串的长度
127.0.0.1:6379> STRLEN name
(integer) 6
127.0.0.1:6379> STRLEN name1
(integer) 3
## 查看生存时间
127.0.0.1:6379> ttl name1 // 秒
(integer) 93
127.0.0.1:6379> pttl name1 // 毫秒
(integer) 91417
# 字符串截取
127.0.0.1:6379> GETRANGE name 0 3
"wwwh"
hash类型(字典类型)
应用场景:
存储部分变更的数据,如用户信息,商品信息等。
最接近表结构的一种类型。
# 创建key
hset keyname field value
hset student_id_1 name zls
hset student_id_1 name zls age 18 gender m
hmset student_id_1 name zls age 18 gender m
# 查询
hget keyname field
hget student_id_1 name
hgetall keyname
hgetall student_id_1
hmget student_id_1 name age
# 删除
127.0.0.1:6379> hdel student_id_1 age gender
(integer) 2
127.0.0.1:6379> hgetall student_id_1
127.0.0.1:6379> del student_id_1
# 改
127.0.0.1:6379> hset student_id_1 name zls age 18 gender m
(integer) 3
127.0.0.1:6379> hgetall student_id_1
1) "fans"
2) "8"
3) "zan"
4) "9"
5) "name"
6) "zls"
7) "age"
8) "18"
9) "gender"
10) "m"
list类型(列表类型)
消息队列
在生活中,其实有很多的例子,都类似消息队列。
比如:工厂生产出来的面包,交给超市,商场来出售,客户通过超市,商场来买面包,客户不会针对某一个工厂去选择,只管从超市买出来,工厂也不会管是哪一个客户买了面包,只管生产出来之后,交给超市,商场来处理。
消息队列(Message Queue)是一种应用间的通信方式,消息发送后可以立即返回,有消息系统来确保信息的可靠专递,消息生产者只管把消息发布到MQ中而不管谁来取,消息消费者只管从MQ中取消息而不管谁发布的,这样发布者和使用者都不用知道对方的存在。
生产者 -> 消息队列 -> 消费者 kafka
为什么使用消息队列
首先,我们可以知道,消息队列是一种异步的工作机制,比如说日志收集系统,为了避免数据在传输过程中丢失,还有订单系统,下单后,会生成对应的单据,库存的扣减,消费信息的发送,一个下单,产生这么多的消息,都是通过一个操作的触发,然后将其他的消息放入消息队列中,依次产生。再就是很多网站的,秒杀活动之类的,前多少名用户会便宜,都是通过消息队列来实现的。
这些例子,都是通过消息队列,来实现,业务的解耦,最终数据的一致性,广播,错峰流控等等,从而完成业务的逻辑。
消息队列的产品
RabbitMQ(最早金融公司,OpenStack)
ZeroMQ(SaltStack)
RocketMQ
Kafka(Java)
Redis(消息队列)
kafka
在kafka中可以创建topic会话
topic会话组,可以重复消费,消费者取数据根据topic的偏移量来取
公司的OA系统使用Jira
公司的文档系统使用 confluence
127.0.0.1:6379> lpush access_log '10.0.0.1 - - [03/Sep/2022:03:38:41 +0800] "POST /index.php HTTP/1.1" 200 1500 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36" "-"'
127.0.0.1:6379> lpush access_log '10.0.0.1 - - [03/Sep/2022:03:54:09 +0800] "POST /index.php HTTP/1.1" 200 1500 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36" "-"'
# 将数据添加在可以的最右边
127.0.0.1:6379> rpush name1 hl
(integer) 1
127.0.0.1:6379> rpush name1 wyk
(integer) 2
127.0.0.1:6379> rpush name1 zls
(integer) 3
# 如果数据不存在则不创建
lpushx name2 hl
# 将数据插入到key的任意位置
127.0.0.1:6379> linsert name2 after hl hjx
after:在...之后
before:在...之前
# 查看key中的指定范围数据
127.0.0.1:6379> lrange name 0 2
(empty array)
127.0.0.1:6379> lrange name1 0 2
1) "hl"
2) "wyk"
3) "zls"
# 从key的最左边取出数据
127.0.0.1:6379> lpop name1
"hl"
127.0.0.1:6379> lpop name1
"wyk"
127.0.0.1:6379> lpop name1
"zls"
# 查看key的长度
127.0.0.1:6379> llen name1
lpush:左边写入
rpush:右边写入
lpop:左边取出
rpop:右边取出
# 将name1右边的数据取出,写入name2左边
127.0.0.1:6379> lrange name1 0 2
1) "wyk"
2) "hjx"
3) "xwq"
127.0.0.1:6379> lrange name2 0 2
1) "hl"
2) "hjx"
3) "zls"
127.0.0.1:6379> rpoplpush name1 name2
"xwq"
127.0.0.1:6379> lrange name2 0 2
1) "xwq"
2) "hl"
3) "hjx"
127.0.0.1:6379> lrange name2 0 3
1) "xwq"
2) "hl"
3) "hjx"
4) "zls"
## 删除
# 从左边开始删除指定个数元素 lrem
127.0.0.1:6379> lrange name2 0 100
1) "hl"
2) "hl"
3) "hl"
4) "hl"
5) "hl"
6) "hl"
7) "xwq"
8) "hl"
9) "hjx"
10) "zls"
11) "hl"
12) "hl"
13) "hl"
14) "hl"
127.0.0.1:6379> lrem name2 7 hl
(integer) 7
127.0.0.1:6379> lrange name2 0 100
1) "xwq"
2) "hjx"
3) "zls"
4) "hl"
5) "hl"
6) "hl"
7) "hl"
# 保留指定下标的元素,其余的都删除
127.0.0.1:6379> lrange name2 0 100
1) "xwq"
2) "hjx"
3) "zls"
4) "hl"
5) "hl"
6) "hl"
7) "hl"
127.0.0.1:6379> ltrim name2 0 1
OK
127.0.0.1:6379> lrange name2 0 100
1) "xwq"
2) "hjx"
## 改
127.0.0.1:6379> lrange name1 0 100
1) "wyk"
2) "hjx"
127.0.0.1:6379> lset name1 0 xwq
OK
127.0.0.1:6379> lrange name1 0 100
1) "xwq"
2) "hjx"
## 查
# 按照索引查询
127.0.0.1:6379> lindex name1 1
"hjx"
127.0.0.1:6379> lindex name1 0
"xwq"
127.0.0.1:6379> lindex name1 2
(nil)
127.0.0.1:6379> lindex name1 -1 //最后一个元素
"hjx"
## 发朋友圈
127.0.0.1:6379> lpush wechat 'monday hl sb'
(integer) 1
127.0.0.1:6379> lpush wechat 'tiusiday hl yiran sb'
(integer) 2
127.0.0.1:6379> lpush wechat 'wensiday hl always sb'
(integer) 3
## 查看朋友圈
127.0.0.1:6379> lrange wechat 0 -1
1) "wensiday hl always sb"
2) "tiusiday hl yiran sb"
3) "monday hl sb"
set(集合类型)
组1:1 2 3 4 5
组2: 1 3 5 7 9
交集:1 3 5
并集:1 2 3 4 5 7 9
差集:2 4 7 9
# 创建集合
127.0.0.1:6379> sadd zls_fans wyk hl
(integer) 2
127.0.0.1:6379> sadd tly_fans mls gaofei wyk
(integer) 3
# 查
## 查询集合中的元素,有就返回1 没有就返回0
127.0.0.1:6379> sismember zls_fans hl
(integer) 1
127.0.0.1:6379> sismember zls_fans cls
(integer) 0
## 查询集合中的所有元素
127.0.0.1:6379> SMEMBERS zls_fans
1) "hl"
2) "wyk"
## 查询集合中元素数量
127.0.0.1:6379> scard zls_fans
(integer) 2
127.0.0.1:6379> scard tly_fans
(integer) 3
## 比较集合中的差异,取前面集合的不同之处
127.0.0.1:6379> sdiff hl_fans tly_fans zls_fans
1) "xiaoxuesheng"
127.0.0.1:6379> SMEMBERS hl_fans
1) "hl"
2) "mls"
3) "xiaoxuesheng"
127.0.0.1:6379> SMEMBERS tly_fans
1) "wyk"
2) "mls"
3) "gaofei"
127.0.0.1:6379> SMEMBERS zls_fans
1) "hl"
2) "wyk"
127.0.0.1:6379> sdiff hl_fans tly_fans
1) "hl"
2) "xiaoxuesheng"
127.0.0.1:6379> sdiff tly_fans hl_fans
1) "wyk"
2) "gaofei"
127.0.0.1:6379> sdiff tly_fans hl_fans zls_fans
1) "gaofei"
## 比较之后的差异,存放到新的集合中
127.0.0.1:6379> sdiffstore resault tly_fans hl_fans
(integer) 2
127.0.0.1:6379> KEYS *
1) "hl_fans"
2) "resault"
3) "name2"
4) "tly_fans"
5) "name1"
6) "wechat"
7) "zls_fans"
127.0.0.1:6379> type resault
set
127.0.0.1:6379> scard resault
(integer) 2
127.0.0.1:6379>
127.0.0.1:6379> SMEMBERS resault
1) "wyk"
2) "gaofei"
## 交集(共同好友)
127.0.0.1:6379> SMEMBERS hl_fans
1) "hl"
2) "mls"
3) "xiaoxuesheng"
127.0.0.1:6379> SMEMBERS zls_fans
1) "hl"
2) "wyk"
127.0.0.1:6379> sinter hl_fans zls_fans
1) "hl"
## 并集
127.0.0.1:6379> sunion hl_fans zls_fans
1) "hl"
2) "wyk"
3) "mls"
4) "xiaoxuesheng"
## 将交集存入新集合
127.0.0.1:6379> sinterstore new_set hl_fans zls_fans
(integer) 1
127.0.0.1:6379> SMEMBERS new_set
1) "hl"
## 将并集存入新集合
127.0.0.1:6379> sunionstore new_set2 hl_fans zls_fans
(integer) 4
127.0.0.1:6379> SMEMBERS new_set2
1) "hl"
2) "wyk"
3) "mls"
4) "xiaoxuesheng"
## 取随机值
127.0.0.1:6379> srandmember zls_fans
"mls"
## 改
## 将集合的元素存入另一个集合 SMOVE
127.0.0.1:6379> SMEMBERS hl_fans
1) "hl"
2) "mls"
3) "xiaoxuesheng"
127.0.0.1:6379> SMEMBERS zls_fans
1) "hl"
2) "wyk"
127.0.0.1:6379> SMOVE hl_fans zls_fans mls
(integer) 1
127.0.0.1:6379> SMEMBERS hl_fans
1) "hl"
2) "xiaoxuesheng"
127.0.0.1:6379> SMEMBERS zls_fans
1) "hl"
2) "wyk"
3) "mls"
## 删
127.0.0.1:6379> spop hl_fans
"hl"
127.0.0.1:6379> SMEMBERS hl_fans
1) "xiaoxuesheng"
## 删除指定元素,返回删除元素的个数
127.0.0.1:6379> srem zls_fans hl
(integer) 1
127.0.0.1:6379> SMEMBERS zls_fans
1) "wyk"
2) "mls"
127.0.0.1:6379> srem zls_fans xxx
(integer) 0
#### 无序的
127.0.0.1:6379> sadd zls_fans 111 222 333 444 555 666
(integer) 6
127.0.0.1:6379> SMEMBERS zls_fans
1) "abc"
2) "111"
3) "mls"
4) "123"
5) "def"
6) "333"
7) "222"
8) "456"
9) "444"
10) "555"
11) "666"
12) "wyk"
sorted-set(有序集合)
应用场景:
排行榜应用,取TOP N操作
这个需求与上面需求的不同之处在于,前面操作以时间为权重,这个是以某个条件为权重,比如按顶的次数排序,这时候就需要我们的sorted set出马了,将你要排序的值设置成sorted set的score,将具体的数据设置成相应的value,每次只需要执行一条ZADD命令即可。
复制
# 增
127.0.0.1:6379> zadd myzset 1 "one" 2 "two" 3 "three"
# 查
## 只查询成员
127.0.0.1:6379> zrange chengji 0 -1
1) "wyk"
2) "hl"
3) "zls"
## 查询成员和分数
127.0.0.1:6379> zrange chengji 0 -1 WITHSCORES
1) "wyk"
2) "1"
3) "hl"
4) "38"
5) "zls"
6) "100"
## 查询成员的索引
127.0.0.1:6379> zrank chengji wyk
(integer) 0
127.0.0.1:6379> zrank chengji zls
(integer) 2
## 查询成员数量
127.0.0.1:6379> zcard chengji
(integer) 3
## 查看分数是指定范围的成员个数 30 zcount chengji 30 101
(integer) 2
## 获取指定成员分数
127.0.0.1:6379> ZSCORE chengji wyk
"1"
127.0.0.1:6379> ZSCORE chengji zls
"100"
## 查看分数是指定范围的成员名
127.0.0.1:6379> zcount chengji 30 40
(integer) 1
127.0.0.1:6379> zrangebyscore chengji 30 40
1) "hl"
## +inf表示最后一个成员,-inf表示第一个成员,意思是:检索所有数据,然后从下标为2的数据开始再往后输出3:(N-1)个数据
127.0.0.1:6379> zrangebyscore chengji -inf +inf limit 2 3
1) "hjx"
2) "xwq"
3) "zls"
127.0.0.1:6379> zrangebyscore chengji -inf +inf limit 2 2
1) "hjx"
2) "xwq"
127.0.0.1:6379> zrangebyscore chengji -inf +inf limit 2 1
1) "hjx"
127.0.0.1:6379> zrangebyscore chengji -inf +inf limit 2 4
1) "hjx"
2) "xwq"
3) "zls"
# 删
## 删除指定分数范围的成员,并返回删除的个数
127.0.0.1:6379> zrangebyscore chengji 30 40
1) "hl"
127.0.0.1:6379> zremrangebyscore chengji 30 40
(integer) 1
## 按指定索引范围删除,返回删除个数
127.0.0.1:6379> zremrangebyrank chengji 0 2
(integer) 3
## 倒序排名
127.0.0.1:6379> zrevrange chengji 0 -1 WITHSCORES
1) "zls"
2) "100"
3) "hjx"
4) "60"
5) "xwq"
6) "50"
7) "hl"
8) "38"
9) "wyk"
10) "1"
## 按照分数段查找成员,并倒序排序
127.0.0.1:6379> zrevrangebyscore chengji 101 30 WITHSCORES
1) "zls"
2) "100"
3) "hjx"
4) "60"
5) "xwq"
6) "50"
7) "hl"
8) "38"
## 按照分数查找成员,并倒序排序,然后按照索引号,取出指定的数据
127.0.0.1:6379> zrevrangebyscore chengji 101 30 WITHSCORES limit 1 2
1) "hjx"
2) "60"
3) "xwq"
4) "50"
127.0.0.1:6379> zrevrangebyscore chengji 101 30 WITHSCORES limit 1 3
1) "hjx"
2) "60"
3) "xwq"
4) "50"
5) "hl"
6) "38"
https://www.73508.com/news/show-283798.html
https://www.73508.com/news/show-283797.html
https://www.73508.com/news/show-283796.html
https://www.73508.com/news/show-283795.html
https://www.73508.com/news/show-283793.html
https://www.73508.com/news/show-283792.html
https://www.73508.com/news/show-283791.html
https://www.73508.com/news/show-283790.html
https://www.73508.com/news/show-283789.html
https://www.73508.com/news/show-283763.html
https://www.73508.com/news/show-283762.html
https://www.73508.com/news/show-283761.html
https://www.73508.com/news/show-283760.html
https://www.73508.com/news/show-283758.html
https://www.73508.com/news/show-283757.html
https://www.73508.com/news/show-283756.html
https://www.73508.com/news/show-283754.html
https://www.73508.com/news/show-283753.html
https://www.73508.com/news/show-283751.html
https://www.73508.com/news/show-283701.html
https://www.73508.com/news/show-283688.html
https://www.73508.com/news/show-283686.html
https://www.73508.com/news/show-283685.html
https://www.73508.com/news/show-283699.html
https://www.73508.com/news/show-283698.html
https://www.73508.com/news/show-283697.html
https://www.73508.com/news/show-283696.html
https://www.73508.com/news/show-283684.html
https://www.73508.com/news/show-283683.html
https://www.73508.com/news/show-283682.html
https://www.73508.com/news/show-283680.html
https://www.73508.com/news/show-283695.html
https://www.73508.com/news/show-283694.html
https://www.73508.com/news/show-283692.html
https://www.73508.com/news/show-283691.html
https://www.73508.com/news/show-283679.html
https://www.73508.com/news/show-283678.html
https://www.73508.com/news/show-283677.html
https://www.73508.com/news/show-283690.html
https://www.73508.com/news/show-283750.html
https://www.73508.com/news/show-283749.html
https://www.73508.com/news/show-283748.html
https://www.73508.com/news/show-283747.html
https://www.73508.com/news/show-283746.html
https://www.73508.com/news/show-283745.html
https://www.73508.com/news/show-283744.html
https://www.73508.com/news/show-283743.html
https://www.73508.com/news/show-283742.html
https://www.73508.com/news/show-283740.html
https://www.73508.com/news/show-283811.html
https://www.73508.com/news/show-283810.html
https://www.73508.com/news/show-283809.html
https://www.73508.com/news/show-283808.html
https://www.73508.com/news/show-283806.html
https://www.73508.com/news/show-283805.html
https://www.73508.com/news/show-283804.html
https://www.73508.com/news/show-283803.html
https://www.73508.com/news/show-283802.html
https://www.73508.com/news/show-283801.html
https://www.73508.com/news/show-283676.html
https://www.73508.com/news/show-283675.html
https://www.73508.com/news/show-283674.html
https://www.73508.com/news/show-283673.html
https://www.73508.com/news/show-283672.html
https://www.73508.com/news/show-283671.html
https://www.73508.com/news/show-283670.html
https://www.73508.com/news/show-283668.html
https://www.73508.com/news/show-283667.html
https://www.73508.com/news/show-283666.html
https://www.73508.com/news/show-283665.html
https://www.73508.com/news/show-283664.html
https://www.73508.com/news/show-283662.html
https://www.73508.com/news/show-283661.html
https://www.73508.com/news/show-283659.html
https://www.73508.com/news/show-283658.html
https://www.73508.com/news/show-283657.html
https://www.73508.com/news/show-283655.html
https://www.73508.com/news/show-283654.html
https://www.73508.com/news/show-283653.html
https://www.73508.com/news/show-283582.html
https://www.73508.com/news/show-283581.html
https://www.73508.com/news/show-283580.html
https://www.73508.com/news/show-283579.html
https://www.73508.com/news/show-283578.html
https://www.73508.com/news/show-283577.html
https://www.73508.com/news/show-283576.html
https://www.73508.com/news/show-283575.html
https://www.73508.com/news/show-283574.html
https://www.73508.com/news/show-283573.html
https://www.73508.com/news/show-283489.html
https://www.73508.com/news/show-283488.html
https://www.73508.com/news/show-283487.html
https://www.73508.com/news/show-283486.html
https://www.73508.com/news/show-283485.html
https://www.73508.com/news/show-283483.html
https://www.73508.com/news/show-283482.html
https://www.73508.com/news/show-283480.html
https://www.73508.com/news/show-283479.html
https://www.73508.com/news/show-283478.html
https://www.73508.com/news/show-283603.html
https://www.73508.com/news/show-283601.html
https://www.73508.com/news/show-283600.html
https://www.73508.com/news/show-283599.html
https://www.73508.com/news/show-283598.html
https://www.73508.com/news/show-283597.html
https://www.73508.com/news/show-283596.html
https://www.73508.com/news/show-283595.html
https://www.73508.com/news/show-283594.html
https://www.73508.com/news/show-283593.html
https://www.73508.com/news/show-283559.html
https://www.73508.com/news/show-283557.html
https://www.73508.com/news/show-283556.html
https://www.73508.com/news/show-283554.html
https://www.73508.com/news/show-283553.html
https://www.73508.com/news/show-283551.html
https://www.73508.com/news/show-283550.html
https://www.73508.com/news/show-283549.html
https://www.73508.com/news/show-283547.html
https://www.73508.com/news/show-283546.html
https://www.73508.com/news/show-283515.html
https://www.73508.com/news/show-283514.html
https://www.73508.com/news/show-283513.html
https://www.73508.com/news/show-283512.html
https://www.73508.com/news/show-283511.html
https://www.73508.com/news/show-283509.html
https://www.73508.com/news/show-283508.html
https://www.73508.com/news/show-283506.html
https://www.73508.com/news/show-283504.html
https://www.73508.com/news/show-283503.html
https://www.73508.com/news/show-283592.html
https://www.73508.com/news/show-283591.html
https://www.73508.com/news/show-283590.html
https://www.73508.com/news/show-283589.html
https://www.73508.com/news/show-283588.html
https://www.73508.com/news/show-283587.html
https://www.73508.com/news/show-283586.html
https://www.73508.com/news/show-283585.html
https://www.73508.com/news/show-283584.html
https://www.73508.com/news/show-283583.html
https://www.73508.com/news/show-283476.html
https://www.73508.com/news/show-283474.html
https://www.73508.com/news/show-283473.html
https://www.73508.com/news/show-283472.html
https://www.73508.com/news/show-283470.html
https://www.73508.com/news/show-283468.html
https://www.73508.com/news/show-283467.html
https://www.73508.com/news/show-283466.html
https://www.73508.com/news/show-283465.html
https://www.73508.com/news/show-283464.html
https://www.73508.com/news/show-283640.html
https://www.73508.com/news/show-283639.html
https://www.73508.com/news/show-283638.html
https://www.73508.com/news/show-283637.html
https://www.73508.com/news/show-283636.html
https://www.73508.com/news/show-283635.html
https://www.73508.com/news/show-283634.html
https://www.73508.com/news/show-283633.html
https://www.73508.com/news/show-283632.html
https://www.73508.com/news/show-283631.html
https://www.73508.com/news/show-283630.html
https://www.73508.com/news/show-283628.html
https://www.73508.com/news/show-283627.html
https://www.73508.com/news/show-283626.html
https://www.73508.com/news/show-283625.html
https://www.73508.com/news/show-283623.html
https://www.73508.com/news/show-283622.html
https://www.73508.com/news/show-283620.html
https://www.73508.com/news/show-283619.html
https://www.73508.com/news/show-283618.html
https://www.73508.com/news/show-283651.html
https://www.73508.com/news/show-283650.html
https://www.73508.com/news/show-283649.html
https://www.73508.com/news/show-283648.html
https://www.73508.com/news/show-283647.html
https://www.73508.com/news/show-283646.html
https://www.73508.com/news/show-283645.html
https://www.73508.com/news/show-283644.html
https://www.73508.com/news/show-283642.html
https://www.73508.com/news/show-283641.html
https://www.73508.com/news/show-283502.html
https://www.73508.com/news/show-283500.html
https://www.73508.com/news/show-283499.html
https://www.73508.com/news/show-283498.html
https://www.73508.com/news/show-283496.html
https://www.73508.com/news/show-283495.html
https://www.73508.com/news/show-283494.html
https://www.73508.com/news/show-283493.html
https://www.73508.com/news/show-283492.html
https://www.73508.com/news/show-283490.html
https://www.73508.com/news/show-283572.html
https://www.73508.com/news/show-283571.html
https://www.73508.com/news/show-283569.html
https://www.73508.com/news/show-283568.html
https://www.73508.com/news/show-283567.html
https://www.73508.com/news/show-283566.html
https://www.73508.com/news/show-283565.html
https://www.73508.com/news/show-283563.html
https://www.73508.com/news/show-283561.html
https://www.73508.com/news/show-283560.html
https://www.73508.com/news/show-283544.html
https://www.73508.com/news/show-283543.html
https://www.73508.com/news/show-283542.html
https://www.73508.com/news/show-283541.html
https://www.73508.com/news/show-283539.html
https://www.73508.com/news/show-283538.html
https://www.73508.com/news/show-283537.html
https://www.73508.com/news/show-283535.html
https://www.73508.com/news/show-283534.html
https://www.73508.com/news/show-283532.html
https://www.73508.com/news/show-283531.html
https://www.73508.com/news/show-283528.html
https://www.73508.com/news/show-283526.html
https://www.73508.com/news/show-283525.html
https://www.73508.com/news/show-283524.html
https://www.73508.com/news/show-283522.html
https://www.73508.com/news/show-283521.html
https://www.73508.com/news/show-283519.html
https://www.73508.com/news/show-283518.html
https://www.73508.com/news/show-283517.html
https://www.73508.com/news/show-283617.html
https://www.73508.com/news/show-283615.html
https://www.73508.com/news/show-283613.html
https://www.73508.com/news/show-283612.html
https://www.73508.com/news/show-283611.html
https://www.73508.com/news/show-283610.html
https://www.73508.com/news/show-283609.html
https://www.73508.com/news/show-283607.html
https://www.73508.com/news/show-283605.html
https://www.73508.com/news/show-283604.html
https://www.73508.com/news/show-283448.html
https://www.73508.com/news/show-283447.html
https://www.73508.com/news/show-283445.html
https://www.73508.com/news/show-283444.html
https://www.73508.com/news/show-283443.html
https://www.73508.com/news/show-283441.html
https://www.73508.com/news/show-283440.html
https://www.73508.com/news/show-283439.html
https://www.73508.com/news/show-283438.html
https://www.73508.com/news/show-283436.html
https://www.73508.com/news/show-283339.html
https://www.73508.com/news/show-283338.html
https://www.73508.com/news/show-283337.html
https://www.73508.com/news/show-283336.html
https://www.73508.com/news/show-283334.html
https://www.73508.com/news/show-283333.html
https://www.73508.com/news/show-283332.html
https://www.73508.com/news/show-283331.html
https://www.73508.com/news/show-283329.html
https://www.73508.com/news/show-283328.html
https://www.73508.com/news/show-283463.html
https://www.73508.com/news/show-283462.html
https://www.73508.com/news/show-283461.html
https://www.73508.com/news/show-283459.html
https://www.73508.com/news/show-283458.html
https://www.73508.com/news/show-283456.html
https://www.73508.com/news/show-283455.html
https://www.73508.com/news/show-283453.html
https://www.73508.com/news/show-283452.html
https://www.73508.com/news/show-283450.html
https://www.73508.com/news/show-283421.html
https://www.73508.com/news/show-283419.html
https://www.73508.com/news/show-283418.html
https://www.73508.com/news/show-283417.html
https://www.73508.com/news/show-283415.html
https://www.73508.com/news/show-283414.html
https://www.73508.com/news/show-283412.html
https://www.73508.com/news/show-283411.html
https://www.73508.com/news/show-283410.html
https://www.73508.com/news/show-283409.html
https://www.73508.com/news/show-283269.html
https://www.73508.com/news/show-283268.html
https://www.73508.com/news/show-283266.html
https://www.73508.com/news/show-283265.html
https://www.73508.com/news/show-283263.html
https://www.73508.com/news/show-283262.html
https://www.73508.com/news/show-283260.html
https://www.73508.com/news/show-283259.html
https://www.73508.com/news/show-283257.html
https://www.73508.com/news/show-283256.html
https://www.73508.com/news/show-283394.html
https://www.73508.com/news/show-283393.html
https://www.73508.com/news/show-283391.html
https://www.73508.com/news/show-283389.html
https://www.73508.com/news/show-283388.html
https://www.73508.com/news/show-283387.html
https://www.73508.com/news/show-283385.html
https://www.73508.com/news/show-283384.html
https://www.73508.com/news/show-283383.html
https://www.73508.com/news/show-283381.html
https://www.73508.com/news/show-283353.html
https://www.73508.com/news/show-283351.html
https://www.73508.com/news/show-283350.html
https://www.73508.com/news/show-283349.html
https://www.73508.com/news/show-283348.html
https://www.73508.com/news/show-283347.html
https://www.73508.com/news/show-283345.html
https://www.73508.com/news/show-283344.html
https://www.73508.com/news/show-283342.html
https://www.73508.com/news/show-283341.html
https://www.73508.com/news/show-283435.html
https://www.73508.com/news/show-283433.html
https://www.73508.com/news/show-283432.html
https://www.73508.com/news/show-283430.html
https://www.73508.com/news/show-283429.html
https://www.73508.com/news/show-283427.html
https://www.73508.com/news/show-283426.html
https://www.73508.com/news/show-283425.html
https://www.73508.com/news/show-283424.html
https://www.73508.com/news/show-283422.html
https://www.73508.com/news/show-283314.html
https://www.73508.com/news/show-283312.html
https://www.73508.com/news/show-283311.html
https://www.73508.com/news/show-283309.html
https://www.73508.com/news/show-283307.html
https://www.73508.com/news/show-283305.html
https://www.73508.com/news/show-283304.html
https://www.73508.com/news/show-283303.html
https://www.73508.com/news/show-283301.html
https://www.73508.com/news/show-283300.html
https://www.73508.com/news/show-283326.html
https://www.73508.com/news/show-283325.html
https://www.73508.com/news/show-283324.html
https://www.73508.com/news/show-283323.html
https://www.73508.com/news/show-283322.html
https://www.73508.com/news/show-283321.html
https://www.73508.com/news/show-283319.html
https://www.73508.com/news/show-283318.html
https://www.73508.com/news/show-283317.html
https://www.73508.com/news/show-283315.html
https://www.73508.com/news/show-283284.html
https://www.73508.com/news/show-283282.html
https://www.73508.com/news/show-283281.html
https://www.73508.com/news/show-283279.html
https://www.73508.com/news/show-283278.html
https://www.73508.com/news/show-283276.html
https://www.73508.com/news/show-283275.html
https://www.73508.com/news/show-283273.html
https://www.73508.com/news/show-283272.html
https://www.73508.com/news/show-283270.html
https://www.73508.com/news/show-283379.html
https://www.73508.com/news/show-283378.html
https://www.73508.com/news/show-283377.html
https://www.73508.com/news/show-283376.html
https://www.73508.com/news/show-283374.html
https://www.73508.com/news/show-283373.html
https://www.73508.com/news/show-283372.html
https://www.73508.com/news/show-283371.html
https://www.73508.com/news/show-283370.html
https://www.73508.com/news/show-283368.html
https://www.73508.com/news/show-283408.html
https://www.73508.com/news/show-283407.html
https://www.73508.com/news/show-283406.html
https://www.73508.com/news/show-283404.html
https://www.73508.com/news/show-283402.html
https://www.73508.com/news/show-283401.html
https://www.73508.com/news/show-283400.html
https://www.73508.com/news/show-283398.html
https://www.73508.com/news/show-283397.html
https://www.73508.com/news/show-283395.html
https://www.73508.com/news/show-283367.html
https://www.73508.com/news/show-283365.html
https://www.73508.com/news/show-283364.html
https://www.73508.com/news/show-283363.html
https://www.73508.com/news/show-283362.html
https://www.73508.com/news/show-283361.html
https://www.73508.com/news/show-283359.html
https://www.73508.com/news/show-283357.html
https://www.73508.com/news/show-283356.html
https://www.73508.com/news/show-283354.html
https://www.73508.com/news/show-283299.html
https://www.73508.com/news/show-283298.html
https://www.73508.com/news/show-283296.html
https://www.73508.com/news/show-283295.html
https://www.73508.com/news/show-283293.html
https://www.73508.com/news/show-283292.html
https://www.73508.com/news/show-283290.html
https://www.73508.com/news/show-283289.html
https://www.73508.com/news/show-283287.html
https://www.73508.com/news/show-283286.html
https://m.73508.com/news/show-286676.html
https://m.73508.com/news/show-286677.html
https://m.73508.com/news/show-286675.html
https://m.73508.com/news/show-286674.html
https://m.73508.com/news/show-286673.html
https://m.73508.com/news/show-286672.html
https://m.73508.com/news/show-286671.html
https://m.73508.com/news/show-286670.html
https://m.73508.com/news/show-286669.html
https://m.73508.com/news/show-286668.html
https://m.73508.com/news/show-286667.html
https://m.73508.com/news/show-286666.html
https://m.73508.com/news/show-286665.html
https://m.73508.com/news/show-286664.html
https://m.73508.com/news/show-286663.html
https://m.73508.com/news/show-286658.html
https://m.73508.com/news/show-286659.html
https://m.73508.com/news/show-286660.html
https://m.73508.com/news/show-286661.html
https://m.73508.com/news/show-286662.html
https://m.73508.com/news/show-286664.html
https://www.73508.com/news/show-286676.html
https://www.73508.com/news/show-286677.html
https://www.73508.com/news/show-286675.html
https://www.73508.com/news/show-286674.html
https://www.73508.com/news/show-286673.html
https://www.73508.com/news/show-286672.html
https://www.73508.com/news/show-286671.html
https://www.73508.com/news/show-286670.html
https://www.73508.com/news/show-286669.html
https://www.73508.com/news/show-286668.html
https://www.73508.com/news/show-286667.html
https://www.73508.com/news/show-286666.html
https://www.73508.com/news/show-286665.html
https://www.73508.com/news/show-286664.html
https://www.73508.com/news/show-286663.html
https://www.73508.com/news/show-286658.html
https://www.73508.com/news/show-286659.html
https://www.73508.com/news/show-286660.html
https://www.73508.com/news/show-286661.html
https://www.73508.com/news/show-286662.html
https://www.73508.com/news/show-286664.html
https://m.73508.com/news/show-286657.html
https://m.73508.com/news/show-286656.html
https://m.73508.com/news/show-286655.html
https://m.73508.com/news/show-286654.html
https://m.73508.com/news/show-286653.html
https://m.73508.com/news/show-286652.html
https://m.73508.com/news/show-286651.html
https://m.73508.com/news/show-286650.html
https://m.73508.com/news/show-286649.html
https://m.73508.com/news/show-286648.html
https://m.73508.com/news/show-286647.html
https://m.73508.com/news/show-286646.html
https://m.73508.com/news/show-286644.html
https://m.73508.com/news/show-286645.html
https://m.73508.com/news/show-286643.html
https://m.73508.com/news/show-286642.html
https://m.73508.com/news/show-286641.html
https://m.73508.com/news/show-286640.html
https://m.73508.com/news/show-286639.html
https://m.73508.com/news/show-286638.html
https://www.73508.com/news/show-286657.html
https://www.73508.com/news/show-286656.html
https://www.73508.com/news/show-286655.html
https://www.73508.com/news/show-286654.html
https://www.73508.com/news/show-286653.html
https://www.73508.com/news/show-286652.html
https://www.73508.com/news/show-286651.html
https://www.73508.com/news/show-286650.html
https://www.73508.com/news/show-286649.html
https://www.73508.com/news/show-286648.html
https://www.73508.com/news/show-286647.html
https://www.73508.com/news/show-286646.html
https://www.73508.com/news/show-286644.html
https://www.73508.com/news/show-286645.html
https://www.73508.com/news/show-286643.html
https://www.73508.com/news/show-286642.html
https://www.73508.com/news/show-286641.html
https://www.73508.com/news/show-286640.html
https://www.73508.com/news/show-286639.html
https://www.73508.com/news/show-286638.html
|