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 ...
随机推荐
- (转)Ubuntu 12.04 中安装和配置 Java JDK
http://www.cnblogs.com/bluestorm/archive/2012/05/10/2493592.html 先去 Oracle下载Linux下的JDK压缩包,我下载的是jdk-7 ...
- .NET之RabbitMQ学习笔记(二)-安装
安装 1.安装erlang语言环境 因为rabbitmq是基于erlang进行开发,所以需要安装相应的依赖环境,学习中用到的erlang包下载地址:http://www.erlang.org/down ...
- 在没有DOM操作的日子里,我是怎么熬过来的(上)
前言 在我动笔写这篇文章的时候,我刚刚从我的项目中删除了最后一行JQuery代码.至于我为何要这么做,请听闰土娓娓道来.前几年我还在想,假如有一天,前端世界里不能再直接操作dom了,我该怎么办?没想到 ...
- View处理常用方法封装
处理View常用的一些方法:Drawable和Bitmap互相转换,Bitmap改变大小,dp.px互相转换,sp.px互相转换,根据Id查找Drawable,获取屏幕大小等方法. import an ...
- 多服务器操作利器 - Polysh
多台服务器下的痛苦人生 分布式架构下的系统,可以说每个服务都是分别部署在多台服务器上的,有的甚至还需要多机房,在这种架构下可以说可以很好的做到了易扩展.容灾等功能.推荐的服务部署为一服务多机器.一机器 ...
- 项目实战——企业级Zabbix监控实战(一)
项目实战--企业级Zabbix监控实战 实验一:Zabbix监控的搭建 1.实验准备 centos系统服务器3台. 一台作为监控服务器, 两台台作为被监控节点, 配置好yum源. 防火墙关闭. 各节点 ...
- Java基础回顾(3)
数组:用一种数据类型的集合 ★数组元素下标从0开始. 数组的复制.扩容: ①.System.arraycopy(源数组, 源数组的初始下标, 目标数组, 目标数 ...
- absolute和relative元素 设置百分比宽高的差异
一般元素在页面所占的空间包括:magin border padding content.以前一直以为子元素设置百分比宽高都是以父元素的content值为基准计算的.但是当子元素的position不同时 ...
- Spring Cloud Eureka Server集群Demo级搭建
将上篇随笔Spring Cloud Eureka服务Demo级搭建进行改造,改造成一个在本机的伪集群 1.修改hosts文件(windows10 hosts文件位置:C:\Windows\System ...
- php计算多个集合的笛卡尔积实例详解
笛卡尔积 笛卡尔积是指在数学中,两个集合X和Y的笛卡尔积(Cartesian product),又称直积,表示为X*Y,第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成员. 假设集合A ...