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

购物网站设计流程图网站查询工具seo

购物网站设计流程图,网站查询工具seo,黄网网站是怎么做的,推广广告赚钱软件文章目录 0.前言1. 发布和订阅消息2. 事务操作3. 管道操作4. jedis 支持哨兵模式5. jedis 支持集群模式5. 参考链接 0.前言 Jedis是Redis的Java客户端,它支持所有的Redis原生命令,使用方便,且可以与Java项目无缝集成。 该库的最新版本支持Re…

文章目录

  • 0.前言
  • 1. 发布和订阅消息
  • 2. 事务操作
  • 3. 管道操作
  • 4. jedis 支持哨兵模式
  • 5. jedis 支持集群模式
  • 5. 参考链接

在这里插入图片描述

0.前言

Jedis是Redis的Java客户端,它支持所有的Redis原生命令,使用方便,且可以与Java项目无缝集成。 该库的最新版本支持Redis 5.0、6.0、6.2、7.0和7.2。
最新依赖

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

有关Jedis版本与Redis版本和JDK的兼容性的信息:

Jedis版本支持的Redis版本JDK兼容性
3.9+5.0和6.2系列8, 11
>= 4.05.0至当前版本8, 11, 17
>= 5.06.0至当前版本8, 11, 17

具体和最准确的信息建议参考官方Jedis文档。

1. 发布和订阅消息

这是一种典型的发布/订阅模式,Jedis提供了subscribe方法和publish方法来实现。在这个例子中,我们首先创建了一个Jedis对象和一个消息监听器,然后通过subscribe方法订阅了一个频道,之后在这个频道上通过publish方法发布了一条消息,消息监听器接收到消息后会打印出消息内容和频道名。如果不再需要订阅该频道,可以通过unsubscribe方法来取消订阅。最后,记得关闭Jedis对象来释放资源。

// 创建Jedis对象
Jedis jedis = new Jedis("localhost", 6379);// 创建消息监听器
JedisPubSub jedisPubSub = new JedisPubSub() {@Overridepublic void onMessage(String channel, String message) {System.out.println("Received message: " + message + " from channel: " + channel);}
};// 订阅频道
jedis.subscribe(jedisPubSub, "channel");// 发布消息
jedis.publish("channel", "Hello Redis!");// 取消订阅
jedisPubSub.unsubscribe("channel");// 关闭连接
jedis.close();

2. 事务操作

Jedis也支持Redis的事务操作,可以通过multi方法开启一个事务,然后在事务中进行一系列的操作,最后通过exec方法提交事务,如果需要放弃事务,可以使用discard方法。在这个例子中,我们在一个事务中进行了两次set操作,然后提交了事务。

// 创建Jedis对象
Jedis jedis = new Jedis("localhost", 6379);// 开启事务
Transaction transaction = jedis.multi();// 执行事务操作
transaction.set("key1", "value1");
transaction.set("key2", "value2");// 提交事务
transaction.exec();// 关闭连接
jedis.close();

3. 管道操作

管道是一种可以一次性发送多个命令到服务器的方式,服务器会一次性返回所有命令的结果,这样可以大大提高效率。在这个例子中,我们使用了Jedis的pipelined方法创建了一个管道对象,然后在管道中执行了三次get命令,通过sync方法提交了管道,然后通过Response对象获取了命令的返回结果。

// 创建Jedis对象
Jedis jedis = new Jedis("localhost", 6379);// 创建管道对象
Pipeline pipelined = jedis.pipelined();// 批量执行命令
Response<String> response1 = pipelined.get("key1");
Response<String> response2 = pipelined.get("key2");
Response<String> response3 = pipelined.get("key3");// 提交命令
pipelined.sync();// 获取命令结果
String value1 = response1.get();
String value2 = response2.get();
String value3 = response3.get();// 关闭连接
jedis.close();

4. jedis 支持哨兵模式

在使用Jedis的哨兵模式之前,你需要先配置好Redis的哨兵模式。这需要至少3个Redis实例,一个作为主节点(master),两个作为从节点(slave)。然后在每个Redis实例上运行一个哨兵进程。

Redis Sentinel哨兵配置

  1. 主节点配置文件 redis.conf 示例:

    bind 127.0.0.1
    port 6379
    
  2. 从节点配置文件 redis-slave.conf 示例:

    bind 127.0.0.1
    port 6380
    slaveof 127.0.0.1 6379
    
  3. 哨兵配置文件 sentinel.conf 示例:

    sentinel monitor mymaster 127.0.0.1 6379 2
    sentinel down-after-milliseconds mymaster 60000
    sentinel failover-timeout mymaster 180000
    
    • sentinel monitor mymaster 127.0.0.1 6379 2 表示哨兵监控的主节点名称叫mymaster,地址127.0.0.1,端口6379,2表示至少需要2个哨兵同意才确认主节点挂掉。
    • sentinel down-after-milliseconds mymaster 60000 表示如果60秒内master节点无响应,那么哨兵将master节点标记为主观下线(subjectively down)。
    • sentinel failover-timeout mymaster 180000 表示如果180秒内master节点还是无响应,那么开始进行故障转移。

使用Jedis连接Redis Sentinel

  1. 引入Jedis依赖。在pom.xml中添加:

    <dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>3.7.0</version>
    </dependency>
    
  2. Java代码:

    Set<String> sentinels = new HashSet<String>();
    sentinels.add("127.0.0.1:26379"); //添加哨兵地址
    JedisSentinelPool sentinelPool = new JedisSentinelPool("mymaster", sentinels); //创建JedisSentinelPool,mymaster是在哨兵配置中定义的主节点名称
    Jedis jedis = null;
    try {jedis = sentinelPool.getResource(); //获取Jedis对象jedis.set("key", "value");  //进行Redis操作String value = jedis.get("key");System.out.println(value);
    } finally {if (jedis != null) {jedis.close();  //关闭连接}
    }
    

Jedis会自动处理故障转移,无需我们手动切换。当Redis主节点出现故障,哨兵会自动选举新的主节点,Jedis也会自动连接到新的主节点。

5. jedis 支持集群模式

在使用Jedis的集群模式之前,你需要先配置好Redis的集群模式。这需要至少6个Redis实例,其中3个作为主节点,3个作为从节点。每个主节点都有一个对应的从节点。

Redis Cluster集群配置

  1. 主节点配置文件 redis-7000.conf 示例:

    port 7000
    cluster-enabled yes
    cluster-config-file nodes-7000.conf
    cluster-node-timeout 5000
    appendonly yes
    
  2. 从节点配置文件 redis-7001.conf 示例:

    port 7001
    cluster-enabled yes
    cluster-config-file nodes-7001.conf
    cluster-node-timeout 5000
    appendonly yes
    

通过Redis自带的redis-cli工具创建集群:

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

使用Jedis连接Redis Cluster

  1. 引入Jedis依赖。在pom.xml中添加:

    <dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>3.7.0</version>
    </dependency>
    
  2. Java代码:
    以下是一个使用Jedis连接Redis Cluster的完整Java代码示例:

import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.JedisCluster;import java.util.HashSet;
import java.util.Set;public class JedisClusterExample {public static void main(String[] args) {// 创建集群节点集合Set<HostAndPort> jedisClusterNodes = new HashSet<HostAndPort>();// 向集合中添加新的节点jedisClusterNodes.add(new HostAndPort("127.0.0.1", 7000));jedisClusterNodes.add(new HostAndPort("127.0.0.1", 7001));jedisClusterNodes.add(new HostAndPort("127.0.0.1", 7002));jedisClusterNodes.add(new HostAndPort("127.0.0.1", 7003));jedisClusterNodes.add(new HostAndPort("127.0.0.1", 7004));jedisClusterNodes.add(new HostAndPort("127.0.0.1", 7005));// 创建JedisCluster对象JedisCluster jedisCluster = new JedisCluster(jedisClusterNodes);try {// 保存数据jedisCluster.set ("myKey", "Hello, JedisCluster!");// 获取数据String value = jedisCluster.get("myKey");System.out.println("Value stored in Redis : " + value);} catch (Exception e) {e.printStackTrace();} finally {if (jedisCluster != null) {try {// 关闭JedisCluster对象jedisCluster.close();} catch (Exception e) {e.printStackTrace();}}}}
}

5. 参考链接

https://github.com/redis/jedis/wiki/Getting-started

http://www.hkea.cn/news/500494/

相关文章:

  • 论坛类型的网站怎么做拉新推广平台有哪些
  • pc官方网站视频专用客户端app
  • 成都哪家做网站建设比较好搜索关键词排名查询
  • 无锡网站优化推广广州网站推广运营
  • 电子商务网站开发的步骤短视频seo排名系统
  • 如何用模板做网站视频河北电子商务seo
  • 动态网站代码设计做小程序的公司
  • 网站建设软件开发的新闻北京关键词优化报价
  • 在上海做兼职在哪个网站好百度售后电话人工服务
  • 深圳网站开发招聘谁能给我个网址
  • 长沙做个网站多少钱怎样免费给自己的公司做网站
  • wordpress to微博优化营商环境条例
  • 做外贸通常用哪些网站seo网站监测
  • 电子商务网站建设解决方案必应搜索引擎
  • 企业网页制作与网站设计南京seo优化培训
  • sqlite开发网站想做网络推广的公司
  • 网页设计作业在线网站首页seo教程seo优化
  • 做个网站多钱域名备案查询系统
  • 饰品网站模板官网seo关键词排名系统
  • 文学网站做编辑百度笔记排名优化
  • 公司网站开发语言如何优化百度seo排名
  • 做网站较好的框架惠州百度推广排名
  • 网站建设和运营的课程推广软文发稿
  • 杭州企业网站建设方案ui培训
  • 个人站长做哪些网站好seo优化设计
  • 小白学做搭建网站软文街官方网站
  • 网站模板 可做采集站市场营销咨询
  • 家居网站建设素材天眼查询个人信息
  • 杭州专业网站排名优化交换链接的例子
  • 网站建设和数据容量整合seo的培训课程