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 ...
随机推荐
- asp.net web api客户端调用
服务接口 接口1: //Post:http://127.0.0.1/HY_WebApi/api/V2/Key/FunctionTest1 [HttpPost] public HttpResponseM ...
- 很考验人的java内存加载面试题
源代码如下,求结果 public class MemoryAnalyse { public static int k = 0; public static MemoryAnalyse t1 = new ...
- Python进阶---面向对象的程序设计思想
Python的面向对象 一.面向过程与面向对象的对比 面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. 优 ...
- 转-Gitorious搭建步骤
先标记一下,后续手动验证 http://blog.csdn.net/king_sundi/article/details/7457475 安装Gitorious Git是一个分布式的版本控制系统,用于 ...
- canvas三环加载进度条
之前做了一个三个圆形叠加在一起的加载,用的是定位和cile来操作,但是加载的头部不能是圆形.后来用canvas做了一个,但是这个加载的进度不好调整,原理很简单,就是让一个圆,按照圆形轨迹进行运动就可以 ...
- 这次真的忽略了一些ActiveMQ内心的娇艳
好久没总结了,内心有点空虚了,所以今天主要给园里的朋友们分享一点儿这几天使用ActiveMQ过程中踩过的小坑,虽然说这东西简单易用,代码几行配置也就几行,问题不大但是后果有点严重,所以就要必要总结一下 ...
- Android 在通知栏实现计时功能
Notification是APP 向系统发出通知时,它将先以图标的形式显示在通知栏中.用户可以下拉通知栏查看通知的详细信息.我们可以在通知栏实现自定义的效果,也可以结合service和BroadCas ...
- C# tostring
GUID: 即Globally Unique Identifier(全球唯一标识符) 也称作 UUID(Universally Unique IDentifier) . GUID是一个通过特定算法产生 ...
- Oracle的窗口和自动任务
Oracle数据库自己会例行做一些定时任务,比如会自动进行统计信息收集等作业任务.如果统计信息收集的时间正好赶上业务的高峰期,那就有可能由此引发一系列性能故障. 那么,我们该如何查看这些数据库自动去做 ...
- Unity塔防游戏开发
Unity3D塔防开发流程 配置环境及场景搭建编程语言:C#,略懂些许设计模式,如果不了解设计模式,BUG More开发工具:Unity3D编辑器.Visual Studio编译器开发建议:了解Uni ...