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底层用的是jedisSpringboot 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

早年同窗始相知,三载瞬逝情却萌。年少不知愁滋味,犹读红豆生南国。别离方知相思苦,心田红豆根以生。
原文地址:https://www.cnblogs.com/shanheyongmu/p/15133551.html