redis集群配置,spring整合jedis,缓存同步
前台的商品数据(图片等加载缓慢)查询,先从redis缓存查询数据。
redis是一个nosql数据库,内存版数据库,读取速度11w/s。本身具有内存淘汰机制,是单线程服务器(分时操作系统),线程安全。
linux中redis安装(单机版):make;
;
修改为后台启动vim redis.conf;
;(单机redis配置密码验证,修改参数 requirepass 密码;后台启动 ./redis.server ../redis.conf;带密码登录 ./redis.cli -a password)
查看进程
;
虚拟机模拟redis集群的搭建:

搭建步骤:



vim redis.conf,
复制7001,依次修改其他的端口;


登录集群:

查看节点信息:

主机用于写入,从机用作备份;
存入的数据经过CRC算法指定hash槽,指向磁盘空间位置;
添加redis单机到集群:

添加的都会是master;
重新分配存储空间:
./redis-trib.rb reshard 192.168.74.132:7001 表示重新分配7001所在的集群(注意)
添加从节点:

再给7008分配空间即可;
redis集群融入到业务中:
导包

存储到redis集群中的数据,会随机分配到其中一个redis中;
spring整合jedis:
<!-- redis连接池 -->
<bean id="poolConfig" class="redis.clients.jedis.JedisPoolConfig">
<property name="maxTotal" value="2000"></property>
<property name="maxIdle" value="20"></property>
</bean>
<!-- 创建集群对象 -->
<bean class="redis.clients.jedis.JedisCluster">
<constructor-arg name="nodes">
<set>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.66.66"></constructor-arg>
<constructor-arg name="port" value="7001"></constructor-arg>
</bean> <bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.66.66"></constructor-arg>
<constructor-arg name="port" value="7002"></constructor-arg>
</bean> <bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.66.66"></constructor-arg>
<constructor-arg name="port" value="7003"></constructor-arg>
</bean> <bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.66.66"></constructor-arg>
<constructor-arg name="port" value="7004"></constructor-arg>
</bean> <bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.66.66"></constructor-arg>
<constructor-arg name="port" value="7005"></constructor-arg>
</bean> <bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.66.66"></constructor-arg>
<constructor-arg name="port" value="7006"></constructor-arg>
</bean> <bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.66.66"></constructor-arg>
<constructor-arg name="port" value="7007"></constructor-arg>
</bean> <bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.66.66"></constructor-arg>
<constructor-arg name="port" value="7008"></constructor-arg>
</bean>
</set>
</constructor-arg>
<constructor-arg name="poolConfig" ref="poolConfig"></constructor-arg>
</bean>
通过JedisCluster的方法进行缓存的操作;
获取数据后,添加缓存:

在获取数据库数据前,先从缓存中获取:
try {
String adJson = jedisDao.hget(INDEX_CACHE, categoryId+"");
if(StringUtils.isNotBlank(adJson)){
List<AdItem> adList = JsonUtils.jsonToList(adJson, AdItem.class);
return adList;
}
} catch (Exception e) {
e.printStackTrace();
}
缓存同步:
数据添加,修改,删除方法中设置清除缓存:

redis集群配置,spring整合jedis,缓存同步的更多相关文章
- Redis集群与spring的整合
上一篇详细的赘述了Redis的curd操作及集群的搭建.下面我们开始将他整合到我们实际的项目中去.我的项目采用的是标准的ssm框架,ssm框架这里不说,直接开始整合. 首先在maven管理中将我们的j ...
- springboot和Redis集群版的整合
此篇接上一个文章springboot和Redis单机版的整合 https://www.cnblogs.com/lin530/p/12019023.html 下面接着介绍和Redis集群版的整合. 1. ...
- java操作redis集群配置[可配置密码]和工具类(比较好用)
转: java操作redis集群配置[可配置密码]和工具类 java操作redis集群配置[可配置密码]和工具类 <dependency> <groupId>red ...
- java操作redis集群配置[可配置密码]和工具类
java操作redis集群配置[可配置密码]和工具类 <dependency> <groupId>redis.clients</groupId> & ...
- Linux系统下安装Redis和Redis集群配置
Linux系统下安装Redis和Redis集群配置 一. 下载.安装.配置环境: 1.1.>官网下载地址: https://redis.io/download (本人下载的是3.2.8版本:re ...
- redis简介以及redis集群配置
简介: redis 是一个高性能的key-value数据库..它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set --有序 ...
- Redis集群配置(linux)
*弄了一天,有问题直接问我.qq:137416943 1.redis集群的配置和简单使用 Redis集群配置 0.首先要配置环境: 0.1 安装c++ yum install gcc-c++ ...
- centos6.5下redis集群配置(多机多节点)
可参考官网文档:redis集群配置 需要注意的是,集群中的每个节点都会涉及到两个端口,一个是用于处理客户端操作的(如下介绍到的6379/6380),另一个是10000+{监听端口},用于集群各个节点间 ...
- spring 使用redis集群配置
上面两篇介绍了redis集群的配置合一些基本的概念,所以接下来当然是要在项目中使用咯,redis的java支持已经做的非常好了,所以我们来试着使用这些api来进行redis的操作,首先我们需要操作re ...
随机推荐
- [转载] http长连接和短连接
转载自http://blog.csdn.net/shine0181/article/details/7799754/ HTTP实现长连接 HTTP是无状态的 也就是说,浏览器和服务器每进行一次HTTP ...
- AI 新技术革命将如何重塑就业和全球化格局?深度解读 UN 报告(上篇)
欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~ 张钦坤 腾讯研究院秘书长蔡雄山 腾讯研究院法律研究中心副主任祝林华 腾讯研究院法律研究中心助理研究员曹建峰 腾讯研究院法律研究中心高级研究员 ...
- mysql实现高可用架构之MHA
一.简介 MHA(Master HA)是一款开源的 MySQL 的高可用程序,它为 MySQL 主从复制架构提供了 automating master failover 功能.MHA 在监控到 mas ...
- [转]the service mysql57 failed the most recent status[/br]mysql57 was not found解决办法
转自:http://forums.mysql.com/read.php?169,622722,622877#msg-622877 安装完mysql5.7.12后想要stop或者restart都会出现以 ...
- Grafana+Prometheus系统监控之webhook
概述 Webhook是一个API概念,并且变得越来越流行.我们能用事件描述的事物越多,webhook的作用范围也就越大.Webhook作为一个轻量的事件处理应用,正变得越来越有用. 准确的说webho ...
- 秒表计时器以及Stopwatch
Stopwatch:秒表计时器,用来记录程序的运行时间,通常用来测试代码在时间上的执行效率.(需要引用:System.Diagnostics.) Stopwatch sw=new Stopwatch( ...
- 简单的OC程序
知识点 1.#import的用途: 1> 跟#include一样,拷贝文件的内容 2> 可以自动防止文件的内容被重复拷贝 2.#import <Foundation/NSObjCRu ...
- 爱立信开始大规模mesh网络测试
mesh网络可谓是物联网之关键,相较于传统有线技术,无线连接的mesh网络实施成本较低,而且更具有适应性和可扩展性,让高通信量的应用更加可靠. 虽然Thread和ZigBee等细分技术也能提供标准化的 ...
- python实战--数据结构二叉树
此文将讲述如何用python实战解决二叉树实验 前面已经讲述了python语言的基本用法,现在让我们实战一下具体明确python的用法 点击我进入python速成笔记 先看一下最终效果图: 首先我们要 ...
- golang关于一些新手不注意会出现的小问题
前言 最近在整理之前写程序,学习时所记录的有道云笔记,发现一些有意思的小点跟大家分享一下.如有错误请大家给指出 一.闭包 defer 闭包(匿名函数) func test(){ i, n := ,; ...