摘要: Redis集群是没法执行批量操作命令的,如mget,pipeline等。这是因为redis将集群划分为16383个哈希槽,不同的key会划分到不同的槽中。但是,Jedis客户端提供了计算key的slot方法,已经slot和节点之间的映射关系,通过这两个数据,就可以计算出每个key所在的节点,然后使用 阅读全文
posted @ 2018-12-27 16:21 Tony_ding 阅读(7391) 评论(0) 推荐(0) 编辑
摘要: Redisson是一个基于java编程框架netty进行扩展了的redis,实现了分布式锁和批量的一些操作。 哨兵模式初始化 集群模式初始化 阅读全文
posted @ 2018-12-26 14:06 Tony_ding 阅读(4249) 评论(1) 推荐(0) 编辑
摘要: 1.pom文件中导入solr jar包 2.新建实体类message 3.修改solr core下的managed-schema配置文件 增加你需要的field 注意 需与你实体类中的字段对应 type则为ik中文分词器 4.新建solrUtil工具类 package com.example.dem 阅读全文
posted @ 2018-07-06 14:58 Tony_ding 阅读(2312) 评论(0) 推荐(0) 编辑
摘要: 1.solr7环境要求 solr7需要java8环境,且需要在环境变量中添加 JAVA_HOME变量。 2.solr 安装 下载地址 https://lucene.apache.org/solr/mirrors-solr-latest-redir.html 我下载为7.4版本 在solr5以前sol 阅读全文
posted @ 2018-07-03 18:21 Tony_ding 阅读(11106) 评论(3) 推荐(2) 编辑
摘要: 利用zookeeper实现 当很多进程需要访问共享资源时,我们可以通过zk来实现分布式锁。主要步骤是: 1.建立一个节点,假如名为:lock 。节点类型为持久节点(PERSISTENT) 2.每当进程需要访问共享资源时,会调用分布式锁的lock()或tryLock()方法获得锁,这个时候会在第一步创 阅读全文
posted @ 2018-06-26 16:49 Tony_ding 阅读(399) 评论(0) 推荐(1) 编辑
摘要: 在分布式系统中,之前单一的用synchronized或lock已经不适用了。分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。本博客讨论为第二种 代码实现 现象:模拟多个线程去运算同一个数据 可以发现数据计算是不规则的 输出值为混 阅读全文
posted @ 2018-06-19 11:31 Tony_ding 阅读(340) 评论(0) 推荐(0) 编辑