当前位置: 首页 > news >正文

提升网站关键词排名360站长工具

提升网站关键词排名,360站长工具,2020年购物app排行,wordpress编辑器没有16px目录 1、发布订阅 1.1 什么是发布订阅 1.2 客户端实例演示 1.3 Java API演示 1.4 Redis发布订阅和rabbitmq的区别 2、批量操作 2.1 普通模式与 PipeLine 模式 2.2 适用场景 2.3 源码解析 2.4 Pipelining的局限性 2.5 事务与 LUA Scripting 3、持久化 3.1 为什么需要…

目录

 

1、发布订阅

1.1 什么是发布订阅

1.2 客户端实例演示

1.3 Java API演示

1.4 Redis发布订阅和rabbitmq的区别

2、批量操作

2.1 普通模式与 PipeLine 模式

2.2 适用场景

2.3 源码解析

2.4 Pipelining的局限性

2.5 事务与 LUA Scripting

3、持久化

3.1 为什么需要持久化

3.2 持久化方式

3.3 文件同步方式

3.4 文件重写(压缩)

3.5 总结

4、内存淘汰

4.1 最大内存设置

4.2 数据淘汰机制


1、发布订阅

1.1 什么是发布订阅

Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息并且可以订阅任意数量的频道。

发布订阅(Pub/Sub):目前广泛使用的通信模型,它采用事件作为基本的通信机制,提供大规模系统所要求的松散耦合的交互模式:订阅者(如客户端)以事件订阅的方式表达出它有兴趣接收的一个事件或一类事件;发布者(如服务器)可将订阅者感兴趣的事件随时通知相关订阅者------是不是与设计模式里面的观察者模式一个妈妈生的?

最经典的应用场景就是微博和公众号,任何粉丝只要关注(订阅)了某一个人的微博或者公众号,该微博或者公众号就有有状态更新,都会将消息推送(发布)到粉丝....

下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1 之间的关系:

20210203232133811.png

当有新消息通过 PUBLISH 命令发送给频道 channel1 时, 这个消息就会被发送给订阅它的三个客户端:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2h1eGlhbmcxOTg1MTExNA==,size_16,color_FFFFFF,t_70

1.2 客户端实例演示

以下实例演示了发布订阅是如何工作的。在我们实例中我们创建了订阅频道名为 redisChat:

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

现在,我们先重新开启个 redis 客户端,然后在同一个频道 redisChat 发布两次消息,订阅者就能接收到消息。

redis 127.0.0.1:6379> PUBLISH redisChat "Redis is a great caching technique"
​
(integer) 1
​
redis 127.0.0.1:6379> PUBLISH redisChat "Learn redis by runoob.com"
​
(integer) 1
​
# 订阅者的客户端会显示如下消息
1) "message"
2) "redisChat"
3) "Redis is a great caching technique"
1) "message"
2) "redisChat"
3) "Learn redis by runoob.com"

下表列出了 redis 发布订阅常用命令:

序号命令及描述
1PSUBSCRIBE pattern... 订阅一个或多个符合语法的频道。---> PSUBSCRIBE redisChat* 订阅所有以redisChat开头的频道
2PUBLISH channel message 将信息发送到指定的频道。
3PUNSUBSCRIBE pattern ... 退订所有给定模式的频道。
4SUBSCRIBE channel ... 订阅给定的一个或多个频道的信息。

 

1.3 Java API演示

1.3.1 引入jedis依赖

<dependency>           <groupId>redis.clients</groupId>           <artifactId>jedis</artifactId>           <version>2.9.3</version>       </dependency>

1.3.2 Publisher (发布者)

package com.ydt.redis.pubsub;
​
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
​
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
​
public class Publisher extends Thread{
​   private final JedisPool jedisPool;
​   public Publisher(JedisPool jedisPool) {       this.jedisPool = jedisPool;   }      @Override   public void run() {       BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));       Jedis jedis = jedisPool.getResource();   //连接池中取出一个连接       while (true) {           String line = null;           try {               line = reader.readLine();               if (!"quit".equals(line)) {                   jedis.publish("mychannel", line);   //从 mychannel 的频道上推送消息               } else {                   break;               }           } catch (IOException e) {               e.printStackTrace();           }       }   }
}

1.3.3 Subscriber(订阅者)

package com.ydt.redis.pubsub;
​
import redis.clients.jedis.JedisPubSub;
​
//订阅者需要继承JedisPubSub,来重写它的三个方法
public class Subscriber extends JedisPubSub {
​   public Subscriber(){}   @Override   public void onMes
http://www.ds6.com.cn/news/53490.html

相关文章:

  • wordpress设置html四川seo快速排名
  • 特乐网站建设黑帽seo之搜索引擎
  • 强的网站建设公网络营销的类型
  • 论文网站建设方案宣传推广图片
  • 贵阳手机网站建设公司百度一下就一个
  • 邯郸做网站推广找谁万网是什么网站
  • 怎样自学做网站需要多少钱南昌seo排名外包
  • 网站备案花钱吗海外推广代理公司
  • 网站倒计时百度竞价排名广告定价
  • 哪个网站可以悬赏做图郑州网站排名优化外包
  • 如何做国外的电商网站营销型网站建设推广
  • 没有平台没有网站怎么做外贸网络精准营销推广
  • 谷歌浏览器下载appseo优化首页
  • 如何把网站做的好看新公司如何做推广
  • 属于公司的网站怎么做拼多多女装关键词排名
  • 平面设计公司培训亚马逊seo关键词优化软件
  • 省建设厅官方网站百度快速排名用是
  • 下载官方网站百度收录在线提交
  • 深圳福田大型商城网站建设seo网站推广教程
  • 景观做文本常用的网站什么公司适合做seo优化
  • web网站开发团队介绍什么平台可以打广告做宣传
  • 做网站买什么香港服务器做网站seo推广公司
  • 微信wxid二维码生成器重庆百度seo排名
  • 一个网站的建设方案b2b国际贸易平台
  • 入侵织梦网站开发一个平台需要多少钱
  • 看想看的做想做的电影网站好管理微信软件
  • 宽带业务办理一年多少钱关键词优化工具互点
  • 网站空间的存放种类长沙网站优化体验
  • 无锡网站制作哪家实惠百度seo是啥
  • 网站优化公司电话有哪些网站可以免费推广