Centos7安装Redis
一、Redis在Centos7上面安装步骤:
1、下载redis安装包及安装相关依赖包
1.1下载最新稳定版的redis:
wget https://github.com/antirez/redis/archive/5.0.2.tar.gz
1.2安装依赖包:
yum install -y epel-release
yum install -y gcc
2、解压及编译
2.1进入下载目录并解压:
cd /root tar -xzvf redis-5.0.2.tar.gz 2.2编译: cd redis-5.0.2 cd deps make jemalloc make hiredis make linenoise make lua cd .. make make install
3、修改配置文件
3.1打开配置文件:
cd /root/redis-5.0.2
vi redis.conf
3.2修改允许远程访问:
bind 127.0.0.1
修改为
#bind 127.0.0.1
3.3设置密码:
# requirepass foobared
修改为
requirepass password(需要设置的密码)
3.4进程在后台运行:
daemonize no
修改为
daemonize yes
3.5日志输出文件等信息:
记得提前创建文件夹
cd /var/log
mkdir redis
然后创建
logfile ""
修改为指定的日志文件
logfile "/var/log/redis/6379.log"
4、设置启动服务
4.1将第三步配置好的配置文件复制到指定目录
记得提前mkdir /etc下的redis文件夹
cp /root/redis-5.0.2/redis.conf /etc/redis/redis.conf
4.2设置启动服务脚本
简易版
[Unit] Description=redis-serverAfter=network.target [Service] Type=forkingExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf PrivateTmp=true [Install] WantedBy=multi-user.target
复杂版+启动
cat > /usr/lib/systemd/system/redis.service <<-EOF [Unit] Description=Redis 6379 After=syslog.target network.target [Service] Type=forking PrivateTmp=yes Restart=always ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf ExecStop=/usr/local/bin/redis-cli -h 127.0.0.1 -p 6379 -a jcon shutdown User=root Group=root LimitCORE=infinity LimitNOFILE=100000 LimitNPROC=100000 [Install] WantedBy=multi-user.target EOF # 使服务自动运行 systemctl daemon-reload systemctl enable redis # 启动服务 systemctl restart redis systemctl status redis
补充一些redis 知识
CollectionUtils.arrayToList(key) 报错解决
使用这个替代实时(Collection) Arrays.asList(key)
1)Springboot中使用redis操作的两种方式:lettuce和jedis,两者在进行操作时都需要序列化器来实现序列化
(推荐使用jackson2JsonRedisSerializer,相比于JDK提供的序列化器和String序列化器长度更短),
lettuce和redis都是 redis的客户端。
(2)Springboot 1.x整合Spring-data-redis底层用的是jedis,Springboot 2.x整合spring-data-redis用的是lettuce,
jedis在多线程环境下是非线程安全的,使用了jedis pool连接池,为每个Jedis实例增加物理连接。
Lettuce的连接是基于Netty的,连接实例(StatefulRedisConnection)可以在多个线程间并发访问。
所以Springboot 2.x yml里面配置redis连接信息不要出现jedis 和redisconfig.java里面 不要出现
不要出现这些
JedisPoolConfig jedisPoolConfig = new JedisPoolConfig(); // jedisPoolConfig.setMaxIdle(maxIdle); // jedisPoolConfig.setMaxWaitMillis(maxWaitMillis); // // 连接耗尽时是否阻塞, false报异常,ture阻塞直到超时, 默认true // jedisPoolConfig.setBlockWhenExhausted(blockWhenExhausted); // // 是否启用pool的jmx管理功能, 默认true // jedisPoolConfig.setJmxEnabled(true); // JedisPool jedisPool = new JedisPool(jedisPoolConfig, host, port, timeout, password); // return jedisPool;
https://zhuanlan.zhihu.com/p/141969954 比较全redisutil
https://blog.csdn.net/weixin_40623736/article/details/98097708 springboot1.x 整合redis
https://www.cnblogs.com/mzdljgz/p/14258419.html springboot2整合redis 自定义redisTemplate
https://zhuanlan.zhihu.com/p/110404537 springboot2.0整合redis 完善的KeyGenerator