上一篇 <<<Redis官方提出的redlock分布式锁
下一篇 >>>Redis常见问题汇总
1、redis服务配置调整(空闲线程清理)
vim /usr/local/redis/bin/redis.conf
修改 timeout 0 为 timeout 300
2、如果redis在使用中不方便重启,在1步骤调整后,通过动态设置的方式来设置时间(1步骤为了防止redis被异常重启)
进入redis操作命令台(请设置正确的密码)
/redis/redis/bin/redis-cli -h 127.0.0.1 -p 6379 -a redis密码
config set timeout 300
3、客户端服务redis配置调优(下面三项调整为对应的最大空闲线程10,最小空闲线程5,最大活动线程100)
spring.redis.pool.maxIdle = 10
spring.redis.pool.minIdle = 5
spring.redis.pool.maxActive = 100
4、配置完步骤3后重启客户端服务
5、redis连接列表查看(输出当前连接列表到out文件):
/redis/redis/bin/redis-cli -h 127.0.0.1 -p 6379 -a redis密码 client list > /apps/out.txt
6、redis总连接数查看
进入redis操作命令台(请设置正确的密码)
/redis/redis/bin/redis-cli -h 127.0.0.1 -p 6379 -a redis密码
获取总连接数
info clients
redis配置一览表
<?xml version='1.0' encoding='UTF-8' ?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd">
<!--配置Redis连接池 -->
<bean id="poolConfig" class="redis.clients.jedis.JedisPoolConfig">
<property name="maxIdle" value="50" /> <!--最大空闲数 -->
<property name="maxTotal" value="100" /> <!--最大连接数 -->
<property name="maxWaitMillis" value="3000" /> <!--最大等待时间3s -->
</bean>
<!--jdk序列化器,可保存对象 -->
<bean id="jdkSerializationRedisSerializer"
class="org.springframework.data.redis.serializer.JdkSerializationRedisSerializer" />
<!--String序列化器 -->
<bean id="stringRedisSerializer"
class="org.springframework.data.redis.serializer.StringRedisSerializer" />
<!--哨兵配置 -->
<bean id="sentinelConfig"
class="org.springframework.data.redis.connection.RedisSentinelConfiguration">
<!--服务名称 -->
<property name="master">
<bean class="org.springframework.data.redis.connection.RedisNode">
<property name="name" value="mymaster" />
</bean>
</property>
<!--哨兵服务IP和端口 -->
<property name="sentinels">
<set>
<bean class="org.springframework.data.redis.connection.RedisNode">
<constructor-arg name="host" value="192.168.11.128" />
<constructor-arg name="port" value="26379" />
</bean>
<bean class="org.springframework.data.redis.connection.RedisNode">
<constructor-arg name="host" value="192.168.11.129" />
<constructor-arg name="port" value="26379" />
</bean>
<bean class="org.springframework.data.redis.connection.RedisNode">
<constructor-arg name="host" value="192.168.11.130" />
<constructor-arg name="port" value="26379" />
</bean>
</set>
</property>
</bean>
<!--连接池设置 -->
<bean id="connectionFactory"
class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
<constructor-arg name="sentinelConfig" ref="sentinelConfig" />
<constructor-arg name="poolConfig" ref="poolConfig" />
<property name="password" value="abcdefg" />
</bean>
<!--配置RedisTemplate -->
<bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate">
<property name="connectionFactory" ref="connectionFactory" />
<property name="keySerializer" ref="stringRedisSerializer" />
<property name="defaultSerializer" ref="stringRedisSerializer" />
<property name="valueSerializer" ref="jdkSerializationRedisSerializer" />
</bean>
</beans>
推荐阅读:
<<<分布式缓存与本地缓存的区别
<<<Ehcache基础知识
<<<SpringBoot整合Ehcache
<<<Redis的5种数据类型
<<<Redis存放实体对象的方式及区别
<<<Redis的应用场景汇总
<<<Redis高效及线程安全的真正原因
<<<Redis为啥要分为16个库
<<<RDB和AOF持久化方式的区别
<<<Redis与数据库的一致性解决方案
<<<SpringBoot整合Redis的注解版本完成数据缓存
<<<Redis的淘汰策略
<<<Redis的事务操作(Mult和Watch)知识点
<<<Redis的过期机制使用场景示例
<<<Redis实现分布式锁的原理分析
<<<Redis分布式锁的实现代码示例
<<<使用Redisson工具实现分布式锁
<<<Redis集群模式之主从复制原理及存在的缺陷
<<<Redis集群模式之哨兵模式
<<<Redis集群模式之Cluster去中心化分片集群
<<<Linux环境下安装单机Redis
<<<Redis Cluster集群环境搭建
<<<Redis Cluster如何动态扩容与缩容
<<<Redis Cluster主从节点自动切换
<<<Redis集群模式的类型和缺陷汇总
<<<Redis缓存的穿透、击穿和雪崩效应
<<<Redis解决穿透击穿问题时使用的布隆过滤器知识点
<<<Redis与MySQL的数据同步解决方案
<<<阿里云的Canal框架实现Redis与Mysql同步原理及代码示例
<<<阿里云的Canal框架配置
<<<Redis官方提出的redlock分布式锁
<<<Redis常见问题汇总