IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Springboot整合Redis和Linux安装Redis存在的问题 -> 正文阅读

[系统运维]Springboot整合Redis和Linux安装Redis存在的问题

想要使用Redis,首先就要先安装Redis,一般情况下,都是安装在Linux服务器上的。首先从官网进行下载Redis的压缩包,Redis官网点击Download按钮,之后网下滑,安装提示进行下载在这里插入图片描述在这里插入图片描述
如果不想使用官网可以进入中文网Redis中文网
在这里插入图片描述
直接下载即可,文件也就几M大小,速度很快。之后通过Xftp或者宝塔面板将Redis文件上传到Linux服务器上或者虚拟机(虚拟机只能使用Xfp,不能使用宝塔),一般上传在opt目录下,可以根据个人喜好存放,没有要求。进入到上传的文件目录,使用命令tar -zxvf redis-6.0.6.tar.gz -C /opt/ 将redis解压到opt目录,当日也可以直接解压在当前目录tar -zxvf redis-6.0.6.tar.gz,影响不大
在这里插入图片描述
之后进入解压的redis目录,输入gcc -v检查c语言需要的编译环境版本是否合格,CentOS默认的gcc版本过低,不能安装Redis,因此需要升级本版在这里插入图片描述
这里我的系统是CentOS8,默认是gcc 8版本,因此可以直接安装,如果不是,则需要进行升级gcc,可以输入yum install gcc-c++ 会自动安装,如果安装之后版本还是过低(Redis6.0需要gcc版本5.3以上),则需要进行升级,依次输入下面的命令

#升级gcc
yum -y install centos-release-scl 
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
#让文件永久生效
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile

在此输入gcc -v 版本升级成功,在Redis目录下输入make命令,由于第一次安装有点慢,当安装完成之后,在输入make install redis安装成功,拷贝一份redis.config文件到/usr/local/bin,防止自己修改文件之后出现问题无法回退 (cp redis.config /usr/local/bin/),拷贝之后输入 vim redis.config ,在输入 /daemonize ,找到之后,输入i 进行修改
在这里插入图片描述
在命令模式下输入/127
在这里插入图片描述
到这里基本配置已经完成,按下ESC按钮,输入:wq保存退出即可,进入到目录 /usr/local/bin下,输入 redis-server redis.config启动redis服务,检查一下是否启动成功,输入ps -ef|grep redis
在这里插入图片描述
到这里已经启动成功,输入redis-cli -h 127.0.0.1 -p 6379
在这里插入图片描述
默认是没有密码的,如果你是在虚拟机调试也没有必要设置密码,config set requirepass abcdefg #设置密码 abcdefg `config get requirepass #查看设置的密码``在这里插入图片描述
这里没有设置密码所有没有显示,到此redis已经按照完成。
这里还需要开启端口,否则外部计算机不能访问。

#查询端口是否开放
firewall-cmd --query-port=6379/tcp
#添加端口
firewall-cmd --add-port=6379/tcp --permanent
#重新加载
firewall-cmd --reload

如果你的电脑是云服务器,则需要自己去服务器添加防火墙规则。
接下来是Springboot整合redis:
在pom文件添加

<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-pool2</artifactId>
</dependency>

在springboot配置文件中设置(这里是yaml格式)

redis:
    host: 主机地址
    port: 6379 #redis端口,一般是6379,需要服务器开发端口
    password: 123456 #redis的访问密码,如果没有设置,可以不写
    lettuce:
      pool:
        max-idle: 3
        min-idle: 0
        max-active: 5
        max-wait: -1

编写配置类自定义RedisTemplate模板,主页用于序列化解析对象,防止服务器端乱码,也可不写。

@Configuration
public class MyRedisTemplate {

    @Bean
    public RedisTemplate<String,Object> template(RedisConnectionFactory factory){
        RedisTemplate<String,Object> template = new RedisTemplate<>();
        template.setConnectionFactory(factory);
        Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
        ObjectMapper om = new ObjectMapper();
        om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
        om.activateDefaultTyping(LaissezFaireSubTypeValidator.instance,ObjectMapper.DefaultTyping.NON_FINAL, JsonTypeInfo.As.WRAPPER_ARRAY);
        jackson2JsonRedisSerializer.setObjectMapper(om);
        StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
//        对key序列化
        template.setKeySerializer(stringRedisSerializer);
        template.setHashKeySerializer(stringRedisSerializer);
//        对value序列化
        template.setValueSerializer(jackson2JsonRedisSerializer);
        template.setHashValueSerializer(jackson2JsonRedisSerializer);
        template.afterPropertiesSet();
        return template;
    }
}

这里可以进行测试一下

//这里是单元测试
	@Autowired
    @Qualifier("template")
    private RedisTemplate template;

    @Test
    public void test1(){
        template.opsForValue().set("tel2",new SMSCode("tel", 83745),300, TimeUnit.SECONDS);//SMSCode需要实现接口 Serializable
        System.out.println(template.opsForValue().get("tel2"));
    }

到此Linux安装Redis和Springboot整合Redis完成。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-03-30 19:10:50  更:2022-03-30 19:14:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 0:02:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码